diff --git a/.eslintrc.json b/.eslintrc.json index 102c2bb9e4..4bf21d6219 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -103,6 +103,7 @@ "es-x/no-promise-all-settled": "off", "es-x/no-promise-withresolvers": "off", "es-x/no-array-prototype-findlast-findlastindex": "off", + "es-x/no-array-prototype-toreversed": "off", "no-restricted-imports": [ "error", diff --git a/.gitignore b/.gitignore index 18736ee40e..7e248177b5 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,5 @@ package-lock.json !.yarn/sdks !.yarn/versions /.idea/ + +CLAUDE.md diff --git a/package.json b/package.json index b657ce410a..e65ea708e3 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,10 @@ "start": "VITE_APP_VERSION=$(git rev-parse HEAD) vite --port 3010 --host", "start-home": "yarn lingui:prepare && VITE_APP_VERSION=$(git rev-parse HEAD) env-cmd -e development-home vite --port 3010", "start-app": "yarn lingui:prepare && VITE_APP_VERSION=$(git rev-parse HEAD) env-cmd -e development-app vite --port 3011", - "build": "VITE_APP_VERSION=$(git rev-parse HEAD) vite build", - "build:analyze": "VITE_APP_VERSION=$(git rev-parse HEAD) vite build --mode analyze", - "build-home": "VITE_APP_VERSION=$(git rev-parse HEAD) env-cmd -e production-home vite build", - "build-app": "VITE_APP_VERSION=$(git rev-parse HEAD) env-cmd -e production-app vite build", + "build": "NODE_OPTIONS='--max-old-space-size=8192' VITE_APP_VERSION=$(git rev-parse HEAD) vite build", + "build:analyze": "NODE_OPTIONS='--max-old-space-size=8192' VITE_APP_VERSION=$(git rev-parse HEAD) vite build --mode analyze", + "build-home": "NODE_OPTIONS='--max-old-space-size=8192' VITE_APP_VERSION=$(git rev-parse HEAD) env-cmd -e production-home vite build", + "build-app": "NODE_OPTIONS='--max-old-space-size=8192' VITE_APP_VERSION=$(git rev-parse HEAD) env-cmd -e production-app vite build", "test": "vitest", "test:ci": "vitest run", "lint": "node node_modules/.bin/eslint src", @@ -82,7 +82,7 @@ "react-dom": "18.2.0", "react-helmet": "6.1.0", "react-hot-toast": "2.2.0", - "react-icons": "4.3.1", + "react-icons": "5.5.0", "react-jazzicon": "1.0.4", "react-loading-skeleton": "3.3.1", "react-remove-scroll": "2.5.5", diff --git a/public/tradingview-chart.css b/public/tradingview-chart.css index 1d0f0d9af6..a9c943a5d8 100644 --- a/public/tradingview-chart.css +++ b/public/tradingview-chart.css @@ -1,5 +1,5 @@ .theme-dark:root { - --dark-blue-bg: #16182e; + --dark-blue-bg: #121421; --color-blue-600: #2d42fc; --tv-color-pane-background: var(--dark-blue-bg); --tv-color-platform-background: var(--dark-blue-bg); @@ -7,9 +7,9 @@ --tv-color-toolbar-button-text-hover: #b2b5be; --tv-color-toolbar-button-background-hover: #272942; --tv-color-toolbar-button-text-active: #ffffff; - --tv-color-toolbar-toggle-button-background-active: #3a3e5e; - --tv-color-toolbar-toggle-button-background-active-hover: #3a3e5e; - --tv-color-toolbar-button-background-expanded: var(--dark-blue-bg); + --tv-color-toolbar-toggle-button-background-active: var(--color-blue-600); + --tv-color-toolbar-toggle-button-background-active-hover: var(--color-blue-600); + --tv-color-toolbar-button-background-expanded: var(--color-blue-600); --tv-color-popup-background: #20243f; --themed-color-bg-primary: #20243f; @@ -41,6 +41,7 @@ html.theme-dark [data-role="menuitem"] { html.theme-dark .chart-page { font-family: "Relative", sans-serif; + font-variant-numeric: tabular-nums lining-nums; } html.theme-dark .chart-controls-bar { @@ -71,14 +72,6 @@ html.theme-dark .chart-controls-bar { --tv-color-pane-background: var(--tv-color-toolbar-toggle-button-background-active); --themed-color-arrow-stroke: var(--dark-blue-bg); } - -[data-name="toolbar-drawing-toggle-button"][data-value="collapsed"]:hover, -[data-name="toolbar-drawing-toggle-button"][data-value="visible"]:hover { - --tv-color-toolbar-toggle-button-background-active-hover: #464a6e; - --tv-color-platform-background: #464a6e; - --tv-color-pane-background: #464a6e; -} - /* Hide tooltip tail */ html.theme-dark .common-tooltip__ear-holder-EJBD96zX:after { display: none; diff --git a/sdk/src/prebuilt/hashedKinkModelMarketRatesKeys.json b/sdk/src/prebuilt/hashedKinkModelMarketRatesKeys.json index 8273eeb12c..daf65dd31d 100644 --- a/sdk/src/prebuilt/hashedKinkModelMarketRatesKeys.json +++ b/sdk/src/prebuilt/hashedKinkModelMarketRatesKeys.json @@ -1031,4 +1031,4 @@ "aboveOptimalUsageBorrowingFactorShort": "0x1ecf10a4f1f28b4e3c1f1fae6af7ea5a7e93d90844720b89b38509945c507896" } } -} \ No newline at end of file +} diff --git a/sdk/src/prebuilt/hashedMarketConfigKeys.json b/sdk/src/prebuilt/hashedMarketConfigKeys.json index 2493f46ced..9fcf857767 100644 --- a/sdk/src/prebuilt/hashedMarketConfigKeys.json +++ b/sdk/src/prebuilt/hashedMarketConfigKeys.json @@ -6535,4 +6535,4 @@ "virtualShortTokenId": "0xb315f0a55a09b93c77ef9d370a2278b19027c88ccc7afd8b899b98bb033ffed6" } } -} \ No newline at end of file +} diff --git a/sdk/src/prebuilt/hashedMarketValuesKeys.json b/sdk/src/prebuilt/hashedMarketValuesKeys.json index 328c58dfb6..b1dd7923f3 100644 --- a/sdk/src/prebuilt/hashedMarketValuesKeys.json +++ b/sdk/src/prebuilt/hashedMarketValuesKeys.json @@ -1927,4 +1927,4 @@ "shortInterestInTokensUsingShortToken": "0x459afc07ae83faa216fe9bcbbb75a032a0557d866842476547540f230077ab76" } } -} \ No newline at end of file +} diff --git a/src/App/App.scss b/src/App/App.scss index 97b8c043e7..f4869b8107 100644 --- a/src/App/App.scss +++ b/src/App/App.scss @@ -4,6 +4,12 @@ $app-card-padding: 1.5rem; position: relative; min-height: 100%; font-size: var(--font-size-body-medium); + height: 100%; + font-variant-numeric: tabular-nums lining-nums; +} + +.App-content { + height: 100%; } .App-content header { @@ -99,8 +105,8 @@ $app-card-padding: 1.5rem; .App-box-highlight, .App-box-solid { position: relative; - border-radius: 0.4rem; - background: var(--color-slate-800); + border-radius: 8px; + background: var(--color-slate-900); font-size: var(--font-size-body-medium); } @@ -129,9 +135,9 @@ $app-card-padding: 1.5rem; } .App-card-divider-vertical { - width: 1px; + width: 0.5px; height: 8.8rem; - background: var(--color-slate-100); + background: var(--color-slate-600); } .App-card-title-block { @@ -183,7 +189,7 @@ $app-card-padding: 1.5rem; background: var(--dark-blue); height: 5.1rem; width: 26.35rem; - border: 1px solid var(--color-stroke-primary); + border: 0.5px solid var(--color-slate-600); border-radius: 0.3rem; position: relative; color: var(--color-white); @@ -248,7 +254,7 @@ button.App-connect-wallet:hover { } .App-header-user-address { - border: 1px solid var(--color-stroke-primary); + border: 0.5px solid var(--color-slate-600); height: 3.6rem; border-radius: 0.4rem; display: inline-flex; @@ -259,12 +265,12 @@ button.App-connect-wallet:hover { .mobile-menu-divider { height: 1px; - background: var(--color-slate-500); + background: var(--color-slate-100); } .App-card-divider { - height: 1px; - background: var(--color-slate-700); + height: 0.5px; + background: var(--color-slate-600); margin: 1.05rem -1.5rem; &:last-child { @@ -422,8 +428,8 @@ button.App-connect-wallet:hover { .App-card-title { font-size: var(--font-size-body-large); - font-weight: normal; - letter-spacing: 0px; + font-weight: 500; + letter-spacing: -0.012em; color: var(--color-white); margin-bottom: $app-card-padding; display: flex; @@ -435,15 +441,6 @@ button.App-connect-wallet:hover { justify-content: start; } -.Position-card-title::after { - content: ""; - position: absolute; - left: -$app-card-padding; - top: -$app-card-padding; - bottom: -$app-card-padding; - right: -$app-card-padding; -} - .App-card-title-small { font-size: var(--font-size-body-medium); display: inline-flex; @@ -827,39 +824,45 @@ button.App-button { max-width: 46.5rem; } +.Toastify__toast { + border-radius: 8px; + box-shadow: 0px 8px 40px -8px #090a1466; +} + .Toastify__toast--error { - background: #333957; - color: var(--color-white); - border-radius: 0.6rem; + background: var(--color-red-900); + color: var(--color-red-100); + border-bottom: 2px solid var(--color-red-500); .link-underline { color: var(--color-white) !important; } + + & .Toastify__close-button { + color: var(--color-red-500); + } } .Toastify__toast--success { - background: transparent linear-gradient(90deg, #19836c 0%, #177c66 100%) 0% 0% no-repeat padding-box; - color: var(--color-white); - box-shadow: 0px 0.3rem 0.6rem #0000005c; - border-radius: 0.4rem; + background: var(--color-green-900); + color: var(--color-green-100); + border-bottom: 2px solid var(--color-green-500); - .link-underline { - color: var(--color-white) !important; + & .Toastify__close-button { + color: var(--color-green-500); } } .Toastify__toast--default { - background: linear-gradient(90deg, #0b0b0f 0%, rgba(10, 13, 28, 1) 100%); - color: var(--color-white); - border-radius: 0.6rem; -} + background: var(--color-cold-blue-900); + color: var(--color-blue-100); -.Toastify__toast--default .Toastify__close-button { - color: var(--color-white); + & .Toastify__close-button { + color: var(--color-blue-300); + } } -.Toastify__toast--default .Toastify__close-button:hover { - color: var(--color-white); +.Toastify__toast .Toastify__close-button:hover { background: transparent; } @@ -1166,12 +1169,6 @@ button.App-button { } } -@media (max-width: 600px) { - .page-layout { - padding-top: 2.5rem; - } -} - @media (max-width: 600px) { .App-header-link-main img.big { display: none; diff --git a/src/App/AppRoutes.tsx b/src/App/AppRoutes.tsx index d116d2b4b3..df0d72c6c6 100644 --- a/src/App/AppRoutes.tsx +++ b/src/App/AppRoutes.tsx @@ -139,16 +139,19 @@ export function AppRoutes() { return ( <> -
-
-
- {isHome && } - {!isHome && } -
+
+ {isHome ? ( +
+
+ +
+ ) : ( + + )}
p { diff --git a/src/components/AddressDropdown/AddressDropdown.tsx b/src/components/AddressDropdown/AddressDropdown.tsx index 3bd399abf4..1b0f783b40 100644 --- a/src/components/AddressDropdown/AddressDropdown.tsx +++ b/src/components/AddressDropdown/AddressDropdown.tsx @@ -1,11 +1,11 @@ import { Menu } from "@headlessui/react"; import { Trans, t } from "@lingui/macro"; -import { FaChevronDown } from "react-icons/fa"; import { Link } from "react-router-dom"; -import { createBreakpoint, useCopyToClipboard } from "react-use"; +import { useCopyToClipboard } from "react-use"; import type { Address } from "viem"; import { BOTANIX } from "config/chains"; +import { useBreakpoints } from "lib/breakpoints"; import { useChainId } from "lib/chains"; import { helperToast } from "lib/helperToast"; import { useENS } from "lib/legacy"; @@ -16,13 +16,14 @@ import { shortenAddressOrEns } from "lib/wallets"; import { buildAccountDashboardUrl } from "pages/AccountDashboard/buildAccountDashboardUrl"; import { Avatar } from "components/Avatar/Avatar"; +import Button from "components/Button/Button"; import ExternalLink from "components/ExternalLink/ExternalLink"; import BellIcon from "img/bell.svg?react"; -import copy from "img/ic_copy_20.svg"; -import externalLink from "img/ic_new_link_20.svg"; +import CopyIcon from "img/ic_copy_20.svg?react"; +import ExternalLinkIcon from "img/ic_new_link_20.svg?react"; import PnlAnalysisIcon from "img/ic_pnl_analysis_20.svg?react"; -import disconnect from "img/ic_sign_out_20.svg"; +import DisconnectIcon from "img/ic_sign_out_20.svg?react"; import "./AddressDropdown.scss"; @@ -32,94 +33,95 @@ type Props = { disconnectAccountAndCloseSettings: () => void; }; -const useBreakpoint = createBreakpoint({ L: 600, M: 550, S: 400 }); - function AddressDropdown({ account, accountUrl, disconnectAccountAndCloseSettings }: Props) { - const breakpoint = useBreakpoint(); const [, copyToClipboard] = useCopyToClipboard(); const { openNotifyModal } = useNotifyModalState(); const { ensName } = useENS(account); - const displayAddressLength = breakpoint === "S" ? 9 : 13; + const displayAddressLength = 12; const { chainId } = useChainId(); const isBotanix = chainId === BOTANIX; + const { isMobile } = useBreakpoints(); + return ( - - - - -
- - -
{ - copyToClipboard(account); - helperToast.success(t`Address copied to your clipboard`); - }} - > - Copy user address -

- Copy Address -

-
-
- - - -

- PnL Analysis -

- -
- - - Open address in explorer -

- View in Explorer -

-
-
- {!isBotanix ? ( +
+ + + + +
+ -
- +
{ + copyToClipboard(account); + helperToast.success(t`Address copied to your clipboard`); + }} + > +

- Alerts + Copy Address

- ) : null} - -
{ - userAnalytics.pushEvent({ - event: "ConnectWalletAction", - data: { - action: "Disconnect", - }, - }); + + + +

+ PnL Analysis +

+ +
+ + + +

+ View in Explorer +

+
+
+ {!isBotanix ? ( + +
+ +

+ Alerts +

+
+
+ ) : null} + +
{ + userAnalytics.pushEvent({ + event: "ConnectWalletAction", + data: { + action: "Disconnect", + }, + }); - disconnectAccountAndCloseSettings(); - }} - > - Disconnect the wallet -

- Disconnect -

-
-
- -
-
+ disconnectAccountAndCloseSettings(); + }} + > + +

+ Disconnect +

+
+ +
+
+
+
); } diff --git a/src/components/AddressView/AddressView.tsx b/src/components/AddressView/AddressView.tsx index 6346f6c021..2999777487 100644 --- a/src/components/AddressView/AddressView.tsx +++ b/src/components/AddressView/AddressView.tsx @@ -1,4 +1,4 @@ -import { t } from "@lingui/macro"; +import { Trans } from "@lingui/macro"; import cx from "classnames"; import { useMemo } from "react"; import Jazzicon, { jsNumberForAddress } from "react-jazzicon"; @@ -40,16 +40,20 @@ export default function AddressView({ const trader = useMemo(() => { let trader; - if (account === address) { - return t`You`; - } - if (strLength) { trader = (ensName ? "" : "0x") + shortenAddress(ensName || address.replace(/^0x/, ""), strLength, 0); } else { trader = ensName || address; } + if (account === address) { + return ( + + You {trader} + + ); + } + return trader; }, [account, address, ensName, strLength]); diff --git a/src/components/AlertInfo/AlertInfoCard.tsx b/src/components/AlertInfo/AlertInfoCard.tsx index 4554c022c9..e43d25ad2c 100644 --- a/src/components/AlertInfo/AlertInfoCard.tsx +++ b/src/components/AlertInfo/AlertInfoCard.tsx @@ -1,6 +1,6 @@ -import cx from "classnames"; import { ReactNode, useCallback, useState } from "react"; -import { MdClose } from "react-icons/md"; + +import { ColorfulBanner, ColorfulButtonLink } from "components/ColorfulBanner/ColorfulBanner"; import InfoIconComponent from "img/ic_info.svg?react"; import WarnIconComponent from "img/ic_warn.svg?react"; @@ -31,26 +31,26 @@ export function AlertInfoCard({ children, type = "info", onClose, className }: P } return ( -
-
- -
-
{children}
- - {onClose && } -
+ + {children} + + ); +} + +export function AlertInfoButtonLink({ + children, + to, + onClick, + type = "info", +}: { + children: React.ReactNode; + to?: string; + onClick?: () => void; + type?: "info" | "warning"; +}) { + return ( + + {children} + ); } diff --git a/src/components/AmountWithUsd/AmountWithUsd.tsx b/src/components/AmountWithUsd/AmountWithUsd.tsx index 1519fefab7..118f552b97 100644 --- a/src/components/AmountWithUsd/AmountWithUsd.tsx +++ b/src/components/AmountWithUsd/AmountWithUsd.tsx @@ -10,6 +10,7 @@ export function AmountWithUsdHuman({ symbol, multiline = false, usdOnTop = false, + className, }: { amount: bigint | undefined; decimals: number | undefined; @@ -17,6 +18,7 @@ export function AmountWithUsdHuman({ symbol?: string; multiline?: boolean; usdOnTop?: boolean; + className?: string; }) { if (amount === undefined || usd === undefined || decimals === undefined) { return "..."; @@ -34,9 +36,11 @@ export function AmountWithUsdHuman({ return ( - {topValue} + {topValue} {multiline &&
} - + ({bottomValue}) @@ -75,9 +79,11 @@ export function AmountWithUsdBalance({ return ( - {topValue} + {topValue} {multiline &&
} - + ({bottomValue}) diff --git a/src/components/AppCard/AppCard.tsx b/src/components/AppCard/AppCard.tsx new file mode 100644 index 0000000000..0483ad6b44 --- /dev/null +++ b/src/components/AppCard/AppCard.tsx @@ -0,0 +1,50 @@ +import cx from "classnames"; +import { forwardRef } from "react"; + +export const AppCard = forwardRef( + ({ children, dataQa }, ref) => { + return ( +
+ {children} +
+ ); + } +); + +export function AppCardSection({ + children, + className, + onClick, +}: { + children: React.ReactNode; + className?: string; + onClick?: () => void; +}) { + return ( +
+ {children} +
+ ); +} + +export const AppCardSplit = ({ + right, + left, + className, + leftClassName, +}: { + right: React.ReactNode; + left: React.ReactNode; + leftClassName?: string; + className?: string; +}) => { + return ( +
+
{left}
+
{right}
+
+ ); +}; diff --git a/src/components/AppHeader/AppHeader.tsx b/src/components/AppHeader/AppHeader.tsx new file mode 100644 index 0000000000..ff5895c253 --- /dev/null +++ b/src/components/AppHeader/AppHeader.tsx @@ -0,0 +1,51 @@ +import { useDisconnect } from "wagmi"; + +import { CURRENT_PROVIDER_LOCALSTORAGE_KEY } from "config/localStorage"; +import { SHOULD_EAGER_CONNECT_LOCALSTORAGE_KEY } from "config/localStorage"; +import { useSettings } from "context/SettingsContext/SettingsContextProvider"; + +import { MobileSideNav } from "components/SideNav/MobileSideNav"; + +import { AppHeaderLogo } from "./AppHeaderLogo"; +import { AppHeaderUser } from "./AppHeaderUser"; + +type Props = { + leftContent?: React.ReactNode; +}; + +export function AppHeader({ leftContent }: Props) { + const { disconnect } = useDisconnect(); + const { setIsSettingsVisible } = useSettings(); + + const disconnectAccountAndCloseSettings = () => { + disconnect(); + localStorage.removeItem(SHOULD_EAGER_CONNECT_LOCALSTORAGE_KEY); + localStorage.removeItem(CURRENT_PROVIDER_LOCALSTORAGE_KEY); + setIsSettingsVisible(false); + }; + + const openSettings = () => { + setIsSettingsVisible(true); + }; + + return ( +
+
{leftContent ? leftContent : }
+ +
+ + +
+ } + /> + +
+ ); +} diff --git a/src/components/AppHeader/AppHeaderLogo.tsx b/src/components/AppHeader/AppHeaderLogo.tsx new file mode 100644 index 0000000000..b029bcc714 --- /dev/null +++ b/src/components/AppHeader/AppHeaderLogo.tsx @@ -0,0 +1,13 @@ +import ButtonLink from "components/Button/ButtonLink"; + +import logoImg from "img/logo_GMX.svg"; +import logoSmallImg from "img/logo_GMX_small.svg"; + +export function AppHeaderLogo() { + return ( + + GMX Logo + GMX Logo + + ); +} diff --git a/src/components/AppHeader/AppHeaderUser.tsx b/src/components/AppHeader/AppHeaderUser.tsx new file mode 100644 index 0000000000..221139df1c --- /dev/null +++ b/src/components/AppHeader/AppHeaderUser.tsx @@ -0,0 +1,97 @@ +import { Trans } from "@lingui/macro"; +import { useConnectModal } from "@rainbow-me/rainbowkit"; + +import { ARBITRUM, AVALANCHE, AVALANCHE_FUJI, getChainName } from "config/chains"; +import { isDevelopment } from "config/env"; +import { getIcon } from "config/icons"; +import { useChainId } from "lib/chains"; +import { getAccountUrl } from "lib/legacy"; +import { sendUserAnalyticsConnectWalletClickEvent } from "lib/userAnalytics"; +import useWallet from "lib/wallets/useWallet"; + +import { OneClickButton } from "components/OneClickButton/OneClickButton"; + +import AddressDropdown from "../AddressDropdown/AddressDropdown"; +import ConnectWalletButton from "../Common/ConnectWalletButton"; +import NetworkDropdown from "../NetworkDropdown/NetworkDropdown"; + +type Props = { + openSettings: () => void; + disconnectAccountAndCloseSettings: () => void; + menuToggle?: React.ReactNode; +}; + +const NETWORK_OPTIONS = [ + { + label: getChainName(ARBITRUM), + value: ARBITRUM, + icon: getIcon(ARBITRUM, "network"), + color: "#264f79", + }, + { + label: getChainName(AVALANCHE), + value: AVALANCHE, + icon: getIcon(AVALANCHE, "network"), + color: "#E841424D", + }, +]; + +if (isDevelopment()) { + NETWORK_OPTIONS.push({ + label: getChainName(AVALANCHE_FUJI), + value: AVALANCHE_FUJI, + icon: getIcon(AVALANCHE_FUJI, "network"), + color: "#E841424D", + }); +} + +export function AppHeaderUser({ openSettings, disconnectAccountAndCloseSettings, menuToggle }: Props) { + const { chainId } = useChainId(); + const { active, account } = useWallet(); + const { openConnectModal } = useConnectModal(); + + const selectorLabel = getChainName(chainId); + + if (!active || !account) { + return ( +
+ {openConnectModal ? ( + <> + { + sendUserAnalyticsConnectWalletClickEvent("Header"); + openConnectModal(); + }} + > + Connect Wallet + + + + {menuToggle ? menuToggle : null} + + ) : null} +
+ ); + } + + const accountUrl = getAccountUrl(chainId, account); + + return ( +
+
+ +
+ + + {menuToggle ? menuToggle : null} +
+ ); +} diff --git a/src/components/AppPageLayout/AppPageLayout.tsx b/src/components/AppPageLayout/AppPageLayout.tsx new file mode 100644 index 0000000000..d688ff111e --- /dev/null +++ b/src/components/AppPageLayout/AppPageLayout.tsx @@ -0,0 +1,32 @@ +import cx from "classnames"; + +import { AppHeader } from "components/AppHeader/AppHeader"; +import Footer from "components/Footer/Footer"; +import SideNav from "components/SideNav/SideNav"; + +export default function AppPageLayout({ + children, + header, + className, + sideNav, +}: { + children: React.ReactNode; + header?: React.ReactNode; + className?: string; + sideNav?: React.ReactNode; +}) { + return ( +
+
{sideNav ? sideNav : }
+
+
+ {header ? header : } +
{children}
+
+
+
+
+
+
+ ); +} diff --git a/src/components/AprInfo/AprInfo.tsx b/src/components/AprInfo/AprInfo.tsx index ff5994b043..66373b6c32 100644 --- a/src/components/AprInfo/AprInfo.tsx +++ b/src/components/AprInfo/AprInfo.tsx @@ -1,4 +1,5 @@ import { Trans, t } from "@lingui/macro"; +import cx from "classnames"; import { useCallback, useMemo } from "react"; import { getIncentivesV2Url } from "config/links"; @@ -21,12 +22,14 @@ export function AprInfo({ lidoApr, showTooltip = true, marketAddress, + className, }: { apy: bigint | undefined; incentiveApr: bigint | undefined; lidoApr: bigint | undefined; showTooltip?: boolean; marketAddress: string; + className?: string; }) { const { chainId } = useChainId(); @@ -43,15 +46,23 @@ export function AprInfo({ return (
- + {`${formatAmount(apy, 28, 2)}%`}} + /> {isIncentiveActive && ( - + {`${formatAmount(incentiveApr, 28, 2)}%`}} + /> )} {isLidoApr && ( {`${formatAmount(lidoApr, LIDO_APR_DECIMALS, 2)}%`}} /> )}
@@ -72,7 +83,11 @@ export function AprInfo({ const aprNode = useMemo(() => { const isIncentiveApr = incentiveApr !== undefined && incentiveApr > 0; - const node = <>{apy !== undefined ? `${formatAmount(totalApr, 28, 2)}%` : "..."}; + const node = ( + <> + {apy !== undefined ? {formatAmount(totalApr, 28, 2)}% : "..."} + + ); if (isIncentiveApr) { return ( @@ -84,7 +99,7 @@ export function AprInfo({ } else { return node; } - }, [apy, incentiveApr, totalApr]); + }, [apy, className, incentiveApr, totalApr]); return showTooltip && (isIncentiveActive || isLidoApr) ? ( + {value} + {indicator ? ( +
+ ) : null} +
+ ); +} diff --git a/src/components/Breadcrumbs/Breadcrumbs.tsx b/src/components/Breadcrumbs/Breadcrumbs.tsx new file mode 100644 index 0000000000..bfb8c7bdd2 --- /dev/null +++ b/src/components/Breadcrumbs/Breadcrumbs.tsx @@ -0,0 +1,62 @@ +import cx from "classnames"; +import { ReactNode } from "react"; +import { FaChevronLeft } from "react-icons/fa6"; +import { Link } from "react-router-dom"; + +import { useBreakpoints } from "lib/breakpoints"; + +export type BreadcrumbsProps = { + children: ReactNode; + className?: string; +}; + +export function Breadcrumbs({ children, className }: BreadcrumbsProps) { + return ; +} + +export type BreadcrumbItemProps = { + to?: string; + children: ReactNode; + back?: boolean; + active?: boolean; + onClick?: () => void; + className?: string; +}; + +export function BreadcrumbItem({ to: href, children, back, active, onClick, className }: BreadcrumbItemProps) { + const { isMobile, isTablet } = useBreakpoints(); + + if (!back && isTablet) { + return null; + } + + const content = ( + + ); + + if (!active && href) { + return ( + + {content} + + ); + } + + return content; +} diff --git a/src/components/Button/Button.scss b/src/components/Button/Button.scss index c67c2286ad..c92f51e7e3 100644 --- a/src/components/Button/Button.scss +++ b/src/components/Button/Button.scss @@ -1,13 +1,17 @@ +$button-primary-hover: linear-gradient(0deg, #090a141a, #090a141a), + linear-gradient(0deg, var(--color-blue-400), var(--color-blue-400)); +$button-primary-pressed: linear-gradient(0deg, #090a1433, #090a1433), + linear-gradient(0deg, var(--color-blue-400), var(--color-blue-400)); + .button { cursor: pointer; - font-size: var(--font-size-body-medium); - line-height: var(--line-height-body-medium); + line-height: 1.25; display: inline-flex; align-items: center; - font-weight: normal; - padding: 1.1rem 1.6rem; + font-weight: 500; border: none; user-select: none; + min-height: 32px; &.center { justify-content: center; @@ -24,41 +28,36 @@ &.primary { background: var(--primary-btn-bg); color: var(--color-white); - border-radius: 0.3rem; - padding: 1.65rem 1.6rem; + border-radius: 8px; &:not([disabled]):hover { - background: var(--primary-btn-hover); + background: $button-primary-hover; } &:not([disabled]):active { - background-color: var(--primary-btn-active); + background: $button-primary-pressed; } } &.primary-action { background: var(--primary-btn-bg); color: var(--color-white); - border-radius: 0.3rem; - padding: 1.65rem 1.6rem; + border-radius: 8px; + min-height: 40px; &:not([disabled], .disabled):hover { - background: var(--primary-btn-hover); - box-shadow: 0 0 0.4rem 0.5rem color-mix(in srgb, var(--color-blue-600) 10%, transparent); + background: $button-primary-hover; } &:not([disabled], .disabled):active { - background-color: var(--primary-btn-active); - box-shadow: 0 0 0.4rem 0.6rem color-mix(in srgb, var(--color-blue-600) 10%, transparent); + background: $button-primary-pressed; } } &.secondary { - background-color: var(--color-slate-700); - border-radius: var(--border-radius-sm); - color: var(--color-white); - padding: 1.1rem 1.25rem; - font-weight: normal; + background-color: var(--color-slate-800); + border-radius: 8px; + color: var(--color-slate-100); position: relative; letter-spacing: 0; @@ -79,20 +78,20 @@ } &:not([disabled], .disabled):hover { - background-color: var(--color-cold-blue-700); + background-color: var(--color-fill-surfaceHover); + color: var(--color-white); } &:not([disabled], .disabled):active { - background: var(--color-cold-blue-500); + background: var(--color-slate-800); + color: var(--color-white); } } &.ghost { background-color: transparent; - border-radius: var(--border-radius-sm); - color: var(--color-white); - padding: 1.1rem 1.25rem; - font-weight: normal; + border-radius: 8px; + color: var(--color-slate-100); position: relative; letter-spacing: 0; @@ -113,11 +112,13 @@ } &:not([disabled], .disabled):hover { - background-color: var(--color-cold-blue-700); + color: var(--color-white); + background-color: var(--color-fill-surfaceHover); } &:not([disabled], .disabled):active { - background: var(--color-cold-blue-500); + color: var(--color-white); + background: var(--color-slate-800); } } @@ -139,19 +140,19 @@ &:disabled { box-shadow: none; cursor: not-allowed; + color: var(--color-slate-600); &.primary-action, &.primary { - background-color: #1d235f; + background-color: var(--color-slate-800); } &.secondary { background-color: #1b1e32; - color: var(--color-slate-500); } } &.slim { - padding: 6px 10px; + padding: 8px 12px; } } diff --git a/src/components/Button/Button.tsx b/src/components/Button/Button.tsx index e29e80863d..f24963d77b 100644 --- a/src/components/Button/Button.tsx +++ b/src/components/Button/Button.tsx @@ -7,7 +7,7 @@ import "./Button.scss"; type ButtonVariant = "primary" | "primary-action" | "secondary" | "link" | "ghost"; -type ButtonProps = HTMLProps & { +type ButtonProps = Omit, "size"> & { children: ReactNode; variant: ButtonVariant; className?: string; @@ -22,7 +22,7 @@ type ButtonProps = HTMLProps & { newTab?: boolean; showExternalLinkArrow?: boolean; buttonRef?: RefObject; - slim?: boolean; + size?: "small" | "medium"; qa?: string; }; @@ -41,11 +41,16 @@ export default function Button({ newTab, buttonRef, showExternalLinkArrow: showExternalLinkArrowOverride, - slim, + size = "medium", qa, ...rest }: ButtonProps) { - const classNames = cx("button", variant, className, textAlign, { slim }); + const classNames = cx("button", variant, className, textAlign, { + "px-24 py-18 text-16": variant === "primary-action", + "px-12 py-8 text-[13px] max-md:px-10 max-md:py-6": variant !== "primary-action", + "min-h-32 gap-4 px-12 py-8 text-[13px]": size === "small", + "min-h-40 gap-6": size === "medium", + }); const showExternalLinkArrow = showExternalLinkArrowOverride ?? variant === "secondary"; const img = useMemo(() => { diff --git a/src/components/BuyInputSection/BuyInputSection.scss b/src/components/BuyInputSection/BuyInputSection.scss index ba3aa10443..2412622fc8 100644 --- a/src/components/BuyInputSection/BuyInputSection.scss +++ b/src/components/BuyInputSection/BuyInputSection.scss @@ -71,7 +71,7 @@ font-size: 1.4rem; &:hover { - background: var(--color-slate-500); + background: var(--color-slate-100); } } } diff --git a/src/components/BuyInputSection/BuyInputSection.tsx b/src/components/BuyInputSection/BuyInputSection.tsx index 463703fa56..d4ee2d8df4 100644 --- a/src/components/BuyInputSection/BuyInputSection.tsx +++ b/src/components/BuyInputSection/BuyInputSection.tsx @@ -147,11 +147,11 @@ export default function BuyInputSection(props: Props) {
{topRightLabel && {topRightLabel}:} - {topRightValue && {topRightValue}} - {onClickMax && maxButtonPosition === "top-right" && ( - - )} + {topRightValue && {topRightValue}} + {onClickMax && maxButtonPosition === "top-right" && }
)}
@@ -198,7 +189,6 @@ export default function BuyInputSection(props: Props) { qa={qa ? qa + "-input" : undefined} isDisabled={isDisabled} /> -
{showPercentSelector && isPercentSelectorVisible && onPercentChange && (
    @@ -225,7 +215,7 @@ export default function BuyInputSection(props: Props) { {(bottomLeftValue || bottomRightValue || (onClickMax && maxButtonPosition === "bottom-right")) && (
    {bottomRightLabel && {bottomRightLabel}:} - {bottomRightValue && {bottomRightValue}} + {bottomRightValue && {bottomRightValue}} - {onClickMax && maxButtonPosition === "bottom-right" && ( - - )} + {onClickMax && maxButtonPosition === "bottom-right" && }
    )} @@ -259,3 +240,16 @@ export default function BuyInputSection(props: Props) {
); } + +const MaxButton = ({ onClick }: { onClick: (e: React.MouseEvent) => void }) => { + return ( + + ); +}; diff --git a/src/components/ChainDataImage.tsx b/src/components/ChainDataImage.tsx new file mode 100644 index 0000000000..38ce8ff93f --- /dev/null +++ b/src/components/ChainDataImage.tsx @@ -0,0 +1,19 @@ +import { CHAIN_NAMES_MAP } from "config/chains"; +import { getIcon } from "config/icons"; +import { useChainId } from "lib/chains"; + +export function ChainDataImage() { + const { chainId } = useChainId(); + const chainName = CHAIN_NAMES_MAP[chainId]; + const chainIcon = getIcon(chainId, "network"); + + return ( +
+ {chainIcon && {chainName}} + {chainName} Data +
+ ); +} diff --git a/src/components/Checkbox/Checkbox.css b/src/components/Checkbox/Checkbox.css deleted file mode 100644 index bd638153b0..0000000000 --- a/src/components/Checkbox/Checkbox.css +++ /dev/null @@ -1,59 +0,0 @@ -.Checkbox { - cursor: pointer; - display: flex; - align-items: center; -} - -@media (pointer: coarse) { - .Checkbox { - user-select: none; - } -} - -.Checkbox.disabled { - cursor: default; - pointer-events: none; -} - -.Checkbox-icon-wrapper { - display: inline-flex; - align-items: center; -} - -.Checkbox .Checkbox-icon { - font-size: 1.25rem; - color: var(--color-blue-500); - margin-right: 0.62rem; - margin-bottom: 0; -} - -.Checkbox.noLabel .Checkbox-icon, -.Checkbox.fullRow .Checkbox-icon { - margin-right: 0; -} - -.Checkbox.disabled .Checkbox-icon { - color: #47509e; -} - -.Checkbox-icon.inactive { - color: var(--color-gray-300); -} - -.Checkbox-label { - display: inline-block; - vertical-align: middle; - font-size: var(--font-size-body-medium); - line-height: var(--line-height-body-medium); - text-align: left; - flex: 1; -} - -.Checkbox.fullRow { - width: 100%; - display: flex; - grid-template-columns: 1fr auto; - flex-direction: row-reverse; - font-size: var(--font-size-body-small); - margin-bottom: 0.465rem; -} diff --git a/src/components/Checkbox/Checkbox.tsx b/src/components/Checkbox/Checkbox.tsx index a4fcf19184..85054842c6 100644 --- a/src/components/Checkbox/Checkbox.tsx +++ b/src/components/Checkbox/Checkbox.tsx @@ -1,10 +1,7 @@ import cx from "classnames"; -import React, { ReactNode } from "react"; -import { ImCheckboxUnchecked, ImCheckboxChecked } from "react-icons/im"; - -import PartialCheckedIcon from "img/ic_partial_checked.svg?react"; - -import "./Checkbox.css"; +import { ReactNode } from "react"; +import { BsCheck } from "react-icons/bs"; +import { TiMinus } from "react-icons/ti"; type Props = { isChecked?: boolean; @@ -21,20 +18,32 @@ export default function Checkbox(props: Props) { const { isChecked, setIsChecked, disabled, className, asRow, isPartialChecked } = props; return ( -
{ setIsChecked?.(!isChecked); event.stopPropagation(); }} data-qa={props.qa} > - - {isPartialChecked && } - {isChecked && !isPartialChecked && } - {!isChecked && !isPartialChecked && } + + {isChecked && !isPartialChecked && } + {isPartialChecked && } - {props.children && {props.children}} -
+ {props.children && props.children} + ); } diff --git a/src/components/ColorfulBanner/ColorfulBanner.tsx b/src/components/ColorfulBanner/ColorfulBanner.tsx index 57f55b4fd4..75ccff6804 100644 --- a/src/components/ColorfulBanner/ColorfulBanner.tsx +++ b/src/components/ColorfulBanner/ColorfulBanner.tsx @@ -2,36 +2,42 @@ import cx from "classnames"; import { useCallback } from "react"; import { IoMdClose } from "react-icons/io"; +import ButtonLink from "components/Button/ButtonLink"; + const colorSchemas = { green: { border: "border-l-green-700", bg: "bg-green-600", + icon: "text-green-600", }, red: { border: "border-l-red-700", bg: "bg-red-600", + icon: "text-red-600", }, blue: { - border: "border-l-blue-600", - bg: "bg-cold-blue-700", + border: "border-l-blue-300", + icon: "text-blue-300", + bg: "bg-blue-300 bg-opacity-20", }, - slate: { - border: "border-l-slate-100", - bg: "bg-slate-600", + yellow: { + border: "border-l-yellow-300", + icon: "text-yellow-300", + bg: "bg-yellow-300 bg-opacity-20", }, }; export function ColorfulBanner({ children, - icon, + icon: Icon, onClose, onClick, withBorder = true, className, - color = "slate", + color = "blue", }: { children: React.ReactNode; - icon?: React.ReactNode; + icon?: React.FunctionComponent>; withBorder?: boolean; color?: keyof typeof colorSchemas; onClose?: () => void; @@ -49,26 +55,38 @@ export function ColorfulBanner({ return (
- {icon && ( -
-
{icon}
-
- )} -
{children}
+
+ {Icon && ( +
+ +
+ )} +
{children}
+
{onClose && ( -
-
)}
); } + +export const ColorfulButtonLink = ({ children, to, onClick, color = "blue" }: { children: React.ReactNode; to?: string; onClick?: () => void; color?: keyof typeof colorSchemas }) => { + const className = cx("text-slate-100 hover:text-white", colorSchemas[color].icon); + + if (to) { + return {children}; + } + + return ; +}; diff --git a/src/components/Common/Card.css b/src/components/Common/Card.css index 574b401f69..174ad7d787 100644 --- a/src/components/Common/Card.css +++ b/src/components/Common/Card.css @@ -1,6 +1,6 @@ .card { - border-radius: 0.4rem; - background: var(--color-slate-800); + border-radius: 8px; + background: var(--color-slate-900); } .card-header { @@ -16,8 +16,8 @@ .card-divider { height: 1px; - background: var(--color-slate-700); + background: var(--color-slate-600); } .card-body { - padding: 1.5rem; + padding: 16px; } diff --git a/src/components/Common/ConnectWalletButton.scss b/src/components/Common/ConnectWalletButton.scss deleted file mode 100644 index 219c4c15d2..0000000000 --- a/src/components/Common/ConnectWalletButton.scss +++ /dev/null @@ -1,49 +0,0 @@ -.connect-wallet-btn { - background: transparent; - padding: 0.85rem 1.4rem; - display: inline-flex; - align-items: center; - border: none; - color: var(--color-white); - font-size: var(--font-size-body-medium); - white-space: nowrap; - cursor: pointer; - border: 1px solid var(--color-stroke-primary); - border-radius: var(--border-radius-sm); - - .btn-icon { - display: inline-flex; - align-items: center; - justify-content: center; - } - .btn-label { - font-weight: 400; - font-size: var(--font-size-body-medium); - margin-left: 0.8rem; - letter-spacing: 0; - } - &:hover { - background: var(--dark-blue-hover); - } - &:active { - background: var(--dark-blue-active); - } -} - -@media (max-width: 450px) { - .connect-wallet { - padding: 0.5rem 0.8rem; - } -} - -@media (max-width: 350px) { - .connect-wallet-btn { - height: 3.6rem; - .btn-icon { - display: none; - } - .btn-label { - margin-left: 0px; - } - } -} diff --git a/src/components/Common/ConnectWalletButton.tsx b/src/components/Common/ConnectWalletButton.tsx index 6cdc54e130..4897a190eb 100644 --- a/src/components/Common/ConnectWalletButton.tsx +++ b/src/components/Common/ConnectWalletButton.tsx @@ -1,18 +1,23 @@ import { ReactNode } from "react"; +import { FaWallet } from "react-icons/fa6"; -import "./ConnectWalletButton.scss"; +import Button from "components/Button/Button"; type Props = { - imgSrc: string; children: ReactNode; onClick: () => void; }; -export default function ConnectWalletButton({ imgSrc, children, onClick }: Props) { +export default function ConnectWalletButton({ children, onClick }: Props) { return ( - + ); } diff --git a/src/components/Dropdown/Dropdown.scss b/src/components/Dropdown/Dropdown.scss index 6a7cd22dc3..75aa574bf2 100644 --- a/src/components/Dropdown/Dropdown.scss +++ b/src/components/Dropdown/Dropdown.scss @@ -30,7 +30,7 @@ overflow-y: auto; max-height: 30rem; background: var(--color-slate-800); - border: 1px solid var(--color-gray-800); + border: 0.5px solid var(--color-slate-600); text-align: left; list-style: none; cursor: pointer; diff --git a/src/components/EmptyTableContent/EmptyTableContent.tsx b/src/components/EmptyTableContent/EmptyTableContent.tsx new file mode 100644 index 0000000000..d4f48da6ed --- /dev/null +++ b/src/components/EmptyTableContent/EmptyTableContent.tsx @@ -0,0 +1,20 @@ +import { Trans } from "@lingui/macro"; +import { ReactNode } from "react"; + +export function EmptyTableContent({ + isLoading, + isEmpty, + emptyText = No items yet, +}: { + isLoading: boolean; + isEmpty: boolean; + emptyText?: ReactNode; +}) { + if (!isLoading && !isEmpty) return null; + + return ( +
+ {isLoading ? Loading... : isEmpty ? emptyText : null} +
+ ); +} diff --git a/src/components/EventToast/AnnouncementIcon.jsx b/src/components/EventToast/AnnouncementIcon.jsx deleted file mode 100644 index 0c062d190d..0000000000 --- a/src/components/EventToast/AnnouncementIcon.jsx +++ /dev/null @@ -1,21 +0,0 @@ -function Icon({ className }) { - return ( - - ); -} - -export default Icon; diff --git a/src/components/EventToast/EventToast.css b/src/components/EventToast/EventToast.css index 81ae81919f..648648de72 100644 --- a/src/components/EventToast/EventToast.css +++ b/src/components/EventToast/EventToast.css @@ -22,13 +22,13 @@ } .single-toast { - background: rgba(43, 49, 85, 0.85); + background: var(--color-slate-700); backdrop-filter: blur(4px); color: var(--color-white); border: none; position: relative; - border-radius: 4px; - border: 1px solid var(--color-gray-800); + border-radius: 8px; + border: 0.5px solid var(--color-slate-600); width: 35rem; } .single-toast header { @@ -36,7 +36,8 @@ justify-content: space-between; align-items: center; padding: 0.8rem 1.5rem; - border-bottom: 1px solid var(--color-gray-800); + border-bottom: 1px solid var(--color-slate-600); + font-weight: 500; } .single-toast header .toast-title { display: flex; @@ -46,13 +47,13 @@ width: 2.2rem; height: 2.2rem; cursor: pointer; - border-radius: 4px; + border-radius: 8px; padding: 2px; margin-left: 1.5rem; flex-shrink: 0; } .single-toast header .cross-icon:hover { - background: var(--color-gray-700); + background: var(--color-slate-600); } .single-toast header { display: flex; @@ -68,7 +69,7 @@ .single-toast header p { margin: 0; padding: 0.3875rem 0; - margin-left: 1.1625rem; + margin-left: 4px; font-size: var(--font-size-body-large); } diff --git a/src/components/EventToast/EventToast.tsx b/src/components/EventToast/EventToast.tsx index 2c8b4dff0c..63b4870f6d 100644 --- a/src/components/EventToast/EventToast.tsx +++ b/src/components/EventToast/EventToast.tsx @@ -6,7 +6,7 @@ import { EventData } from "config/events"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Icon from "./AnnouncementIcon"; +import PlainIcon from "img/ic_plain.svg?react"; export default function EventToast({ event, @@ -23,7 +23,7 @@ export default function EventToast({
- +

{event.title}

diff --git a/src/components/Exchange/ChartTokenSelector.scss b/src/components/Exchange/ChartTokenSelector.scss index 0d0dc891d6..85126cf35e 100644 --- a/src/components/Exchange/ChartTokenSelector.scss +++ b/src/components/Exchange/ChartTokenSelector.scss @@ -124,7 +124,7 @@ } } -@media (max-width: 1100px) { +@media (max-width: 1024px) { .chart-token-menu-items.menu-items { top: 5.05rem; } diff --git a/src/components/Exchange/ExchangeWalletTokens.jsx b/src/components/Exchange/ExchangeWalletTokens.jsx index 4f55e375f8..261cf042b1 100644 --- a/src/components/Exchange/ExchangeWalletTokens.jsx +++ b/src/components/Exchange/ExchangeWalletTokens.jsx @@ -22,7 +22,7 @@ export default function ExchangeWalletTokens(props) {
{token.symbol}
{balance && ( -
+
{balance > 0 && formatAmount(balance, token.decimals, 4, true)} {balance == 0n && "-"}
@@ -31,7 +31,7 @@ export default function ExchangeWalletTokens(props) {
{token.name}
{balanceUsd !== undefined && balanceUsd > 0 && ( -
${formatAmount(balanceUsd, 30, 2, true)}
+
${formatAmount(balanceUsd, 30, 2, true)}
)}
diff --git a/src/components/Exchange/OrdersList.jsx b/src/components/Exchange/OrdersList.jsx index 20890aa801..b241a77931 100644 --- a/src/components/Exchange/OrdersList.jsx +++ b/src/components/Exchange/OrdersList.jsx @@ -339,7 +339,9 @@ export default function OrdersList(props) { )} - {triggerPricePrefix} {formatAmount(order.triggerPrice, USD_DECIMALS, indexTokenPriceDecimal, true)} + + {triggerPricePrefix} {formatAmount(order.triggerPrice, USD_DECIMALS, 2, true)} + - Swap {formatAmount(order.amountIn, fromTokenInfo.decimals, fromTokenInfo.isStable ? 2 : 4, true)}{" "} + Swap{" "} + + {formatAmount(order.amountIn, fromTokenInfo.decimals, fromTokenInfo.isStable ? 2 : 4, true)} + {" "} {fromTokenInfo.symbol} for{" "} - {formatAmount(order.minOut, toTokenInfo.decimals, toTokenInfo.isStable ? 2 : 4, true)}{" "} + + {formatAmount(order.minOut, toTokenInfo.decimals, toTokenInfo.isStable ? 2 : 4, true)} + {" "} {toTokenInfo.symbol} ); @@ -442,8 +449,8 @@ export default function OrdersList(props) { Collateral
- ${formatAmount(collateralUSD, USD_DECIMALS, 2, true)} ( - {formatAmount(order.amountIn, fromTokenInfo.decimals, 4, true)}{" "} + ${formatAmount(collateralUSD, USD_DECIMALS, 2, true)} ( + {formatAmount(order.amountIn, fromTokenInfo.decimals, 4, true)}{" "} {fromTokenInfo.baseSymbol || fromTokenInfo.symbol})
@@ -500,7 +507,9 @@ export default function OrdersList(props) { Price
- {triggerPricePrefix} {formatAmount(order.triggerPrice, USD_DECIMALS, 2, true)} + + {triggerPricePrefix} {formatAmount(order.triggerPrice, USD_DECIMALS, 2, true)} +
@@ -509,7 +518,7 @@ export default function OrdersList(props) {
{formatAmount(markPrice, USD_DECIMALS, 2, true)}} position="bottom-end" renderContent={() => { return ( @@ -528,8 +537,10 @@ export default function OrdersList(props) { Collateral
- ${formatAmount(collateralUSD, USD_DECIMALS, 2, true)} ( - {formatAmount(order.purchaseTokenAmount, collateralTokenInfo.decimals, 4, true)}{" "} + ${formatAmount(collateralUSD, USD_DECIMALS, 2, true)} ( + + {formatAmount(order.purchaseTokenAmount, collateralTokenInfo.decimals, 4, true)} + {" "} {collateralTokenInfo.baseSymbol || collateralTokenInfo.symbol})
diff --git a/src/components/Exchange/PositionDropdown.tsx b/src/components/Exchange/PositionDropdown.tsx index cfc0009609..d026d283e5 100644 --- a/src/components/Exchange/PositionDropdown.tsx +++ b/src/components/Exchange/PositionDropdown.tsx @@ -1,16 +1,17 @@ import { autoUpdate, useFloating, flip, offset, shift, FloatingPortal } from "@floating-ui/react"; import { Menu } from "@headlessui/react"; import { Trans } from "@lingui/macro"; -import "./PositionDropdown.css"; -import { AiOutlineEdit } from "react-icons/ai"; import { BiSelectMultiple } from "react-icons/bi"; import { HiDotsVertical } from "react-icons/hi"; import { RiShareBoxFill } from "react-icons/ri"; +import EditIcon from "img/ic_edit.svg?react"; import increaseLimit from "img/ic_increaselimit_16.svg"; import increaseMarket from "img/ic_increasemarket_16.svg"; import triggerClose from "img/ic_triggerclose_16.svg"; +import "./PositionDropdown.css"; + type Props = { handleEditCollateral?: () => void; handleShare?: () => void; @@ -39,8 +40,8 @@ export default function PositionDropdown({ return ( - @@ -63,7 +64,7 @@ export default function PositionDropdown({ {handleEditCollateral && (
- +

Edit Collateral

diff --git a/src/components/Exchange/PositionsList.jsx b/src/components/Exchange/PositionsList.jsx index ee8da4e80d..f6b1a6c6b2 100644 --- a/src/components/Exchange/PositionsList.jsx +++ b/src/components/Exchange/PositionsList.jsx @@ -296,7 +296,7 @@ export default function PositionsList(props) {
Size
-
${formatAmount(position.size, USD_DECIMALS, 2, true)}
+
${formatAmount(position.size, USD_DECIMALS, 2, true)}
@@ -304,7 +304,11 @@ export default function PositionsList(props) {
+ ${formatAmount(position.collateralAfterFee, USD_DECIMALS, 2, true)} + + } position="bottom-end" handleClassName={cx({ negative: position.hasLowCollateral })} renderContent={() => { @@ -322,17 +326,25 @@ export default function PositionsList(props) { )} + {formatAmount(position.collateral, USD_DECIMALS, 2, true)} + + } /> + {formatAmount(position.fundingFee, USD_DECIMALS, 2, true)} + + } textClassName="text-red-500" /> -${borrowFeeUSD}} textClassName="text-red-500" /> @@ -354,19 +366,25 @@ export default function PositionsList(props) {
Entry Price
-
${formatAmount(position.averagePrice, USD_DECIMALS, positionPriceDecimal, true)}
+
+ ${formatAmount(position.averagePrice, USD_DECIMALS, positionPriceDecimal, true)} +
Mark Price
-
${formatAmount(position.markPrice, USD_DECIMALS, positionPriceDecimal, true)}
+
+ ${formatAmount(position.markPrice, USD_DECIMALS, positionPriceDecimal, true)} +
Liq. Price
-
${formatAmount(liquidationPrice, USD_DECIMALS, positionPriceDecimal, true)}
+
+ ${formatAmount(liquidationPrice, USD_DECIMALS, positionPriceDecimal, true)} +
@@ -379,8 +397,10 @@ export default function PositionsList(props) { {positionOrders.map((order) => { const orderText = () => ( <> - {order.triggerAboveThreshold ? ">" : "<"} {formatAmount(order.triggerPrice, 30, 2, true)}: - {order.type === INCREASE ? " +" : " -"}${formatAmount(order.sizeDelta, 30, 2, true)} + {order.triggerAboveThreshold ? ">" : "<"}{" "} + {formatAmount(order.triggerPrice, 30, 2, true)}: + {order.type === INCREASE ? " +" : " -"} + ${formatAmount(order.sizeDelta, 30, 2, true)} ); if (order.error) { @@ -557,7 +577,7 @@ export default function PositionsList(props) {
-
${formatAmount(position.size, USD_DECIMALS, 2, true)}
+
${formatAmount(position.size, USD_DECIMALS, 2, true)}
{positionOrders.length > 0 && (
+ ${formatAmount(position.collateralAfterFee, USD_DECIMALS, 2, true)} + + } position="bottom-start" handleClassName={cx({ negative: position.hasLowCollateral })} renderContent={() => { @@ -648,7 +672,11 @@ export default function PositionsList(props) { + -${formatAmount(position.fundingFee, USD_DECIMALS, 2, true)} + + } textClassName="text-red-500" />
- ${formatAmount(position.averagePrice, USD_DECIMALS, positionPriceDecimal, true)} - ${formatAmount(position.markPrice, USD_DECIMALS, positionPriceDecimal, true)} - ${formatAmount(liquidationPrice, USD_DECIMALS, positionPriceDecimal, true)} + + ${formatAmount(position.averagePrice, USD_DECIMALS, positionPriceDecimal, true)} + + + ${formatAmount(position.markPrice, USD_DECIMALS, positionPriceDecimal, true)} + + ${formatAmount(liquidationPrice, USD_DECIMALS, positionPriceDecimal, true)} {!hideActions && ( diff --git a/src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx b/src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx index 4ba64b6906..c13f23d2bf 100644 --- a/src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx +++ b/src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx @@ -22,12 +22,10 @@ export function ExpressTradingEnabledBanner() { return ( } + icon={ExpressIcon} onClose={() => setIsExpressTradingBannerDismissed(true)} > -
- Express Trading is enabled. Enjoy smoother, more reliable trades! -
+ Express Trading is enabled. Enjoy smoother, more reliable trades!
); } diff --git a/src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx b/src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx index 0bb84a4844..9be1d0600b 100644 --- a/src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx +++ b/src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx @@ -47,14 +47,12 @@ export function ExpressTradingOutOfGasBanner({ onClose }: { onClose: () => void }, [history, onClose, gasPaymentTokenSymbols]); return ( - }> -
- Express and One-Click Trading are unavailable due to insufficient gas balance. -
- -
+ + Express and One-Click Trading are unavailable due to insufficient gas balance. +
+
); } diff --git a/src/components/FavoriteStar/FavoriteStar.tsx b/src/components/FavoriteStar/FavoriteStar.tsx index 2940a2171d..170ece6fa0 100644 --- a/src/components/FavoriteStar/FavoriteStar.tsx +++ b/src/components/FavoriteStar/FavoriteStar.tsx @@ -1,16 +1,20 @@ import cx from "classnames"; -import { FaRegStar, FaStar } from "react-icons/fa"; + +import StarIcon from "img/ic_star.svg?react"; +import StarFilledIcon from "img/ic_star_filled.svg?react"; export default function FavoriteStar({ isFavorite, activeClassName, + className, }: { isFavorite?: boolean; activeClassName?: string; + className?: string; }) { - return isFavorite ? ( - - ) : ( - + return ( +
+ {isFavorite ? : } +
); } diff --git a/src/components/FavoriteTabs/FavoriteTabs.tsx b/src/components/FavoriteTabs/FavoriteTabs.tsx index 120f6fc6af..40ba48af42 100644 --- a/src/components/FavoriteTabs/FavoriteTabs.tsx +++ b/src/components/FavoriteTabs/FavoriteTabs.tsx @@ -24,14 +24,14 @@ export function FavoriteTabs({ const localizedTabOptionLabels = useLocalizedMap(tokensFavoritesTabOptionLabels); return ( -
+
{tokensFavoritesTabOptions.map((option) => (
} > -
+
{filteredOptions.map((option, marketIndex) => ( } > -
+
{filteredOptions.map((option, marketIndex) => ( @@ -286,7 +290,7 @@ function MarketListItem(props: { className="TokenSelector-tooltip" handle={
} position={isInFirstHalf ? "bottom" : "top"} - disableHandleStyle + styleType="none" closeOnDoubleClick fitHandleWidth renderContent={() => state.message} @@ -312,12 +316,9 @@ function MarketListItem(props: { {(showBalances && balanceUsd !== undefined && balanceUsd > 0 &&
{formatUsd(balanceUsd)}
) || null}
-
+
+
); } diff --git a/src/components/MarketSelector/PoolListItem.tsx b/src/components/MarketSelector/PoolListItem.tsx index d14f0455f7..f58e556b7f 100644 --- a/src/components/MarketSelector/PoolListItem.tsx +++ b/src/components/MarketSelector/PoolListItem.tsx @@ -15,6 +15,7 @@ import { TokenData } from "domain/synthetics/tokens"; import { formatTokenAmount, formatUsd } from "lib/numbers"; import { getNormalizedTokenSymbol } from "sdk/configs/tokens"; +import Button from "components/Button/Button"; import FavoriteStar from "components/FavoriteStar/FavoriteStar"; import TokenIcon from "components/TokenIcon/TokenIcon"; @@ -85,13 +86,19 @@ export function PoolListItem(props: { return ( <> -
+
{state.disabled && state.message && ( } position={isInFirstHalf ? "bottom" : "top"} - disableHandleStyle + styleType="none" closeOnDoubleClick fitHandleWidth content={state.message} @@ -138,10 +145,10 @@ export function PoolListItem(props: {
-
+
{(showBalances && balance !== undefined && ( -
+
{balance > 0 ? formatTokenAmount(balance, marketToken?.decimals, "GM", { useCommas: true, @@ -151,16 +158,15 @@ export function PoolListItem(props: { )) || null} - {(showBalances && balanceUsd !== undefined && balanceUsd > 0 &&
{formatUsd(balanceUsd)}
) || + {(showBalances && balanceUsd !== undefined && balanceUsd > 0 && ( +
{formatUsd(balanceUsd)}
+ )) || null}
-
+
+
{state.warning &&

{state.warning}

} diff --git a/src/components/MarketSelector/PoolSelector.tsx b/src/components/MarketSelector/PoolSelector.tsx index ebbaa809dd..67e36c8e3f 100644 --- a/src/components/MarketSelector/PoolSelector.tsx +++ b/src/components/MarketSelector/PoolSelector.tsx @@ -220,7 +220,7 @@ export function PoolSelector({
} > -
+
{filteredOptions.map((option, marketIndex) => { return ( + + {indexName} {isLong ? t`Long` : t`Short`} - - {indexName}
); } diff --git a/src/components/Modal/Modal.css b/src/components/Modal/Modal.css index 3a804b3200..fe1e7e522a 100644 --- a/src/components/Modal/Modal.css +++ b/src/components/Modal/Modal.css @@ -34,22 +34,20 @@ max-width: 100%; max-height: 90vh; overflow: auto; - background: var(--color-slate-800); - border-radius: 4px; + background: var(--color-slate-900); + border-radius: 8px; + border: 0.5px solid var(--color-slate-600); display: flex; flex-direction: column; } -.divider { - border-bottom: 1px solid var(--color-stroke-primary); -} - .Modal.non-scrollable .Modal-content { overflow: visible; } .Modal-header-wrapper { margin: 1.5rem; + margin-bottom: 0; } .Modal-title-bar { @@ -60,7 +58,7 @@ .Modal-body { /* for scrollbar to have a space on left and right */ - margin: 1.5rem 1rem 1.5rem 1.5rem; + margin: 0.5rem 1rem 1.5rem 1.5rem; padding-right: 0.5rem; } diff --git a/src/components/Modal/Modal.tsx b/src/components/Modal/Modal.tsx index 5f7dc21e22..964aa1e41c 100644 --- a/src/components/Modal/Modal.tsx +++ b/src/components/Modal/Modal.tsx @@ -34,7 +34,6 @@ export type ModalProps = PropsWithChildren<{ onAfterOpen?: () => void; contentPadding?: boolean; qa?: string; - noDivider?: boolean; contentClassName?: string; }>; @@ -47,7 +46,6 @@ export default function Modal({ headerContent, footerContent, contentPadding = true, - noDivider = false, onAfterOpen, setIsVisible, qa, @@ -109,6 +107,7 @@ export default function Modal({ style={isVisible ? VISIBLE_STYLES : HIDDEN_STYLES} onClick={() => setIsVisible(false)} /> +
@@ -119,13 +118,11 @@ export default function Modal({
{headerContent}
- {!noDivider &&
} -
+
{children}
{footerContent && ( <> -
{footerContent}
)} diff --git a/src/components/Modal/SlideModal.tsx b/src/components/Modal/SlideModal.tsx index dcc34d4ea4..1618aabf27 100644 --- a/src/components/Modal/SlideModal.tsx +++ b/src/components/Modal/SlideModal.tsx @@ -24,7 +24,6 @@ function MobileSlideModal({ contentPadding = true, footerContent, className, - noDivider = false, }: PropsWithChildren<{ label?: React.ReactNode; headerContent?: React.ReactNode; @@ -35,7 +34,6 @@ function MobileSlideModal({ contentPadding?: boolean; footerContent?: React.ReactNode; className?: string; - noDivider?: boolean; }>) { const curtainStyle = useMemo( () => ({ @@ -257,7 +255,7 @@ function MobileSlideModal({ data-qa={qa} ref={setCurtainRef} className={cx( - "text-body-medium fixed left-0 right-0 z-[10000] flex flex-col rounded-t-4 border-x border-t border-gray-800 bg-slate-800", + "text-body-medium fixed left-0 right-0 z-[10000] flex flex-col rounded-t-4 border-t border-slate-700 bg-slate-900", className )} style={curtainStyle} @@ -265,7 +263,7 @@ function MobileSlideModal({ >
-
{label}
+
{label}
@@ -274,8 +272,6 @@ function MobileSlideModal({ ) : headerContent ? (
{headerContent}
) : null} - - {!noDivider &&
}
{footerContent && ( <> -
+
{footerContent}
)} @@ -311,7 +307,6 @@ export function SlideModal({ contentPadding = true, footerContent, className, - noDivider = false, desktopContentClassName, }: PropsWithChildren<{ label?: React.ReactNode; @@ -323,7 +318,6 @@ export function SlideModal({ contentPadding?: boolean; footerContent?: React.ReactNode; className?: string; - noDivider?: boolean; desktopContentClassName?: string; }>) { const isMobile = useMedia("(max-width: 700px)", false); @@ -339,7 +333,6 @@ export function SlideModal({ setIsVisible={setIsVisible} contentPadding={contentPadding} footerContent={footerContent} - noDivider={noDivider} className={className} > {children} @@ -356,7 +349,6 @@ export function SlideModal({ label={label} headerContent={headerContent} contentPadding={contentPadding} - noDivider={noDivider} footerContent={footerContent} className={className} contentClassName={desktopContentClassName} diff --git a/src/components/NavigationButton/NavigationButton.scss b/src/components/NavigationButton/NavigationButton.scss index 25793c82b2..4209ad938d 100644 --- a/src/components/NavigationButton/NavigationButton.scss +++ b/src/components/NavigationButton/NavigationButton.scss @@ -16,11 +16,11 @@ background-color: var(--color-slate-600); .clickable &:not([disabled]):hover { - background: var(--color-slate-500); + background: var(--color-slate-100); } .clickable &:not([disabled]):active { - background: color-mix(in srgb, var(--color-slate-500) 97%, var(--color-white)); + background: color-mix(in srgb, var(--color-slate-100) 97%, var(--color-white)); } } @@ -47,11 +47,11 @@ background-color: var(--color-slate-600); &:not([disabled]):hover { - background: var(--color-slate-500); + background: var(--color-slate-100); } &:not([disabled]):active { - background: color-mix(in srgb, var(--color-slate-500) 97%, var(--color-white)); + background: color-mix(in srgb, var(--color-slate-100) 97%, var(--color-white)); } } } diff --git a/src/components/NetworkDropdown/NetworkDropdown.css b/src/components/NetworkDropdown/NetworkDropdown.css index 6e45b6bf4a..db74d0d765 100644 --- a/src/components/NetworkDropdown/NetworkDropdown.css +++ b/src/components/NetworkDropdown/NetworkDropdown.css @@ -1,6 +1,6 @@ .App-header-network { position: relative; - border: 1px solid var(--color-stroke-primary); + border: 0.5px solid var(--color-slate-600); border-radius: var(--border-radius-sm); height: 3.6rem; display: inline-flex; @@ -24,8 +24,7 @@ } .network-dropdown-divider { - margin-bottom: 0.8rem; - border-bottom: 1px solid var(--color-stroke-primary); + border-bottom: 1px solid var(--color-slate-600); } .App-header-network:hover { background: var(--dark-blue-hover); @@ -60,9 +59,6 @@ justify-content: space-between; } -.last-dropdown-menu { - margin-bottom: 0.8rem; -} .network-popup .Modal-content { width: 100%; max-width: 29.6rem; @@ -71,17 +67,13 @@ .network-option { cursor: pointer; background: var(--dark-blue); - border: 1px solid var(--color-stroke-primary); + border: 0.5px solid var(--color-slate-600); border-radius: 0.4rem; padding: 0.8rem 1.5rem; display: flex; align-items: center; position: relative; justify-content: space-between; - margin-bottom: 0.8rem; -} -.network-option:last-child { - margin-bottom: 0; } .network-option img { @@ -151,11 +143,6 @@ color: var(--color-gray-50); } -.language-item { - margin-left: 0.8rem; - font-size: 1.5rem; -} - .active-dot { width: 0.8rem; height: 0.8rem; @@ -168,7 +155,7 @@ background-color: #e84142; } .active-dot.Botanix { - background-color: #F7931A; + background-color: #f7931a; } .network-dropdown-label { font-size: 1.25rem; @@ -176,10 +163,6 @@ opacity: 0.7; } -.more-options { - margin-top: 1rem; -} - @media (max-width: 1033px) { .App-header-language { margin-left: 0; diff --git a/src/components/NetworkDropdown/NetworkDropdown.tsx b/src/components/NetworkDropdown/NetworkDropdown.tsx index 0941580633..81bb422ec4 100644 --- a/src/components/NetworkDropdown/NetworkDropdown.tsx +++ b/src/components/NetworkDropdown/NetworkDropdown.tsx @@ -1,44 +1,32 @@ import { Menu } from "@headlessui/react"; import { Trans, t } from "@lingui/macro"; -import { useLingui } from "@lingui/react"; import cx from "classnames"; import noop from "lodash/noop"; -import { useCallback, useState } from "react"; -import { BiChevronDown } from "react-icons/bi"; +import { useState } from "react"; +import { FiChevronDown } from "react-icons/fi"; import { getIcon } from "config/icons"; import { useChainId } from "lib/chains"; -import { useTradePageVersion } from "lib/useTradePageVersion"; import { switchNetwork } from "lib/wallets"; import useWallet from "lib/wallets/useWallet"; +import Button from "components/Button/Button"; import type { ModalProps } from "components/Modal/Modal"; -import { VersionSwitch } from "components/VersionSwitch/VersionSwitch"; -import language24Icon from "img/ic_language24.svg"; +import SettingsIcon24 from "img/ic_settings.svg?react"; import SettingsIcon16 from "img/ic_settings_16.svg?react"; -import SettingsIcon24 from "img/ic_settings_24.svg?react"; -import LanguageModalContent from "./LanguageModalContent"; import ModalWithPortal from "../Modal/ModalWithPortal"; import "./NetworkDropdown.css"; -const LANGUAGE_MODAL_KEY = "LANGUAGE"; const NETWORK_MODAL_KEY = "NETWORK"; export default function NetworkDropdown(props) { - const currentLanguage = useLingui().i18n.locale; const [activeModal, setActiveModal] = useState(null); - const handleLanguageModalClose = useCallback(() => { - setActiveModal(null); - }, []); - function getModalContent(modalName) { switch (modalName) { - case LANGUAGE_MODAL_KEY: - return ; case NETWORK_MODAL_KEY: return ( setActiveModal(null), - label: t`Select Language`, - }; case NETWORK_MODAL_KEY: return { className: "network-popup", @@ -78,12 +59,7 @@ export default function NetworkDropdown(props) { return ( <> - + {getModalContent(activeModal)} ); @@ -91,34 +67,31 @@ export default function NetworkDropdown(props) { function NavIcons({ selectorLabel }) { const { chainId } = useChainId(); const icon = getIcon(chainId, "network"); - const [currentVersion] = useTradePageVersion(); return ( <> - V{currentVersion} - + ); } -function DesktopDropdown({ setActiveModal, selectorLabel, networkOptions, openSettings }) { +function DesktopDropdown({ selectorLabel, networkOptions, openSettings }) { return ( -
+
- - + +
- Version and Network -
-
- + Network
@@ -126,7 +99,7 @@ function DesktopDropdown({ setActiveModal, selectorLabel, networkOptions, openSe
@@ -140,21 +113,6 @@ function DesktopDropdown({ setActiveModal, selectorLabel, networkOptions, openSe
- -
setActiveModal(LANGUAGE_MODAL_KEY)} - > -
-
- -
- - Language - -
-
-
@@ -209,17 +167,6 @@ function NetworkModalContent({ networkOptions, selectorLabel, setActiveModal, op More Options -
{ - setActiveModal(LANGUAGE_MODAL_KEY); - }} - > -
- Select Language - Language -
-
{ diff --git a/src/components/NotifyButton/NotifyButton.scss b/src/components/NotifyButton/NotifyButton.scss index 94a3180029..b3e27c788c 100644 --- a/src/components/NotifyButton/NotifyButton.scss +++ b/src/components/NotifyButton/NotifyButton.scss @@ -1,6 +1,6 @@ .NotifyButton { position: relative; - border: 1px solid var(--color-stroke-primary); + border: 0.5px solid var(--color-slate-600); border-radius: var(--border-radius-sm); height: 3.6rem; width: 3.6rem; diff --git a/src/components/NpsModal/NpsModal.tsx b/src/components/NpsModal/NpsModal.tsx index 9e86dafa32..6a06696664 100644 --- a/src/components/NpsModal/NpsModal.tsx +++ b/src/components/NpsModal/NpsModal.tsx @@ -69,7 +69,7 @@ export function NpsModal() { setIsVisible={() => onSubmitSurvey({ answers: questions, contact })} label={t`Help us improve`} > -
+
{questions.map((question, index) => (
{question.question} @@ -84,7 +84,7 @@ export function NpsModal() {
Leave your Telegram if you’re okay with being contacted for a quick follow-up} + content={Leave your Telegram if you’re okay with being contacted for a quick follow-up.} > Telegram contact (optional) diff --git a/src/components/NumberInput/NumberInput.tsx b/src/components/NumberInput/NumberInput.tsx index 0d41b857a7..45a99a644a 100644 --- a/src/components/NumberInput/NumberInput.tsx +++ b/src/components/NumberInput/NumberInput.tsx @@ -18,6 +18,7 @@ type Props = { placeholder?: string; qa?: string; isDisabled?: boolean; + inputId?: string; }; function NumberInput({ @@ -30,6 +31,7 @@ function NumberInput({ className, placeholder, qa, + inputId, isDisabled = false, }: Props) { function onChange(e: ChangeEvent) { @@ -47,6 +49,7 @@ function NumberInput({ } return ( }> -
- You have {balanceFormatted} remaining in your old version 1CT subaccount. -
- -
+ + You have {balanceFormatted} remaining in your old version 1CT subaccount. +
+
); } diff --git a/src/components/OneClickButton/OneClickButton.scss b/src/components/OneClickButton/OneClickButton.scss deleted file mode 100644 index 73d0d846dd..0000000000 --- a/src/components/OneClickButton/OneClickButton.scss +++ /dev/null @@ -1,22 +0,0 @@ -.OneClickButton { - position: relative; - border: 1px solid var(--color-stroke-primary); - border-radius: var(--border-radius-sm); - height: 3.6rem; - width: 3.6rem; - display: inline-flex; - align-items: center; - justify-content: center; - color: white; - - &:hover { - background: var(--dark-blue-hover); - cursor: pointer; - } - &:active { - background: var(--dark-blue-active); - } - &:active { - background: var(--dark-blue-active); - } -} diff --git a/src/components/OneClickButton/OneClickButton.tsx b/src/components/OneClickButton/OneClickButton.tsx index b47d4381b0..c2c93f375f 100644 --- a/src/components/OneClickButton/OneClickButton.tsx +++ b/src/components/OneClickButton/OneClickButton.tsx @@ -1,11 +1,11 @@ -import "./OneClickButton.scss"; +import Button from "components/Button/Button"; import OneClickIcon from "img/ic_one_click.svg?react"; export function OneClickButton({ openSettings }: { openSettings: () => void }) { return ( -
- -
+ ); } diff --git a/src/components/OneClickPromoBanner/OneClickPromoBanner.tsx b/src/components/OneClickPromoBanner/OneClickPromoBanner.tsx index 8c6b1d46bc..0673254b5b 100644 --- a/src/components/OneClickPromoBanner/OneClickPromoBanner.tsx +++ b/src/components/OneClickPromoBanner/OneClickPromoBanner.tsx @@ -41,14 +41,12 @@ export function OneClickPromoBanner({ openSettings, isShort }: { openSettings: ( return ( } + icon={OneClickIcon} onClose={() => setIsOneClickPromoHidden(true)} onClick={onClickEnable} - className="min-w-[180px]" + className="min-w-[180px] cursor-pointer" > -
- {isShort ? Try Express : Try Express Trading} -
+
{isShort ? Try Express : Try Express Trading}
); } diff --git a/src/components/PageTitle/PageTitle.scss b/src/components/PageTitle/PageTitle.scss index e3414f46bf..509b3782e2 100644 --- a/src/components/PageTitle/PageTitle.scss +++ b/src/components/PageTitle/PageTitle.scss @@ -2,33 +2,20 @@ display: flex; flex-direction: column; line-height: 1; - margin-bottom: 2.5rem; + padding: 12px; - &.gapTop { - margin-top: 2.5rem; - } .Page-title-group { display: inline-flex; - margin-bottom: 0.8rem; + margin-bottom: 8px; .Page-title__text { - font-weight: 700; + font-weight: 500; margin: 0; } - .Page-title__icon { - margin-left: 0.5rem; - display: flex; - justify-content: center; - align-items: center; - } } } @media screen and (max-width: 1000px) { .Page-title-wrapper { - margin-bottom: 1.5rem; - &.gapTop { - margin-top: 2rem; - } .Page-title-group { .Page-title__text { font-size: var(--font-size-h1); diff --git a/src/components/PageTitle/PageTitle.tsx b/src/components/PageTitle/PageTitle.tsx index c869feb793..568a38f455 100644 --- a/src/components/PageTitle/PageTitle.tsx +++ b/src/components/PageTitle/PageTitle.tsx @@ -1,9 +1,6 @@ import cx from "classnames"; import { ReactNode } from "react"; -import { getIcon } from "config/icons"; -import { useChainId } from "lib/chains"; - import "./PageTitle.scss"; type Props = { @@ -11,33 +8,19 @@ type Props = { subtitle?: ReactNode; className?: string; isTop?: boolean; - showNetworkIcon?: boolean; afterTitle?: ReactNode; - chainId?: number; qa?: string; }; -export default function PageTitle({ - title, - subtitle, - className, - isTop = false, - showNetworkIcon = true, - afterTitle, - chainId, - qa, -}: Props) { +export default function PageTitle({ title, subtitle, className, isTop = false, afterTitle, qa }: Props) { const classNames = cx("Page-title-wrapper", className, { gapTop: !isTop }); - const { chainId: fallbackChainId } = useChainId(); - const currentNetworkIcon = getIcon(chainId ?? fallbackChainId, "network"); return (

{title}

- {showNetworkIcon && Current Network Icon} {afterTitle}
-
{subtitle}
+
{subtitle}
); } diff --git a/src/components/Pagination/Pagination.tsx b/src/components/Pagination/Pagination.tsx index 140d680dc1..4ce1c0662e 100644 --- a/src/components/Pagination/Pagination.tsx +++ b/src/components/Pagination/Pagination.tsx @@ -1,7 +1,11 @@ import cx from "classnames"; +import { FaChevronLeft, FaChevronRight } from "react-icons/fa6"; import Button from "components/Button/Button"; +import ChevronEdgeLeft from "img/ic_chevron_edge_left.svg?react"; +import ChevronEdgeRight from "img/ic_chevron_edge_right.svg?react"; + import "./Pagination.css"; export type PaginationProps = { @@ -31,7 +35,9 @@ export default function Pagination({ page, pageCount, topMargin = true, onPageCh return ( - -
{middleButtons}
- -
diff --git a/src/components/PercentageInput/PercentageInput.scss b/src/components/PercentageInput/PercentageInput.scss deleted file mode 100644 index 129d899054..0000000000 --- a/src/components/PercentageInput/PercentageInput.scss +++ /dev/null @@ -1,68 +0,0 @@ -.Percentage-input-wrapper { - position: relative; - .Percentage-list { - position: absolute; - display: flex; - list-style: none; - border-radius: var(--border-radius-sm); - right: 0; - padding: 0; - margin-top: 1.5px; - top: 100%; - z-index: 2; - background-color: var(--color-slate-600); - - li { - padding: 0.5rem 0.75rem; - cursor: pointer; - border-radius: var(--border-radius-sm); - width: 4.5rem; - text-align: center; - &:hover { - background: var(--color-slate-500); - } - } - } - .Percentage-input { - display: flex; - align-items: center; - border: 1px solid var(--color-slate-700); - border-radius: var(--border-radius-sm); - padding-right: 0.5rem; - line-height: 1; - background: var(--color-slate-700); - - label { - cursor: pointer; - } - - &:hover, - &:focus { - border-color: var(--color-cold-blue-700); - } - &:focus-within { - border-color: var(--color-cold-blue-500); - } - - &.input-error { - border-color: var(--color-yellow-500); - } - - input { - width: 4rem; - padding: 0.2rem 0.35rem; - font-size: 1.4rem; - border-radius: 4px; - text-align: right; - } - span { - opacity: 0.7; - } - } -} - -.Percentage-input-negative-sign { - padding-left: 0.4rem; - cursor: text; - user-select: none; -} diff --git a/src/components/PercentageInput/PercentageInput.tsx b/src/components/PercentageInput/PercentageInput.tsx index 8df8380839..fd5f65c99a 100644 --- a/src/components/PercentageInput/PercentageInput.tsx +++ b/src/components/PercentageInput/PercentageInput.tsx @@ -1,15 +1,13 @@ -import cx from "classnames"; -import { ChangeEvent, ReactNode, useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { ReactNode, useEffect, useMemo, useState } from "react"; import { useLatest } from "react-use"; import { BASIS_POINTS_DIVISOR } from "config/factors"; import { roundToTwoDecimals } from "lib/numbers"; +import SuggestionInput from "components/SuggestionInput/SuggestionInput"; import type { TooltipPosition } from "components/Tooltip/Tooltip"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; -import "./PercentageInput.scss"; - export const NUMBER_WITH_TWO_DECIMALS = /^\d+(\.\d{0,2})?$/; // 0.00 ~ 99.99 function getValueText(value: number) { @@ -51,13 +49,8 @@ export default function PercentageInput({ }: Props) { const [isPanelVisible, setIsPanelVisible] = useState(false); const [inputValue, setInputValue] = useState(() => (value === undefined ? "" : getValueText(value))); - const inputRef = useRef(null); - const handleSignClick = useCallback(() => { - inputRef.current?.focus(); - }, []); - function handleChange(event: ChangeEvent) { - const { value } = event.target; + function handleChange(value: string) { if (value === "") { setInputValue(""); onChange(defaultValue); @@ -121,58 +114,24 @@ export default function PercentageInput({ } }, [inputValue, highValue, checkStrategy, lowValueWarningText, lowValue, highValueWarningText]); - const id = useMemo(() => inputId ?? Math.random().toString(36), [inputId]); - - const shouldShowPanel = isPanelVisible && Boolean(suggestions.length); - - const onSelectSuggestion = useCallback( - (suggestion: number) => () => { - onChange(suggestion * 100); - setIsPanelVisible(false); - }, - [onChange, setIsPanelVisible] - ); - return ( -
-
{error}
} - position={tooltipPosition} - > -
- {negativeSign && ( - - - - - )} - setIsPanelVisible(true)} - onBlur={() => setIsPanelVisible(false)} - value={inputValue} - placeholder={getValueText(defaultValue)} - autoComplete="off" - onChange={handleChange} - /> - - -
-
- - {shouldShowPanel && ( -
    - {suggestions.map((slippage) => ( -
  • - {slippage}% -
  • - ))} -
- )} -
+
{error}
} + position={tooltipPosition} + > + +
); } diff --git a/src/components/Referrals/AddAffiliateCode.jsx b/src/components/Referrals/AddAffiliateCode.jsx index 5b1d402349..af046f8f4f 100644 --- a/src/components/Referrals/AddAffiliateCode.jsx +++ b/src/components/Referrals/AddAffiliateCode.jsx @@ -15,7 +15,7 @@ import { getCodeError, getReferralCodeTakenStatus, getSampleReferrarStat } from function AddAffiliateCode({ handleCreateReferralCode, active, setRecentlyAddedCodes, recentlyAddedCodes }) { const { openConnectModal } = useConnectModal(); return ( -
+

Generate Referral Code

diff --git a/src/components/Referrals/AffiliatesStats.tsx b/src/components/Referrals/AffiliatesStats.tsx index e7e41b1318..ad2db8a6e8 100644 --- a/src/components/Referrals/AffiliatesStats.tsx +++ b/src/components/Referrals/AffiliatesStats.tsx @@ -198,34 +198,37 @@ function AffiliatesStats({ <> {getUSDValue(arbitrumData?.affiliateTotalStats.v1Data.volume)}} /> {getUSDValue(avalancheData?.affiliateTotalStats.v1Data.volume)}} /> {isDevelopment() && ( {getUSDValue(fujiData?.affiliateTotalStats.v1Data.volume)}} /> )} {getUSDValue(arbitrumData?.affiliateTotalStats.v2Data.volume)}} /> {getUSDValue(avalancheData?.affiliateTotalStats.v2Data.volume)}} /> {isDevelopment() && ( {getUSDValue(fujiData?.affiliateTotalStats.v2Data.volume)}} /> )}
- + {getUSDValue(total?.affiliateVolume)}} + /> } /> @@ -237,34 +240,61 @@ function AffiliatesStats({ <> + {getUSDValue(arbitrumData?.affiliateTotalStats.v1Data.affiliateRebateUsd)} + + } /> + {getUSDValue(avalancheData?.affiliateTotalStats.v1Data.affiliateRebateUsd)} + + } /> {isDevelopment() && ( + {getUSDValue(fujiData?.affiliateTotalStats.v1Data.affiliateRebateUsd)} + + } /> )} + {getUSDValue(arbitrumData?.affiliateTotalStats.v2Data.affiliateRebateUsd)} + + } /> + {getUSDValue(avalancheData?.affiliateTotalStats.v2Data.affiliateRebateUsd)} + + } /> {isDevelopment() && ( + {getUSDValue(fujiData?.affiliateTotalStats.v2Data.affiliateRebateUsd)} + + } /> )}
- + {getUSDValue(total?.affiliateRebateUsd)}} + /> } /> @@ -274,7 +304,7 @@ function AffiliatesStats({ className="AffiliateStats-claimable-rewards-card" >
- ${getUSDValue(totalClaimableRewardsUsd, 4)} + ${getUSDValue(totalClaimableRewardsUsd, 4)} {(totalClaimableRewardsUsd > 0 && (
setIsClaiming(true)} className="AffiliateStats-claim-button"> Claim @@ -325,7 +355,7 @@ function AffiliatesStats({ - + Referral Code @@ -343,7 +373,7 @@ function AffiliatesStats({ {currentAffiliatesData.map((stat, index) => { return ( - +
{stat.referralCode} @@ -372,32 +402,40 @@ function AffiliatesStats({ {`$${getUSDValue(stat.volume)}`}} position="bottom-start" className="whitespace-nowrap" renderContent={() => ( <> - - + {getUSDValue(stat?.v1Data.volume)}} + /> + {getUSDValue(stat?.v2Data.volume)}} + /> )} /> - {stat.registeredReferralsCount} + + {stat.registeredReferralsCount} + {`$${getUSDValue(stat.affiliateRebateUsd)}`}} position="bottom-start" className="whitespace-nowrap" renderContent={() => ( <> {getUSDValue(stat.v1Data.affiliateRebateUsd)}} /> {getUSDValue(stat.v2Data.affiliateRebateUsd)}} /> )} @@ -435,7 +473,7 @@ function AffiliatesStats({
- + Date @@ -491,14 +529,14 @@ function AffiliatesStats({ const explorerURL = getExplorerUrl(chainId); return ( - + {formatDate(rebate.timestamp)} {rebateType} +
{tokensWithoutPrices.length > 0 && ( <> @@ -531,12 +569,16 @@ function AffiliatesStats({ key={tokenAddress} showDollar={false} label={token.symbol} - value={formatBalanceAmount( - amountsByTokens[tokenAddress], - token.decimals, - undefined, - { isStable: token.isStable } - )} + value={ + + {formatBalanceAmount( + amountsByTokens[tokenAddress], + token.decimals, + undefined, + { isStable: token.isStable } + )} + + } /> ); diff --git a/src/components/Referrals/JoinReferralCode.tsx b/src/components/Referrals/JoinReferralCode.tsx index e88faa1065..8b4d848335 100644 --- a/src/components/Referrals/JoinReferralCode.tsx +++ b/src/components/Referrals/JoinReferralCode.tsx @@ -14,7 +14,7 @@ import { REFERRAL_CODE_REGEX } from "./referralsHelper"; function JoinReferralCode({ active }: { active: boolean }) { const { openConnectModal } = useConnectModal(); return ( -
+

Enter Referral Code

diff --git a/src/components/Referrals/ReferralInfoCard.tsx b/src/components/Referrals/ReferralInfoCard.tsx index 5523ec4b11..4157b4c9ad 100644 --- a/src/components/Referrals/ReferralInfoCard.tsx +++ b/src/components/Referrals/ReferralInfoCard.tsx @@ -37,7 +37,7 @@ function ReferralInfoCard({ {value}} renderContent={() => tooltipContent} /> )} diff --git a/src/components/Referrals/TradersStats.tsx b/src/components/Referrals/TradersStats.tsx index d08fdab41c..dec6e58371 100644 --- a/src/components/Referrals/TradersStats.tsx +++ b/src/components/Referrals/TradersStats.tsx @@ -111,34 +111,49 @@ function TradersStats({ referralsData, traderTier, chainId, userReferralCodeStri <> {getUSDValue(arbitrumData?.traderReferralTotalStats.v1Data.volume)} + } /> {getUSDValue(avalancheData?.traderReferralTotalStats.v1Data.volume)} + } /> {isDevelopment() && ( {getUSDValue(fujiData?.traderReferralTotalStats.v1Data.volume)} + } /> )} {getUSDValue(arbitrumData?.traderReferralTotalStats.v2Data.volume)} + } /> {getUSDValue(avalancheData?.traderReferralTotalStats.v2Data.volume)} + } /> {isDevelopment() && ( {getUSDValue(fujiData?.traderReferralTotalStats.v2Data.volume)} + } /> )}
- + {getUSDValue(total?.traderVolume)}} + /> } /> @@ -150,34 +165,61 @@ function TradersStats({ referralsData, traderTier, chainId, userReferralCodeStri <> + {getUSDValue(arbitrumData?.traderReferralTotalStats.v1Data.discountUsd)} + + } /> + {getUSDValue(avalancheData?.traderReferralTotalStats.v1Data.discountUsd)} + + } /> {isDevelopment() && ( + {getUSDValue(avalancheData?.traderReferralTotalStats.v1Data.discountUsd)} + + } /> )} + {getUSDValue(arbitrumData?.traderReferralTotalStats.v2Data.discountUsd)} + + } /> + {getUSDValue(avalancheData?.traderReferralTotalStats.v2Data.discountUsd)} + + } /> {isDevelopment() && ( + {getUSDValue(fujiData?.traderReferralTotalStats.v2Data.discountUsd)} + + } /> )}
- + {getUSDValue(total?.discountUsd)}} + /> } /> @@ -208,7 +250,7 @@ function TradersStats({ referralsData, traderTier, chainId, userReferralCodeStri
- + Date @@ -251,7 +293,7 @@ function TradersStats({ referralsData, traderTier, chainId, userReferralCodeStri const explorerURL = getExplorerUrl(chainId); return ( - + {formatDate(rebate.timestamp)} V1 Airdrop @@ -259,7 +301,7 @@ function TradersStats({ referralsData, traderTier, chainId, userReferralCodeStri position="bottom" className="whitespace-nowrap" handle={ -
+
{tokensWithoutPrices.length > 0 && ( <> @@ -291,12 +333,16 @@ function TradersStats({ referralsData, traderTier, chainId, userReferralCodeStri key={tokenAddress} showDollar={false} label={token.symbol} - value={formatBalanceAmount( - amountsByTokens[tokenAddress], - token.decimals, - undefined, - { isStable: token.isStable } - )} + value={ + + {formatBalanceAmount( + amountsByTokens[tokenAddress], + token.decimals, + undefined, + { isStable: token.isStable } + )} + + } /> ); })} diff --git a/src/components/SearchInput/SearchInput.tsx b/src/components/SearchInput/SearchInput.tsx index 6981881fdd..05c5c687d7 100644 --- a/src/components/SearchInput/SearchInput.tsx +++ b/src/components/SearchInput/SearchInput.tsx @@ -5,6 +5,8 @@ import { useMedia } from "react-use"; import { useOutsideClick } from "lib/useOutsideClick"; +import Button from "components/Button/Button"; + import CrossIconComponent from "img/cross.svg?react"; import SearchIconComponent from "img/search.svg?react"; @@ -65,49 +67,38 @@ export default function SearchInput({ }, [inputRef]); return ( -
-
- +
+
+ +
+ -
- - {value && ( - - )} + + )} +
); } diff --git a/src/components/SettingsModal/DebugSettings.tsx b/src/components/SettingsModal/DebugSettings.tsx new file mode 100644 index 0000000000..7e4a522bbd --- /dev/null +++ b/src/components/SettingsModal/DebugSettings.tsx @@ -0,0 +1,41 @@ +import { Trans } from "@lingui/macro"; + +import { useSettings } from "context/SettingsContext/SettingsContextProvider"; + +import { AbFlagSettings } from "components/AbFlagsSettings/AbFlagsSettings"; +import { DebugSwapsSettings } from "components/DebugSwapsSettings/DebugSwapsSettings"; +import TenderlySettings from "components/TenderlySettings/TenderlySettings"; +import ToggleSwitch from "components/ToggleSwitch/ToggleSwitch"; + +import { SettingsSection } from "./shared"; + +interface DebugSettingsProps { + isSettingsVisible: boolean; +} + +export function DebugSettings({ isSettingsVisible }: DebugSettingsProps) { + const settings = useSettings(); + + return ( +
+ + + Show debug values + + + + Disable validation for testing + + + + + + + + +
+ ); +} diff --git a/src/components/SettingsModal/DisplaySettings.tsx b/src/components/SettingsModal/DisplaySettings.tsx new file mode 100644 index 0000000000..11057a4825 --- /dev/null +++ b/src/components/SettingsModal/DisplaySettings.tsx @@ -0,0 +1,29 @@ +import { Trans } from "@lingui/macro"; + +import { useSettings } from "context/SettingsContext/SettingsContextProvider"; + +import ToggleSwitch from "components/ToggleSwitch/ToggleSwitch"; + +import { SettingsSection } from "./shared"; + +export function DisplaySettings() { + const settings = useSettings(); + + return ( +
+ + + Show Leverage Slider + + + + Display PnL After Fees + + + + Include PnL In Leverage Display + + +
+ ); +} diff --git a/src/components/SettingsModal/SettingsModal.tsx b/src/components/SettingsModal/SettingsModal.tsx index 8670077d21..0b601ed904 100644 --- a/src/components/SettingsModal/SettingsModal.tsx +++ b/src/components/SettingsModal/SettingsModal.tsx @@ -1,47 +1,31 @@ -import { t, Trans } from "@lingui/macro"; -import cx from "classnames"; -import { ReactNode, useCallback, useEffect, useState } from "react"; +import { msg, t } from "@lingui/macro"; +import { useCallback, useEffect, useMemo, useState } from "react"; -import { BOTANIX } from "config/chains"; import { isDevelopment } from "config/env"; -import { DEFAULT_SLIPPAGE_AMOUNT } from "config/factors"; -import { getIsExpressSupported } from "config/features"; -import { DEFAULT_TIME_WEIGHTED_NUMBER_OF_PARTS } from "config/twap"; import { useSettings } from "context/SettingsContext/SettingsContextProvider"; import { useSubaccountContext } from "context/SubaccountContext/SubaccountContextProvider"; -import { useIsOutOfGasPaymentBalance } from "domain/synthetics/express/useIsOutOfGasPaymentBalance"; -import { getIsSubaccountActive } from "domain/synthetics/subaccount"; -import { useChainId } from "lib/chains"; import { helperToast } from "lib/helperToast"; +import { useLocalizedMap } from "lib/i18n"; import { roundToTwoDecimals } from "lib/numbers"; -import { EMPTY_ARRAY } from "lib/objects"; import { mustNeverExist } from "lib/types"; import { MAX_TWAP_NUMBER_OF_PARTS, MIN_TWAP_NUMBER_OF_PARTS } from "sdk/configs/twap"; -import { AbFlagSettings } from "components/AbFlagsSettings/AbFlagsSettings"; -import { DebugSwapsSettings } from "components/DebugSwapsSettings/DebugSwapsSettings"; -import { ExpressTradingOutOfGasBanner } from "components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner"; -import ExternalLink from "components/ExternalLink/ExternalLink"; -import { GasPaymentTokenSelector } from "components/GasPaymentTokenSelector/GasPaymentTokenSelector"; import { SlideModal } from "components/Modal/SlideModal"; -import NumberInput from "components/NumberInput/NumberInput"; -import { OldSubaccountWithdraw } from "components/OldSubaccountWithdraw/OldSubaccountWithdraw"; -import { OneClickAdvancedSettings } from "components/OneClickAdvancedSettings/OneClickAdvancedSettings"; -import PercentageInput from "components/PercentageInput/PercentageInput"; -import TenderlySettings from "components/TenderlySettings/TenderlySettings"; -import ToggleSwitch from "components/ToggleSwitch/ToggleSwitch"; -import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; - -import ExpressIcon from "img/ic_express.svg?react"; -import HourGlassIcon from "img/ic_hourglass.svg?react"; -import InfoIcon from "img/ic_info.svg?react"; -import OneClickIcon from "img/ic_one_click.svg?react"; - -enum TradingMode { - Classic = "classic", - Express = "express", - Express1CT = "express-1ct", -} +import Tabs from "components/Tabs/Tabs"; + +import { DebugSettings } from "./DebugSettings"; +import { DisplaySettings } from "./DisplaySettings"; +import { TradingMode } from "./shared"; +import { TradingSettings } from "./TradingSettings"; + +const SETTINGS_TABS = ["trading", "display", "debug"] as const; +type SettingsTab = (typeof SETTINGS_TABS)[number]; + +const TAB_LABELS = { + trading: msg`Trading Settings`, + display: msg`Display Settings`, + debug: msg`Debug Settings`, +}; export function SettingsModal({ isSettingsVisible, @@ -50,15 +34,14 @@ export function SettingsModal({ isSettingsVisible: boolean; setIsSettingsVisible: (value: boolean) => void; }) { - const { chainId } = useChainId(); const settings = useSettings(); const subaccountState = useSubaccountContext(); + const [activeTab, setActiveTab] = useState("trading"); const [tradingMode, setTradingMode] = useState(undefined); const [isTradningModeChanging, setIsTradningModeChanging] = useState(false); const [numberOfParts, setNumberOfParts] = useState(); - const isOutOfGasPaymentBalance = useIsOutOfGasPaymentBalance(); useEffect(() => { if (!isSettingsVisible) return; @@ -225,6 +208,46 @@ export function SettingsModal({ [isTradningModeChanging, settings.expressOrdersEnabled, subaccountState.subaccount, tradingMode] ); + const tabLabels = useLocalizedMap(TAB_LABELS); + + const tabOptions = useMemo( + () => + SETTINGS_TABS.filter((tab) => { + if (tab === "debug") { + return isDevelopment(); + } + return true; + }).map((tab) => ({ + value: tab, + label: tabLabels[tab], + })), + [tabLabels] + ); + + const renderTabContent = () => { + switch (activeTab) { + case "trading": + return ( + + ); + case "display": + return ; + case "debug": + return ; + default: + return null; + } + }; + return (
-

- Trading Settings -

-
- {getIsExpressSupported(chainId) && ( - <> - -
- Trading Mode -
- - - Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided - by your wallet. Gas payments in ETH. - - } - icon={} - active={tradingMode === TradingMode.Classic} - onClick={() => handleTradingModeChange(TradingMode.Classic)} - /> - - - Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs - for reliability, even during network congestion. Gas payments in USDC or WETH. - - } - icon={} - disabled={isOutOfGasPaymentBalance} - chip={ - - Optimal - - } - active={tradingMode === TradingMode.Express} - onClick={() => handleTradingModeChange(TradingMode.Express)} - /> - - } - disabled={isOutOfGasPaymentBalance} - info={ - - Your wallet, your keys. GMX executes transactions for you without individual signing, providing a - seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during - network congestion. Gas payments in USDC or WETH. - - } - chip={ - - Fastest - - } - active={tradingMode === TradingMode.Express1CT} - onClick={() => handleTradingModeChange(TradingMode.Express1CT)} - /> - - {isOutOfGasPaymentBalance && } - - - - {Boolean(subaccountState.subaccount && getIsSubaccountActive(subaccountState.subaccount)) && ( - - )} - - {settings.expressOrdersEnabled && ( - <> -
- - - - )} -
- - )} - - - Default Allowed Slippage} - description={ - - The maximum percentage difference between your specified price and execution price when placing - orders. - - } - defaultValue={DEFAULT_SLIPPAGE_AMOUNT} - value={parseFloat(String(settings.savedAllowedSlippage))} - onChange={onChangeSlippage} - suggestions={EMPTY_ARRAY} - /> - - TWAP Number of Parts} - description={ -
- The default number of parts for Time-Weighted Average Price (TWAP) orders. -
- } - defaultValue={DEFAULT_TIME_WEIGHTED_NUMBER_OF_PARTS} - value={numberOfParts} - onChange={onChangeTwapNumberOfParts} - onBlur={onBlurTwapNumberOfParts} - type="number" - /> - - {settings.shouldUseExecutionFeeBuffer && ( - Max Network Fee Buffer} - description={ -
- - The Max Network Fee is set to a higher value to handle potential increases in gas price during - order execution. Any excess network fee will be refunded to your account when the order is - executed. Only applicable to GMX V2. - -
-
- - Read more - -
- } - defaultValue={30} - value={parseFloat(String(settings.executionFeeBufferBps))} - onChange={onChangeExecutionFeeBufferBps} - maxValue={1000 * 100} - suggestions={EMPTY_ARRAY} - /> - )} - - - e.stopPropagation()}> - - Take Profit and Stop Loss orders will be automatically cancelled when the associated position is - completely closed. This will only affect newly created TP/SL orders. - -
-
- - Read more - -
- } - handle={Auto-Cancel TP/SL} - /> - - - {/* External swaps are enabled by default on Botanix */} - {chainId !== BOTANIX && ( - - Enable external swaps - - )} - - -
- -

- Display Settings -

- - - - Show Leverage Slider - - - - Display PnL After Fees - - - - Include PnL In Leverage Display - - -
- - {isDevelopment() && ( - <> -
- -

- Debug Settings -

- - - - Show debug values - - - - Disable validation for testing - - - - - - - - - - )} + + {renderTabContent()}
); } - -function SettingsSection({ children, className }: { children?: React.ReactNode; className?: string }) { - return
{children}
; -} - -function InputSetting({ - title, - description, - defaultValue, - value, - maxValue, - onChange, - onBlur, - className, - suggestions, - type = "percentage", -}: { - title: ReactNode; - description?: ReactNode; - defaultValue: number; - value?: number; - maxValue?: number; - onChange: (value: number) => void; - onBlur?: () => void; - className?: string; - suggestions?: number[]; - type?: "percentage" | "number"; -}) { - const titleComponent = {title}; - - const titleWithDescription = description ? ( - - {titleComponent} - - ) : ( - titleComponent - ); - - const Input = - type === "percentage" ? ( - - ) : ( - onChange(Number(e.target.value))} - onBlur={onBlur} - /> - ); - - return ( -
-
{titleWithDescription}
- {Input} -
- ); -} - -function SettingButton({ - title, - icon, - description, - onClick, - active, - chip, - info, - disabled, -}: { - title: string; - icon: ReactNode; - description: string; - active?: boolean; - chip?: ReactNode; - onClick: () => void; - info?: ReactNode; - disabled?: boolean; -}) { - return ( -
-
{icon}
-
-
-
-
{title}
- {info && ( - } - /> - )} -
-
{description}
-
- {chip ?
{chip}
: null} -
-
- ); -} - -function Chip({ children, color }: { children: ReactNode; color: "blue" | "gray" }) { - const colorClass = { - blue: "bg-blue-600", - gray: "bg-slate-500", - }[color]; - - return
{children}
; -} diff --git a/src/components/SettingsModal/TradingSettings.tsx b/src/components/SettingsModal/TradingSettings.tsx new file mode 100644 index 0000000000..f9516944e6 --- /dev/null +++ b/src/components/SettingsModal/TradingSettings.tsx @@ -0,0 +1,226 @@ +import { Trans } from "@lingui/macro"; + +import { BOTANIX } from "config/chains"; +import { DEFAULT_SLIPPAGE_AMOUNT } from "config/factors"; +import { getIsExpressSupported } from "config/features"; +import { DEFAULT_TIME_WEIGHTED_NUMBER_OF_PARTS } from "config/twap"; +import { useSettings } from "context/SettingsContext/SettingsContextProvider"; +import { useSubaccountContext } from "context/SubaccountContext/SubaccountContextProvider"; +import { useIsOutOfGasPaymentBalance } from "domain/synthetics/express/useIsOutOfGasPaymentBalance"; +import { getIsSubaccountActive } from "domain/synthetics/subaccount"; +import { useChainId } from "lib/chains"; +import { EMPTY_ARRAY } from "lib/objects"; + +import { ExpressTradingOutOfGasBanner } from "components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner"; +import ExternalLink from "components/ExternalLink/ExternalLink"; +import { GasPaymentTokenSelector } from "components/GasPaymentTokenSelector/GasPaymentTokenSelector"; +import { OldSubaccountWithdraw } from "components/OldSubaccountWithdraw/OldSubaccountWithdraw"; +import { OneClickAdvancedSettings } from "components/OneClickAdvancedSettings/OneClickAdvancedSettings"; +import ToggleSwitch from "components/ToggleSwitch/ToggleSwitch"; +import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; + +import ExpressIcon from "img/ic_express.svg?react"; +import HourGlassIcon from "img/ic_hourglass.svg?react"; +import OneClickIcon from "img/ic_one_click.svg?react"; + +import { SettingsSection, InputSetting, SettingButton, Chip, TradingMode } from "./shared"; + +interface TradingSettingsProps { + tradingMode: TradingMode | undefined; + handleTradingModeChange: (mode: TradingMode) => void; + onChangeSlippage: (value: number) => void; + onChangeExecutionFeeBufferBps: (value: number) => void; + onChangeTwapNumberOfParts: (value: number) => void; + onBlurTwapNumberOfParts: () => void; + numberOfParts: number | undefined; + onClose: () => void; +} + +export function TradingSettings({ + tradingMode, + handleTradingModeChange, + onChangeSlippage, + onChangeExecutionFeeBufferBps, + onChangeTwapNumberOfParts, + onBlurTwapNumberOfParts, + numberOfParts, + onClose, +}: TradingSettingsProps) { + const { chainId } = useChainId(); + const settings = useSettings(); + const subaccountState = useSubaccountContext(); + const isOutOfGasPaymentBalance = useIsOutOfGasPaymentBalance(); + + return ( +
+ {getIsExpressSupported(chainId) && ( + <> + +
+ Trading Mode +
+ + + Your wallet, your keys. +
+
+ You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments + in ETH. + + } + icon={} + active={tradingMode === TradingMode.Classic} + onClick={() => handleTradingModeChange(TradingMode.Classic)} + /> + + + Your wallet, your keys. +
+
+ You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even + during network congestion. Gas payments in USDC or WETH. + + } + icon={} + disabled={isOutOfGasPaymentBalance} + chip={ + + Optimal + + } + active={tradingMode === TradingMode.Express} + onClick={() => handleTradingModeChange(TradingMode.Express)} + /> + + } + disabled={isOutOfGasPaymentBalance} + info={ + + Your wallet, your keys. +
+
+ GMX executes transactions for you without individual signing, providing a seamless, CEX-like + experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas + payments in USDC or WETH. +
+ } + chip={ + + Fastest + + } + active={tradingMode === TradingMode.Express1CT} + onClick={() => handleTradingModeChange(TradingMode.Express1CT)} + /> + + {isOutOfGasPaymentBalance && } + + + + {Boolean(subaccountState.subaccount && getIsSubaccountActive(subaccountState.subaccount)) && ( + + )} + + {settings.expressOrdersEnabled && ( + <> +
+ + + + )} +
+ + )} + + + Default Allowed Slippage} + description={ + + The maximum percentage difference between your specified price and execution price when placing orders. + + } + defaultValue={DEFAULT_SLIPPAGE_AMOUNT} + value={parseFloat(String(settings.savedAllowedSlippage))} + onChange={onChangeSlippage} + suggestions={EMPTY_ARRAY} + /> + + TWAP Number of Parts} + description={ +
+ The default number of parts for Time-Weighted Average Price (TWAP) orders. +
+ } + defaultValue={DEFAULT_TIME_WEIGHTED_NUMBER_OF_PARTS} + value={numberOfParts} + onChange={onChangeTwapNumberOfParts} + onBlur={onBlurTwapNumberOfParts} + type="number" + /> + + {settings.shouldUseExecutionFeeBuffer && ( + Max Network Fee Buffer} + description={ +
+ + The Max Network Fee is set to a higher value to handle potential increases in gas price during order + execution. Any excess network fee will be refunded to your account when the order is executed. Only + applicable to GMX V2. + +
+
+ Read more +
+ } + defaultValue={30} + value={parseFloat(String(settings.executionFeeBufferBps))} + onChange={onChangeExecutionFeeBufferBps} + maxValue={1000 * 100} + suggestions={EMPTY_ARRAY} + /> + )} + + + e.stopPropagation()}> + + Take Profit and Stop Loss orders will be automatically cancelled when the associated position is + completely closed. This will only affect newly created TP/SL orders. + +
+
+ Read more +
+ } + handle={Auto-Cancel TP/SL} + /> + + + {/* External swaps are enabled by default on Botanix */} + {chainId !== BOTANIX && ( + + Enable External Swaps + + )} + +
+ ); +} diff --git a/src/components/SettingsModal/shared.tsx b/src/components/SettingsModal/shared.tsx new file mode 100644 index 0000000000..22f12edc7f --- /dev/null +++ b/src/components/SettingsModal/shared.tsx @@ -0,0 +1,157 @@ +import cx from "classnames"; +import { ReactNode } from "react"; + +import { useBreakpoints } from "lib/breakpoints"; + +import NumberInput from "components/NumberInput/NumberInput"; +import PercentageInput from "components/PercentageInput/PercentageInput"; +import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; + +import InfoIcon from "img/ic_info.svg?react"; + +export enum TradingMode { + Classic = "classic", + Express = "express", + Express1CT = "express-1ct", +} + +export function SettingsSection({ children, className }: { children?: React.ReactNode; className?: string }) { + return ( +
{children}
+ ); +} + +export function InputSetting({ + title, + description, + defaultValue, + value, + maxValue, + onChange, + onBlur, + className, + suggestions, + type = "percentage", +}: { + title: ReactNode; + description?: ReactNode; + defaultValue: number; + value?: number; + maxValue?: number; + onChange: (value: number) => void; + onBlur?: () => void; + className?: string; + suggestions?: number[]; + type?: "percentage" | "number"; +}) { + const titleComponent = {title}; + + const titleWithDescription = description ? ( + + {titleComponent} + + ) : ( + titleComponent + ); + + const Input = + type === "percentage" ? ( + + ) : ( + onChange(Number(e.target.value))} + onBlur={onBlur} + /> + ); + + return ( +
+
{titleWithDescription}
+ {Input} +
+ ); +} + +export function SettingButton({ + title, + icon, + description, + onClick, + active, + chip, + info, + disabled, +}: { + title: string; + icon: ReactNode; + description: string; + active?: boolean; + chip?: ReactNode; + onClick: () => void; + info?: ReactNode; + disabled?: boolean; +}) { + const { isMobile, isTablet } = useBreakpoints(); + + const handleInfoClick = (e: React.MouseEvent) => { + // to do: better identify mobile devices + if (!isMobile && !isTablet) { + e.stopPropagation(); + } + }; + + return ( +
+
+ {icon} +
+
+
+
+
{title}
+ {info && ( + } + /> + )} +
+
{description}
+
+ {chip ?
{chip}
: null} +
+
+ ); +} + +export function Chip({ children, color }: { children: ReactNode; color: "blue" | "gray" }) { + const colorClass = { + blue: "bg-blue-600", + gray: "bg-slate-100", + }[color]; + + return
{children}
; +} diff --git a/src/components/SideNav/LanguageNavItem.tsx b/src/components/SideNav/LanguageNavItem.tsx new file mode 100644 index 0000000000..1b96c0e60a --- /dev/null +++ b/src/components/SideNav/LanguageNavItem.tsx @@ -0,0 +1,45 @@ +import { t } from "@lingui/macro"; +import { useLingui } from "@lingui/react"; +import { useCallback, useState } from "react"; + +import ModalWithPortal from "components/Modal/ModalWithPortal"; +import LanguageModalContent from "components/NetworkDropdown/LanguageModalContent"; + +import Language24Icon from "img/ic_language24.svg?react"; + +interface LanguageNavItemProps { + isCollapsed: boolean | undefined; + NavItem: React.ComponentType; +} + +export function LanguageNavItem({ isCollapsed, NavItem }: LanguageNavItemProps) { + const currentLanguage = useLingui().i18n.locale; + const [isModalOpen, setIsModalOpen] = useState(false); + + const handleOpen = useCallback(() => { + setIsModalOpen(true); + }, []); + + const handleClose = useCallback(() => { + setIsModalOpen(false); + }, []); + + return ( + <> + } + label={t`Language`} + isCollapsed={isCollapsed} + onClick={handleOpen} + /> + + + + + ); +} diff --git a/src/components/SideNav/MobileSideNav.tsx b/src/components/SideNav/MobileSideNav.tsx new file mode 100644 index 0000000000..7443aea0d7 --- /dev/null +++ b/src/components/SideNav/MobileSideNav.tsx @@ -0,0 +1,52 @@ +import { useState } from "react"; +import { HiMenu } from "react-icons/hi"; +import { IoCloseOutline } from "react-icons/io5"; + +import Button from "components/Button/Button"; +import Portal from "components/Common/Portal"; +import Footer from "components/Footer/Footer"; + +import { LanguageNavItem } from "./LanguageNavItem"; +import { DocsNavItem, LogoSection, MenuSection, NavItem } from "./SideNav"; + +export function MobileSideNav() { + const [isOpen, setIsOpen] = useState(false); + + const handleToggle = () => { + setIsOpen(!isOpen); + }; + + return ( +
+ + {isOpen ? ( + +
+
+
+
+ + + +
+ +
+
+
    + + +
+
+
+
+
+
+ + ) : null} +
+ ); +} diff --git a/src/components/SideNav/SideNav.tsx b/src/components/SideNav/SideNav.tsx new file mode 100644 index 0000000000..5d9be94166 --- /dev/null +++ b/src/components/SideNav/SideNav.tsx @@ -0,0 +1,169 @@ +import { t } from "@lingui/macro"; +import cx from "classnames"; +import { ReactNode, useCallback, useMemo } from "react"; +import { Link, useLocation } from "react-router-dom"; + +import { useLocalStorageSerializeKey } from "lib/localStorage"; + +import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; + +import CollapseIcon from "img/collapse.svg?react"; +import DashboardIcon from "img/dashboard.svg?react"; +import DatabaseIcon from "img/database.svg?react"; +import DocsIcon from "img/docs.svg?react"; +import EarnIcon from "img/earn.svg?react"; +import EcosystemIcon from "img/ecosystem.svg?react"; +import LeaderboardIcon from "img/leaderboard.svg?react"; +import logoIcon from "img/logo-icon.svg"; +import logoText from "img/logo-text.svg"; +import ReferralsIcon from "img/referrals.svg?react"; +import TradeIcon from "img/trade.svg?react"; + +import { LanguageNavItem } from "./LanguageNavItem"; + +function SideNav({ className }: { className?: string }) { + const [isCollapsed, setIsCollapsed] = useLocalStorageSerializeKey("is-side-nav-collapsed", false); + + const handleCollapseToggle = useCallback(() => { + setIsCollapsed(!isCollapsed); + }, [isCollapsed, setIsCollapsed]); + + return ( + + ); +} + +export const DocsNavItem = ({ isCollapsed }: { isCollapsed: boolean | undefined }) => ( + } label={t`Docs`} isCollapsed={isCollapsed} to="https://docs.gmx.io" external /> +); + +export function LogoSection({ isCollapsed }: { isCollapsed: boolean | undefined }) { + return ( + + GMX Logo + {!isCollapsed && GMX} + + ); +} + +interface NavItemProps { + icon: ReactNode; + label: ReactNode; + isActive?: boolean; + isCollapsed: boolean | undefined; + onClick?: () => void; + to?: string; + external?: boolean; +} + +export function NavItem({ icon, label, isActive = false, isCollapsed = false, onClick, to, external }: NavItemProps) { + const button = ( + + ); + + const content = to ? ( + external ? ( + + {button} + + ) : ( + {button} + ) + ) : ( + button + ); + + return ( +
  • + {isCollapsed ? ( + + ) : ( + content + )} +
  • + ); +} + +type NavItemType = { + icon: ReactNode; + label: string; + key: string; + to?: string; +}; + +export function MenuSection({ isCollapsed }: { isCollapsed: boolean | undefined }) { + const mainNavItems = useMemo( + (): NavItemType[] => [ + { icon: , label: t`Trade`, key: "trade", to: "/trade" }, + { icon: , label: t`Pools`, key: "pools", to: "/pools" }, + { icon: , label: t`Stake`, key: "stake", to: "/stake" }, + { icon: , label: t`Stats`, key: "stats", to: "/stats" }, + { icon: , label: t`Referrals`, key: "referrals", to: "/referrals" }, + { icon: , label: t`Leaderboard`, key: "leaderboard", to: "/leaderboard" }, + { icon: , label: t`Ecosystem`, key: "ecosystem", to: "/ecosystem" }, + ], + [] + ); + + const { pathname } = useLocation(); + + return ( +
      + {mainNavItems.map((item) => ( + + ))} +
    + ); +} + +export default SideNav; diff --git a/src/components/Skeleton/AccountPnlSummarySkeletonStructure.tsx b/src/components/Skeleton/AccountPnlSummarySkeletonStructure.tsx index 952dbdb56f..8780db0387 100644 --- a/src/components/Skeleton/AccountPnlSummarySkeletonStructure.tsx +++ b/src/components/Skeleton/AccountPnlSummarySkeletonStructure.tsx @@ -4,7 +4,7 @@ import { TableTd, TableTr } from "components/Table/Table"; export default function AccountPnlSummarySkeletonStructure() { return ( - + diff --git a/src/components/Skeleton/GMListSkeletonStructure.tsx b/src/components/Skeleton/GMListSkeletonStructure.tsx index e9e138d65f..e6a263c827 100644 --- a/src/components/Skeleton/GMListSkeletonStructure.tsx +++ b/src/components/Skeleton/GMListSkeletonStructure.tsx @@ -4,7 +4,7 @@ import { TableTd, TableTr } from "components/Table/Table"; export default function GMListSkeletonStructure({ withFavorite = true }: { withFavorite?: boolean }) { return ( - +
    {withFavorite && } diff --git a/src/components/Skeleton/LeaderboardTopAccountsStructure.tsx b/src/components/Skeleton/LeaderboardTopAccountsStructure.tsx index 739fa01b0f..8adb357923 100644 --- a/src/components/Skeleton/LeaderboardTopAccountsStructure.tsx +++ b/src/components/Skeleton/LeaderboardTopAccountsStructure.tsx @@ -4,7 +4,7 @@ import { TableTd, TableTr } from "components/Table/Table"; export function LeaderboardTopAccountsStructure() { return ( - + diff --git a/src/components/Skeleton/LeaderboardTopPositionsStructure.tsx b/src/components/Skeleton/LeaderboardTopPositionsStructure.tsx index 0a750172d5..5bd825d376 100644 --- a/src/components/Skeleton/LeaderboardTopPositionsStructure.tsx +++ b/src/components/Skeleton/LeaderboardTopPositionsStructure.tsx @@ -4,7 +4,7 @@ import { TableTd, TableTr } from "components/Table/Table"; export function LeaderboardTopPositionsStructure() { return ( - + diff --git a/src/components/Skeleton/MarketListSkeletonStructure.tsx b/src/components/Skeleton/MarketListSkeletonStructure.tsx index 8fa3ad29a7..f9e278ff34 100644 --- a/src/components/Skeleton/MarketListSkeletonStructure.tsx +++ b/src/components/Skeleton/MarketListSkeletonStructure.tsx @@ -4,7 +4,7 @@ import { TableTd, TableTr } from "components/Table/Table"; export default function MarketListSkeletonStructure() { return ( - +
    diff --git a/src/components/Skeleton/TradesHistorySkeletonStructure.tsx b/src/components/Skeleton/TradesHistorySkeletonStructure.tsx index 0557776349..786de194a3 100644 --- a/src/components/Skeleton/TradesHistorySkeletonStructure.tsx +++ b/src/components/Skeleton/TradesHistorySkeletonStructure.tsx @@ -8,7 +8,7 @@ type Props = { export default function TradesHistorySkeletonStructure(props: Props) { return ( - + diff --git a/src/components/Sorter/Sorter.tsx b/src/components/Sorter/Sorter.tsx index 02dc454744..f96b293fa3 100644 --- a/src/components/Sorter/Sorter.tsx +++ b/src/components/Sorter/Sorter.tsx @@ -8,7 +8,7 @@ import IcSortable from "img/ic_sortable.svg?react"; import IcSortedAsc from "img/ic_sorted_asc.svg?react"; import IcSortedDesc from "img/ic_sorted_desc.svg?react"; -const directionIconMap: Record = { +const directionIconMap: Record> = { asc: IcSortedAsc, desc: IcSortedDesc, unspecified: IcSortable, @@ -37,7 +37,7 @@ export function Sorter( onClickCapture={handleClick} > {props.children} - + ); } diff --git a/src/components/SuggestionInput/SuggestionInput.scss b/src/components/SuggestionInput/SuggestionInput.scss index 3524b561b0..c6d16e796f 100644 --- a/src/components/SuggestionInput/SuggestionInput.scss +++ b/src/components/SuggestionInput/SuggestionInput.scss @@ -1,3 +1,5 @@ +$suggestion-input-hover-background: var(--color-fill-surfaceElevatedHover); + .Suggestion-input-wrapper { position: relative; .Suggestion-list { @@ -9,37 +11,44 @@ padding: 0; margin-top: 1.5px; top: 100%; - background-color: var(--color-slate-600); + background-color: var(--color-slate-900); z-index: 1002; + overflow: hidden; + font-size: 13px; + font-weight: 500; + border: 0.5px solid var(--color-slate-600); li { padding: 0.5rem 0.75rem; cursor: pointer; - border-radius: var(--border-radius-sm); text-align: center; &:hover { - background: var(--color-slate-500); + background: var(--color-slate-800); } } } .Suggestion-input { - border: 1px solid var(--color-stroke-primary); + border: 1px solid var(--color-cold-blue-900); border-radius: var(--border-radius-sm); - padding-right: 3px; - line-height: 1; + line-height: 1.3; color: var(--color-gray-400); background: var(--color-cold-blue-900); + font-size: 13px; label { cursor: pointer; + flex-shrink: 0; } - &:hover, + &:hover { + background: $suggestion-input-hover-background; + border: 1px solid #19192b; + } &:focus { - border-color: var(--color-cold-blue-700); + border-color: var(--color-blue-300); } &:focus-within { - border-color: var(--color-cold-blue-500); + border-color: var(--color-blue-300); } &.input-error { @@ -47,11 +56,10 @@ } input { - padding: 2px 4px 2px 3px; - font-size: var(--font-size-body-medium); - line-height: var(--line-height-body-medium); + padding: 1.5px 2px 1.5px 4px; + font-size: 13px; + line-height: 1.3; border-radius: 4px; - max-width: 7rem; color: var(--color-white); &::placeholder { color: var(--color-slate-100); diff --git a/src/components/SuggestionInput/SuggestionInput.tsx b/src/components/SuggestionInput/SuggestionInput.tsx index 918c867892..7c8c5949c6 100644 --- a/src/components/SuggestionInput/SuggestionInput.tsx +++ b/src/components/SuggestionInput/SuggestionInput.tsx @@ -1,11 +1,12 @@ import cx from "classnames"; -import { ChangeEvent, KeyboardEvent, useCallback, useRef, useState } from "react"; +import { ChangeEvent, KeyboardEvent, useCallback, useEffect, useRef, useState } from "react"; import NumberInput from "components/NumberInput/NumberInput"; import "./SuggestionInput.scss"; type Props = { + inputId?: string; value?: string; setValue?: (value: string) => void; placeholder?: string; @@ -16,6 +17,8 @@ type Props = { onBlur?: () => void; onKeyDown?: (e: KeyboardEvent) => void; className?: string; + label?: React.ReactNode; + onPanelVisibleChange?: (isPanelVisible: boolean) => void; }; export default function SuggestionInput({ @@ -29,10 +32,19 @@ export default function SuggestionInput({ onBlur, onKeyDown, className, + label, + onPanelVisibleChange, + inputId, }: Props) { const inputRef = useRef(null); const [isPanelVisible, setIsPanelVisible] = useState(false); + useEffect(() => { + if (onPanelVisibleChange) { + onPanelVisibleChange(isPanelVisible); + } + }, [isPanelVisible, onPanelVisibleChange]); + const handleChange = useCallback( (event: ChangeEvent) => { if (setValue) { @@ -74,12 +86,14 @@ export default function SuggestionInput({ ); return ( -
    +
    inputRef.current?.focus()} > + {label ? {label} : null} setIsPanelVisible(true)} @@ -89,9 +103,11 @@ export default function SuggestionInput({ onValueChange={handleChange} onKeyDown={handleKeyDown} /> - + {symbol && ( +
    + {symbol} +
    + )}
    {suggestionList && isPanelVisible && (
      diff --git a/src/components/SwapMarketLabel/SwapMarketLabel.tsx b/src/components/SwapMarketLabel/SwapMarketLabel.tsx index 1aa25d3476..f8ac28b07f 100644 --- a/src/components/SwapMarketLabel/SwapMarketLabel.tsx +++ b/src/components/SwapMarketLabel/SwapMarketLabel.tsx @@ -12,7 +12,7 @@ export function SwapMarketLabel({ bordered?: boolean; }) { return ( - + {fromSymbol ? : "..."} {toSymbol ? : "..."} {fromSymbol}/{toSymbol} diff --git a/src/components/SwipeTabs/SwipeTabs.tsx b/src/components/SwipeTabs/SwipeTabs.tsx index 70240bcb3d..1939e54d70 100644 --- a/src/components/SwipeTabs/SwipeTabs.tsx +++ b/src/components/SwipeTabs/SwipeTabs.tsx @@ -206,7 +206,7 @@ export function SwipeTabs({ options, option, onChange, optionLabels, icons, qa, onClick(opt)} diff --git a/src/components/Synthetics/ChainContentHeader/ChainContentHeader.tsx b/src/components/Synthetics/ChainContentHeader/ChainContentHeader.tsx new file mode 100644 index 0000000000..56a4b66dda --- /dev/null +++ b/src/components/Synthetics/ChainContentHeader/ChainContentHeader.tsx @@ -0,0 +1,33 @@ +import cx from "classnames"; + +import { AppHeader } from "components/AppHeader/AppHeader"; +import { AppHeaderLogo } from "components/AppHeader/AppHeaderLogo"; +import { ChainDataImage } from "components/ChainDataImage"; + +export function ChainContentHeader({ + breadcrumbs, + leftContentClassName, +}: { + breadcrumbs?: React.ReactNode; + leftContentClassName?: string; +}) { + return ( + <> + + +
      + {breadcrumbs} + +
      +
    + } + /> +
    + {breadcrumbs} + +
    + + ); +} diff --git a/src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx b/src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx index 541393a5d3..94f49fa9fd 100644 --- a/src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +++ b/src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx @@ -2,7 +2,6 @@ import { Trans, t } from "@lingui/macro"; import cx from "classnames"; import partition from "lodash/partition"; import React, { useCallback, useMemo, useState } from "react"; -import { useMedia } from "react-use"; import type { Address } from "viem"; import { USD_DECIMALS } from "config/factors"; @@ -33,6 +32,7 @@ import { MissedCoinsPlace } from "domain/synthetics/userFeedback"; import { useMissedCoinsSearch } from "domain/synthetics/userFeedback/useMissedCoinsSearch"; import { stripBlacklistedWords, type Token } from "domain/tokens"; import { getMidPrice } from "domain/tokens/utils"; +import { useBreakpoints } from "lib/breakpoints"; import { formatAmountHuman, formatUsdPrice } from "lib/numbers"; import { EMPTY_ARRAY } from "lib/objects"; import { searchBy } from "lib/searchBy"; @@ -43,23 +43,18 @@ import { isChartAvailableForToken, } from "sdk/configs/tokens"; +import { EmptyTableContent } from "components/EmptyTableContent/EmptyTableContent"; import FavoriteStar from "components/FavoriteStar/FavoriteStar"; import { FavoriteTabs } from "components/FavoriteTabs/FavoriteTabs"; import SearchInput from "components/SearchInput/SearchInput"; import { Sorter, useSorterHandlers } from "components/Sorter/Sorter"; -import { TableTd, TableTr } from "components/Table/Table"; import { ButtonRowScrollFadeContainer } from "components/TableScrollFade/TableScrollFade"; import TokenIcon from "components/TokenIcon/TokenIcon"; import LongIcon from "img/long.svg?react"; import ShortIcon from "img/short.svg?react"; -import { - SELECTOR_BASE_MOBILE_THRESHOLD, - SelectorBase, - SelectorBaseMobileHeaderContent, - useSelectorClose, -} from "../SelectorBase/SelectorBase"; +import { SelectorBase, SelectorBaseMobileHeaderContent, useSelectorClose } from "../SelectorBase/SelectorBase"; type Props = { selectedToken: Token | undefined; @@ -73,40 +68,52 @@ export default function ChartTokenSelector(props: Props) { const { isSwap } = useSelector(selectTradeboxTradeFlags); const poolName = marketInfo && !isSwap ? getMarketPoolName(marketInfo) : null; - const chevronClassName = oneRowLabels === undefined ? undefined : oneRowLabels ? "!-mt-4" : "!-mt-1 self-start"; + const { isMobile } = useBreakpoints(); return ( - + {isSwap ? ( +
    + Swap +
    + ) : null} + + - + {!isSwap && <>{getTokenVisualMultiplier(selectedToken)}} {selectedToken.symbol}/USD {poolName && ( [{poolName}] @@ -159,8 +166,7 @@ function MarketsList() { const dayVolumes = dayVolumesData?.byIndexToken; const indexTokenStatsMap = useSelector(selectIndexTokenStatsMap).indexMap; - const isMobile = useMedia(`(max-width: ${SELECTOR_BASE_MOBILE_THRESHOLD}px)`); - const isSmallMobile = useMedia("(max-width: 450px)"); + const { isMobile, isSmallMobile } = useBreakpoints(); const close = useSelectorClose(); @@ -219,25 +225,20 @@ function MarketsList() { [chooseSuitableMarket, close, tradeType] ); - const rowVerticalPadding = cx({ + const rowVerticalPadding = cx("px-12 py-10", { "group-last-of-type/row:pb-8": !isMobile, - "h-50": !isMobile && !isSwap, - "py-4": (!isMobile && isSwap) || (isMobile && !isSwap), - "py-8": isMobile && isSwap, }); - const rowHorizontalPadding = isMobile - ? cx("px-2 first-of-type:pl-5 last-of-type:pr-8") - : cx("px-5 first-of-type:pl-16 last-of-type:pr-16"); + const rowHorizontalPadding = cx("pr-8"); const thClassName = cx( - "text-body-medium sticky top-0 z-10 whitespace-nowrap border-b border-slate-700 bg-slate-800 text-left font-normal uppercase text-slate-100", + "sticky top-0 z-10 whitespace-nowrap bg-slate-900 text-left text-[11px] font-medium uppercase text-slate-100", "first-of-type:text-left", - isMobile ? "first-of-type:!pl-40" : "first-of-type:!pl-37", + "first-of-type:!pl-44", rowVerticalPadding, rowHorizontalPadding ); const tdClassName = cx( - "text-body-medium", + "text-body-small", isMobile ? "align-top" : "align-middle", rowVerticalPadding, rowHorizontalPadding @@ -266,7 +267,7 @@ function MarketsList() { return ( <> -
    +
    +
    +
    {!isMobile && ( <> -
    +
    - + - {!isSwap && ( + {isSwap ? ( <> )} + + ) : ( + <> {!isMobile && ( - )} - + {!isMobile && ( + <> + + + + )} )} @@ -365,15 +385,11 @@ function MarketsList() { /> ) )} - {options && options.length > 0 && !sortedTokens?.length && ( - - - No markets matched. - - - )}
    Market @@ -322,21 +325,38 @@ function MarketsList() { - - {isSmallMobile ? VOL. : 24H VOL.} + + {isSmallMobile ? PRICE : LAST PRICE} - - OPEN INTEREST + + + 24H% - {availableLiquidityLabel} + + + {isSmallMobile ? VOL. : 24H VOL.} + + + OPEN INTEREST + + + {availableLiquidityLabel} +
    + {options && options.length > 0 && !sortedTokens?.length && ( + No markets matched} /> + )}
    ); @@ -544,7 +560,7 @@ function MarketListItem({ const dayPriceDeltaComponent = useMemo(() => { return (
    0, negative: dayPriceDelta?.deltaPercentage && dayPriceDelta?.deltaPercentage < 0, })} @@ -556,46 +572,53 @@ function MarketListItem({ if (isSwap) { return ( - - - + + + - + - {token.symbol} + {token.name} + {token.symbol} + +
    + + {tokenData + ? formatUsdPrice(getMidPrice(tokenData.prices), { visualMultiplier: tokenData.visualMultiplier }) + : "-"} + + {isMobile && {dayPriceDeltaComponent}} +
    + + {!isMobile && {dayPriceDeltaComponent}} ); } return ( - - - + + + - +
    - - - {getMarketIndexName({ indexToken: token, isSpotOnly: false })} - + + + + {getMarketIndexName({ indexToken: token, isSpotOnly: false })} + + {maxLeverage ? `${maxLeverage}x` : "-"} @@ -604,7 +627,7 @@ function MarketListItem({
    - + {tokenData ? formatUsdPrice(getMidPrice(tokenData.prices), { visualMultiplier: tokenData.visualMultiplier }) : "-"} @@ -613,17 +636,19 @@ function MarketListItem({
    {!isMobile && {dayPriceDeltaComponent}} - {dayVolume ? formatAmountHuman(dayVolume, USD_DECIMALS, true) : "-"} + + {dayVolume ? formatAmountHuman(dayVolume, USD_DECIMALS, true) : "-"} + {!isMobile && ( <> - - - + + + {formatAmountHuman(openInterestLong ?? 0n, USD_DECIMALS, true)} - - + + {formatAmountHuman(openInterestShort ?? 0n, USD_DECIMALS, true)} @@ -633,31 +658,20 @@ function MarketListItem({ {!isMobile ? ( <> - -
    - + +
    + {formatAmountHuman(maxLongLiquidityPool?.maxLongLiquidity, USD_DECIMALS, true)}
    - -
    - + +
    + {formatAmountHuman(maxShortLiquidityPool?.maxShortLiquidity, USD_DECIMALS, true)}
    - ) : ( - -
    - - {formatAmountHuman(maxLongLiquidityPool?.maxLongLiquidity, USD_DECIMALS, true)} -
    -
    - - {formatAmountHuman(maxShortLiquidityPool?.maxShortLiquidity, USD_DECIMALS, true)} -
    - - )} + ) : null} ); } diff --git a/src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx b/src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx index 8a60d96dea..eed53ac344 100644 --- a/src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx +++ b/src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx @@ -68,7 +68,7 @@ export function ClaimCollateralHistoryRow(p: ClaimCollateralHistoryRowProps) { } - handle={formattedTotalUsd} + handle={{formattedTotalUsd}} /> ); }, [claimAction]); @@ -77,7 +77,7 @@ export function ClaimCollateralHistoryRow(p: ClaimCollateralHistoryRowProps) {
    -
    {eventTitle}
    +
    {eventTitle}
    {formattedTimestamp}} tooltipClassName="ClaimHistoryRow-tooltip-portal cursor-help *:cursor-auto" renderContent={renderIsoTimestamp} />
    - {marketNamesJoined} - {sizeContent} + + {marketNamesJoined} + + + {sizeContent} +
    ); } diff --git a/src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx b/src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx index 74ed34226f..cf1e95e558 100644 --- a/src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx +++ b/src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx @@ -17,7 +17,6 @@ import { formatTradeActionTimestampISO, } from "components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared"; import { TableTd, TableTr } from "components/Table/Table"; -import Tooltip from "components/Tooltip/Tooltip"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; import NewLink20ReactComponent from "img/ic_new_link_20.svg?react"; @@ -65,8 +64,8 @@ export function ClaimFundingFeesHistoryRow({ claimAction }: ClaimFundingFeesHist ); return ( - { @@ -92,7 +91,7 @@ export function ClaimFundingFeesHistoryRow({ claimAction }: ClaimFundingFeesHist const indexName = getMarketIndexName(claimAction.markets[0]); return ( {formattedTotalUsd}} /> ); }, [claimAction]); @@ -205,7 +204,7 @@ export function ClaimFundingFeesHistoryRow({ claimAction }: ClaimFundingFeesHist
    -
    {_(eventTitleDescriptor)}
    +
    {_(eventTitleDescriptor)}
    {formattedTimestamp}} tooltipClassName="ClaimHistoryRow-tooltip-portal" renderContent={renderIsoTimestamp} />
    - {marketContent} - {sizeContent} + + {marketContent} + + + {sizeContent} +
    ); } diff --git a/src/components/Synthetics/Claims/ClaimableCardUI.tsx b/src/components/Synthetics/Claims/ClaimableCardUI.tsx index 911ff34725..c56cb6ab53 100644 --- a/src/components/Synthetics/Claims/ClaimableCardUI.tsx +++ b/src/components/Synthetics/Claims/ClaimableCardUI.tsx @@ -23,19 +23,20 @@ type Props = { export function ClaimableCardUI({ title, style, sections }: Props) { const [section1, section2] = sections; - const isHorizontal = useMedia("(min-width: 600px) and (max-width: 1100px)"); + const isHorizontal = useMedia("(min-width: 600px)"); return ( -
    -
    {title}
    +
    +
    {title}
    - {!isHorizontal &&
    } - {isHorizontal &&
    }
    @@ -47,20 +48,29 @@ function Section({ buttonText, onButtonClick, tooltipText, title, usd }: Section const usdFormatted = useMemo(() => formatDeltaUsd(usd), [usd]); return ( -
    -
    - {title} - +
    +
    + {tooltipText ? ( - + {usdFormatted}} + position="bottom-start" + renderContent={renderTooltipContent} + /> ) : ( - usdFormatted + {usdFormatted} )} + {title} +
    +
    +
    -
    ); } diff --git a/src/components/Synthetics/Claims/Claims.tsx b/src/components/Synthetics/Claims/Claims.tsx index 72da31425e..7a012adcda 100644 --- a/src/components/Synthetics/Claims/Claims.tsx +++ b/src/components/Synthetics/Claims/Claims.tsx @@ -1,14 +1,12 @@ import { Trans } from "@lingui/macro"; -import cx from "classnames"; import { useCallback, useState } from "react"; -import { useMedia } from "react-use"; import { selectAccount, selectChainId } from "context/SyntheticsStateContext/selectors/globalSelectors"; import { useSelector } from "context/SyntheticsStateContext/utils"; import { useClaimCollateralHistory } from "domain/synthetics/claimHistory"; import { ClaimableCard } from "./ClaimableCard"; -import { ClaimsHistory } from "./ClaimsHistory"; +import { ClaimsHistory, ClaimsHistoryProps } from "./ClaimsHistory"; import { SettleAccruedCard } from "./SettleAccruedCard"; import { AccruedPositionPriceImpactRebateModal } from "../AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal"; import { ClaimablePositionPriceImpactRebateModal } from "../ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal"; @@ -19,19 +17,18 @@ import "./Claims.scss"; const CLAIMS_HISTORY_PREFETCH_SIZE = 100; -const MARGIN_RIGHT = { marginRight: 4 }; -const MARGIN_LEFT = { marginLeft: 4 }; - export function Claims({ isSettling, setIsSettling, setPendingTxns, allowedSlippage, + claimsHistoryProps, }: { isSettling: boolean; setIsSettling: (v: boolean) => void; setPendingTxns: (txns: any) => void; allowedSlippage: number; + claimsHistoryProps: ClaimsHistoryProps; }) { const chainId = useSelector(selectChainId); const account = useSelector(selectAccount); @@ -73,8 +70,6 @@ export function Claims({ setIsClaiming(false); }, []); - const isMobile = useMedia("(max-width: 1100px)"); - return ( <> @@ -99,28 +94,22 @@ export function Claims({ Loading...
    )} -
    +
    {account && !isLoading && ( )} {account && !isLoading && ( )}
    - +
    ); diff --git a/src/components/Synthetics/Claims/ClaimsHistory.tsx b/src/components/Synthetics/Claims/ClaimsHistory.tsx index 79554695c0..f0da476dcd 100644 --- a/src/components/Synthetics/Claims/ClaimsHistory.tsx +++ b/src/components/Synthetics/Claims/ClaimsHistory.tsx @@ -1,7 +1,7 @@ import { t, Trans } from "@lingui/macro"; import { useLingui } from "@lingui/react"; import formatDate from "date-fns/format"; -import { useCallback, useEffect, useState } from "react"; +import { ReactNode, useCallback, useEffect, useState } from "react"; import { getExplorerUrl } from "config/chains"; import { CLAIMS_HISTORY_PER_PAGE } from "config/ui"; @@ -15,15 +15,16 @@ import { formatTokenAmount } from "lib/numbers"; import { EMPTY_ARRAY } from "lib/objects"; import Button from "components/Button/Button"; +import { EmptyTableContent } from "components/EmptyTableContent/EmptyTableContent"; import { BottomTablePagination } from "components/Pagination/BottomTablePagination"; import usePagination from "components/Referrals/usePagination"; import { ClaimsHistorySkeleton } from "components/Skeleton/Skeleton"; import { DateRangeSelect } from "components/Synthetics/DateRangeSelect/DateRangeSelect"; import { MarketFilter } from "components/Synthetics/TableMarketFilter/MarketFilter"; -import { TableTd, TableTh, TableTheadTr, TableTr } from "components/Table/Table"; +import { TableTh, TableTheadTr } from "components/Table/Table"; import { TableScrollFadeContainer } from "components/TableScrollFade/TableScrollFade"; -import downloadIcon from "img/ic_download_simple.svg"; +import DownloadIcon from "img/ic_download2.svg?react"; import { claimCollateralEventTitles } from "./ClaimHistoryRow/ClaimCollateralHistoryRow"; import { claimFundingFeeEventTitles } from "./ClaimHistoryRow/ClaimFundingFeesHistoryRow"; @@ -35,7 +36,7 @@ import "./ClaimsHistory.scss"; const CLAIMS_HISTORY_PREFETCH_SIZE = 100; -export function ClaimsHistory() { +export const useClaimsHistoryState = (): ClaimsHistoryProps & { controls: ReactNode } => { const chainId = useSelector(selectChainId); const account = useAccount(); @@ -83,24 +84,67 @@ export function ClaimsHistory() { const handleCsvDownload = useDownloadAsCsv(claimActions); - return ( - <> -
    -
    -
    - Claims History -
    -
    -
    - -
    - -
    + const controls = ( +
    + + +
    + ); + + return { + isLoading, + isEmpty, + hasFilters, + eventNameFilter, + setEventNameFilter, + marketAddressesFilter, + setMarketAddressesFilter, + currentPage, + setCurrentPage, + pageCount, + currentPageData, + controls, + }; +}; - +export type ClaimsHistoryProps = { + isLoading: boolean; + isEmpty: boolean; + hasFilters: boolean; + eventNameFilter: string[]; + setEventNameFilter: (eventNameFilter: string[]) => void; + marketAddressesFilter: string[]; + setMarketAddressesFilter: (marketAddressesFilter: string[]) => void; + currentPage: number; + setCurrentPage: (currentPage: number) => void; + pageCount: number; + currentPageData: ClaimAction[]; +}; + +export function ClaimsHistory({ + isLoading, + isEmpty, + hasFilters, + eventNameFilter, + setEventNameFilter, + marketAddressesFilter, + setMarketAddressesFilter, + currentPage, + setCurrentPage, + pageCount, + currentPageData, +}: ClaimsHistoryProps) { + return ( +
    + + {!isEmpty && ( @@ -108,7 +152,7 @@ export function ClaimsHistory() { - + @@ -126,28 +170,25 @@ export function ClaimsHistory() { ) : ( currentPageData.map((claimAction) => ) )} - {isEmpty && !hasFilters && ( - - - No claims yet - - - )} - - {isEmpty && hasFilters && ( - - - No claims match the selected filters - - - )}
    -
    + )} + + {isEmpty && !hasFilters && ( + No claims yet} /> + )} + + {isEmpty && hasFilters && ( + No claims match the selected filters} + /> + )} + - -
    - + +
    ); } diff --git a/src/components/Synthetics/CollateralSelector/CollateralSelector.scss b/src/components/Synthetics/CollateralSelector/CollateralSelector.scss index 5a3460ef1d..d25bd45ea2 100644 --- a/src/components/Synthetics/CollateralSelector/CollateralSelector.scss +++ b/src/components/Synthetics/CollateralSelector/CollateralSelector.scss @@ -3,7 +3,7 @@ &-column-pool { display: flex; align-items: center; - gap: 1rem; + gap: 8px; } &-info { diff --git a/src/components/Synthetics/CollateralSelector/CollateralSelector.tsx b/src/components/Synthetics/CollateralSelector/CollateralSelector.tsx index 4039423947..566ac8b4dc 100644 --- a/src/components/Synthetics/CollateralSelector/CollateralSelector.tsx +++ b/src/components/Synthetics/CollateralSelector/CollateralSelector.tsx @@ -135,7 +135,7 @@ function CollateralSelectorMobile(props: Props) { }} tokenData={option} /> -

    {description}

    +

    {description}

    ); })} @@ -176,7 +176,7 @@ function CollateralListItemMobile({ return (
    - +
    {tokenData.symbol}
    diff --git a/src/components/Synthetics/DateRangeSelect/DateRangeSelect.scss b/src/components/Synthetics/DateRangeSelect/DateRangeSelect.scss index ca22f79335..ee5b050429 100644 --- a/src/components/Synthetics/DateRangeSelect/DateRangeSelect.scss +++ b/src/components/Synthetics/DateRangeSelect/DateRangeSelect.scss @@ -6,10 +6,10 @@ &-popover { position: relative; z-index: 1000; - - border-radius: var(--border-radius-sm); + overflow: hidden; + border-radius: 8px; background-color: var(--dark-blue-bg); - border: 1px solid var(--color-gray-800); + border: 0.5px solid var(--color-gray-800); } &-common-items { @@ -28,11 +28,12 @@ } &-monthAndYearPickers select { - background-color: var(--dark-blue-bg); color: var(--color-white); background-image: none; padding: 10px; + font-weight: 500; + font-size: 16px; option { color: var(--color-white); @@ -40,16 +41,81 @@ } } + &-month { + padding: 0; + padding-left: 12px; + padding-right: 12px; + } + + &-days { + display: grid; + grid-template-columns: repeat(7, 1fr); + } + + &-day { + width: 100%; + height: 36px; + padding-left: 1px; + padding-right: 1px; + margin-bottom: 2px; + } + + &-dayNumber, + &-inRange, + &-startEdge, + &-endEdge, + &-dayEndPreview, + &-dayStartPreview { + display: block; + width: 100%; + height: 100%; + font-weight: 500; + font-size: 13px; + top: 0; + left: 0; + right: 0; + bottom: 0; + } + &-dayNumber span { color: var(--color-white); } - &-nextPrevButton { - background-color: var(--color-cold-blue-900); + &-weekDay { + color: var(--color-slate-100); + text-transform: uppercase; + font-size: 11px; + font-weight: 500; + } + + &-prevButton, + &-nextButton { + margin: 0; + border-radius: 8px; + width: 32px; + height: 32px; + background-color: var(--color-slate-800); + position: relative; + } + + &-prevButton i, + &-nextButton i { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 16px; + height: 16px; + background-image: url("img/ic_chevron_left.svg"); + background-size: 16px; + background-repeat: no-repeat; + background-position: center; + border: none; + margin: 0; } - &-prevButton i { - border-color: transparent white transparent transparent; + &-nextButton i { + transform: translate(-50%, -50%) rotate(180deg); } &-prevButton:hover { @@ -76,7 +142,7 @@ bottom: 0; background-color: var(--color-blue-600); - border-radius: 4px; + border-radius: 8px; z-index: 0; } } @@ -94,8 +160,8 @@ &-dayStartOfWeek &-inRange, &-dayStartOfMonth &-inRange, &-dayStartOfMonth &-dayInPreview { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; + border-top-left-radius: 8px; + border-bottom-left-radius: 8px; } &-dayEndPreview, @@ -104,15 +170,15 @@ &-dayEndOfWeek &-inRange, &-dayEndOfMonth &-inRange, &-dayEndOfMonth &-dayInPreview { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; + border-top-right-radius: 8px; + border-bottom-right-radius: 8px; } &-dayStartOfWeek &-dayEndPreview, &-dayEndOfWeek &-dayStartPreview, &-dayStartOfMonth &-dayEndPreview, &-dayEndOfMonth &-dayStartPreview { - border-radius: 4px; + border-radius: 8px; } &-dayHovered { @@ -121,6 +187,16 @@ } } + &-dayToday &-dayNumber span::after { + background-color: var(--color-blue-300) !important; + border-radius: 4px !important; + width: 4px !important; + height: 4px !important; + bottom: 2px !important; + left: 50% !important; + transform: translateX(-50%) !important; + } + &-dayDisabled { background-color: var(--color-gray-900); } @@ -130,4 +206,10 @@ width: auto; } } + + &-monthAndYearWrapper { + padding: 12px; + border-bottom: 0.5px solid var(--color-slate-600); + height: unset; + } } diff --git a/src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx b/src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx index cd88544c14..7d6b3acca0 100644 --- a/src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +++ b/src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx @@ -1,5 +1,5 @@ import { autoUpdate, flip, offset, shift, useFloating } from "@floating-ui/react"; -import { Popover } from "@headlessui/react"; +import { Popover, Portal } from "@headlessui/react"; import type { MessageDescriptor } from "@lingui/core"; import { msg, t } from "@lingui/macro"; import { useLingui } from "@lingui/react"; @@ -21,7 +21,7 @@ import { locales } from "lib/i18n"; import Button from "components/Button/Button"; -import calendarIcon from "img/ic_calendar.svg"; +import CalendarIcon from "img/ic_calendar.svg?react"; import "react-date-range/dist/styles.css"; // main css file import "react-date-range/dist/theme/default.css"; // theme css file @@ -73,14 +73,16 @@ const DATE_RANGE_CLASSNAMES: DateRangeClassNames = { dayEndOfMonth: "DateRangeSelect-dayEndOfMonth", selected: "DateRangeSelect-selected", dayDisabled: "DateRangeSelect-dayDisabled", + day: "DateRangeSelect-day", + monthAndYearWrapper: "DateRangeSelect-monthAndYearWrapper", + weekDay: "DateRangeSelect-weekDay", + days: "DateRangeSelect-days", + dayToday: "DateRangeSelect-dayToday", }; const RANGE_COLORS = ["#262843", "#3ecf8e", "#fed14c"]; const PRESETS = { - month: { - months: 1, - } satisfies Duration, days30: { days: 30, } satisfies Duration, @@ -99,11 +101,10 @@ const PRESETS = { type PresetPeriod = keyof typeof PRESETS; const PRESET_LABELS: Record = { - month: msg`Last month`, - days30: msg`Last 30d`, - days7: msg`Last 7d`, - days90: msg`Last 90d`, - days365: msg`Last 365d`, + days30: msg`30d`, + days7: msg`7d`, + days90: msg`90d`, + days365: msg`Last year`, allTime: msg`All time`, }; @@ -117,7 +118,7 @@ export function DateRangeSelect({ startDate, endDate, onChange, handleClassName const { refs, floatingStyles } = useFloating({ middleware: [offset(10), flip(), shift()], - placement: "bottom-end", + placement: "top-start", whileElementsMounted: autoUpdate, }); @@ -179,44 +180,44 @@ export function DateRangeSelect({ startDate, endDate, onChange, handleClassName return ( <> - - {buttonText} + + - -
    - {DATE_RANGE_SELECT_PRESETS.map((preset) => ( - - ))} -
    - -
    + + + +
    + {DATE_RANGE_SELECT_PRESETS.map((preset) => ( + + ))} +
    +
    +
    ); @@ -299,42 +300,42 @@ export function DateSelect({ return ( <> - - {buttonText} + + - -
    - {DATE_SELECT_PRESETS.map((preset) => ( - - ))} -
    - -
    + + +
    + {DATE_SELECT_PRESETS.map((preset) => ( + + ))} +
    + +
    +
    ); diff --git a/src/components/Synthetics/ExpandableRow.tsx b/src/components/Synthetics/ExpandableRow.tsx index bfacd71f57..25eeb4b804 100644 --- a/src/components/Synthetics/ExpandableRow.tsx +++ b/src/components/Synthetics/ExpandableRow.tsx @@ -6,6 +6,7 @@ import { useMedia } from "react-use"; import { usePrevious } from "lib/usePrevious"; +import ToggleSwitch from "components/ToggleSwitch/ToggleSwitch"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; import { SyntheticsInfoRow } from "./SyntheticsInfoRow"; @@ -60,6 +61,8 @@ interface Props { className?: string; contentClassName?: string; scrollIntoViewOnMobile?: boolean; + withToggleSwitch?: boolean; + row?: boolean; } export function ExpandableRow({ @@ -74,11 +77,13 @@ export function ExpandableRow({ className, contentClassName, scrollIntoViewOnMobile = false, + withToggleSwitch = false, + row = true, }: Props) { const previousHasError = usePrevious(hasError); const contentRef = useRef(null); - const isMobile = useMedia(`(max-width: 1100px)`, false); + const isMobile = useMedia(`(max-width: 1024px)`, false); const handleAnimationComplete = useCallback( (definition: string) => { @@ -95,13 +100,17 @@ export function ExpandableRow({ } }, [hasError, previousHasError, open, onToggle, autoExpandOnError]); - const handleOnClick = useCallback(() => { - if (hasError && disableCollapseOnError) { - return; - } + const handleOnClick = useCallback( + (e: React.MouseEvent) => { + e.preventDefault(); + if (hasError && disableCollapseOnError) { + return; + } - onToggle(!open); - }, [onToggle, open, hasError, disableCollapseOnError]); + onToggle(!open); + }, + [onToggle, open, hasError, disableCollapseOnError] + ); const label = useMemo(() => { return hasError && disableCollapseOnError ? : title; @@ -109,24 +118,43 @@ export function ExpandableRow({ const disabled = disableCollapseOnError && hasError; + const value = withToggleSwitch ? ( + + ) : open ? ( + + ) : ( + + ); + return (
    - {label} - } - value={ - open ? ( - - ) : ( - - ) - } - /> + {row ? ( + {label} + } + value={value} + /> + ) : ( + + )} {open && ( diff --git a/src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx b/src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx index d547a609e2..b431a6a676 100644 --- a/src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx +++ b/src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx @@ -2,7 +2,7 @@ import { Placement, autoUpdate, flip, shift, useFloating } from "@floating-ui/re import { Menu } from "@headlessui/react"; import { Trans } from "@lingui/macro"; import React, { useCallback, type ReactNode } from "react"; -import { FiChevronDown } from "react-icons/fi"; +import { HiDotsVertical } from "react-icons/hi"; import { createBreakpoint } from "react-use"; import { getExplorerUrl } from "config/chains"; @@ -104,13 +104,13 @@ export default function GmAssetDropdown({ token, marketsInfoData, tokensData, po ref={refs.setReference} className="dropdown-arrow center-both" > - + {market && ( diff --git a/src/components/Synthetics/GmList/FeeApyLabel.tsx b/src/components/Synthetics/GmList/FeeApyLabel.tsx index e126f5d27e..379011312a 100644 --- a/src/components/Synthetics/GmList/FeeApyLabel.tsx +++ b/src/components/Synthetics/GmList/FeeApyLabel.tsx @@ -16,7 +16,7 @@ export function FeeApyLabel({ handle={upperCase ? label.toUpperCase() : label} className="normal-case" position="bottom-end" - disableHandleStyle={disableHandleStyle} + styleType={disableHandleStyle ? "none" : "underline"} content={ Estimated annualized fees generated by trading activity (open, close, borrow, liquidations, swaps) over the diff --git a/src/components/Synthetics/GmList/GlvList.tsx b/src/components/Synthetics/GmList/GlvList.tsx index 213e4b5c5a..f5fb27c3a1 100644 --- a/src/components/Synthetics/GmList/GlvList.tsx +++ b/src/components/Synthetics/GmList/GlvList.tsx @@ -87,10 +87,10 @@ export function GlvList({ ) : (
    - +
    - - + + VAULT @@ -113,7 +113,7 @@ export function GlvList({ content={Graph showing performance vs benchmark over the selected period.} /> - + diff --git a/src/components/Synthetics/GmList/GmList.tsx b/src/components/Synthetics/GmList/GmList.tsx index 1f6b97face..e9dd2344ff 100644 --- a/src/components/Synthetics/GmList/GmList.tsx +++ b/src/components/Synthetics/GmList/GmList.tsx @@ -13,13 +13,14 @@ import PoolsCard from "pages/Pools/PoolsCard"; import { usePoolsIsMobilePage } from "pages/Pools/usePoolsIsMobilePage"; import Loader from "components/Common/Loader"; +import { EmptyTableContent } from "components/EmptyTableContent/EmptyTableContent"; import { FavoriteTabs } from "components/FavoriteTabs/FavoriteTabs"; import Pagination from "components/Pagination/Pagination"; import usePagination, { DEFAULT_PAGE_SIZE } from "components/Referrals/usePagination"; import SearchInput from "components/SearchInput/SearchInput"; import { GMListSkeleton } from "components/Skeleton/Skeleton"; import { Sorter, useSorterHandlers } from "components/Sorter/Sorter"; -import { TableTd, TableTh, TableTheadTr, TableTr } from "components/Table/Table"; +import { TableTh, TableTheadTr } from "components/Table/Table"; import { ButtonRowScrollFadeContainer, TableScrollFadeContainer } from "components/TableScrollFade/TableScrollFade"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; @@ -116,7 +117,32 @@ export function GmList({ return ( + + Pools providing liquidity to specific GMX markets, supporting single-asset and native asset options. + +
    + +
    + + + +
    +
    + + } bottom={ pageCount > 1 ? ( @@ -124,42 +150,21 @@ export function GmList({ } >
    -
    - -
    - - - -
    -
    {isMobile ? (
    {rows} {!currentData.length && !isLoading && ( -
    - No pools matched. -
    + )} {isLoading && }
    ) : ( -
    +
    - - + + POOL @@ -195,31 +200,19 @@ export function GmList({ content={Graph showing performance vs benchmark over the selected period.} /> - + {rows} - {!currentData.length && !isLoading && ( - - -
    - No pools matched. -
    -
    -
    - )} - - {!isLoading && currentData.length < DEFAULT_PAGE_SIZE && ( - - )} {isLoading && }
    + + {!currentData.length && !isLoading && ( + + )}
    )}
    diff --git a/src/components/Synthetics/GmList/GmListItem.tsx b/src/components/Synthetics/GmList/GmListItem.tsx index 98c970e2af..fe79b6e3dd 100644 --- a/src/components/Synthetics/GmList/GmListItem.tsx +++ b/src/components/Synthetics/GmList/GmListItem.tsx @@ -1,7 +1,8 @@ import { Trans } from "@lingui/macro"; -import cx from "classnames"; -import React from "react"; -import { Line, LineChart } from "recharts"; +import React, { useCallback } from "react"; +import { HiDotsVertical } from "react-icons/hi"; +import { useHistory } from "react-router-dom"; +import { Area, AreaChart } from "recharts"; import { useSettings } from "context/SettingsContext/SettingsContextProvider"; import { useTokensData } from "context/SyntheticsStateContext/hooks/globalsHooks"; @@ -97,6 +98,16 @@ export function GmListItem({ const isMobile = usePoolsIsMobilePage(); + const history = useHistory(); + + const handleMobileItemClick = useCallback( + (event: React.MouseEvent) => { + history.push(`/pools/details?market=${marketOrGlvTokenAddress}`); + event.stopPropagation(); + }, + [history, marketOrGlvTokenAddress] + ); + if (!token || !indexToken || !longToken || !shortToken || !marketOrGlv) { return null; } @@ -122,8 +133,8 @@ export function GmListItem({ if (isMobile) { return ( -
    -
    +
    +
    -
    - {isGlv - ? getGlvDisplayName(marketOrGlv) - : getMarketIndexName({ indexToken, isSpotOnly: marketOrGlv.isSpotOnly })} +
    + + {isGlv + ? getGlvDisplayName(marketOrGlv) + : getMarketIndexName({ indexToken, isSpotOnly: marketOrGlv.isSpotOnly })} +
    @@ -150,25 +163,19 @@ export function GmListItem({
    -
    - -
    + - {onFavoriteClick && ( -
    - + {onFavoriteClick ? ( +
    +
    - )} + ) : null}
    -
    +
    TVL (Supply)} value={ @@ -200,11 +207,12 @@ export function GmListItem({ /> } - value={performance ? formatPerformanceBps(performance) : "..."} + value={performance ? {formatPerformanceBps(performance)} : "..."} />
    + View Details @@ -214,17 +222,14 @@ export function GmListItem({ } return ( - - + +
    -
    +
    {onFavoriteClick && ( -
    +
    + )}
    @@ -237,10 +242,12 @@ export function GmListItem({ />
    -
    - {isGlv - ? getGlvDisplayName(marketOrGlv) - : getMarketIndexName({ indexToken, isSpotOnly: Boolean(marketOrGlv?.isSpotOnly) })} +
    + + {isGlv + ? getGlvDisplayName(marketOrGlv) + : getMarketIndexName({ indexToken, isSpotOnly: Boolean(marketOrGlv?.isSpotOnly) })} +
    @@ -254,17 +261,18 @@ export function GmListItem({ {showDebugValues && {marketOrGlvTokenAddress}}
    - + - + - + - {performance ?
    {formatPerformanceBps(performance)}
    : "..."}
    + + {performance ?
    {formatPerformanceBps(performance)}
    : "..."} +
    - + - + @@ -298,18 +309,15 @@ export function GmListItem({ } const MOBILE_SNAPSHOT_GRAPH_SIZE = { - width: 88, - height: 22, + width: 80, + height: 32, }; const DESKTOP_SNAPSHOT_GRAPH_SIZE = { width: 160, - height: 30, + height: 32, }; -const MOBILE_GRAPH_SIZE_CLASSNAME = `h-[${MOBILE_SNAPSHOT_GRAPH_SIZE.height}px] w-[${MOBILE_SNAPSHOT_GRAPH_SIZE.width}px]`; -const DESKTOP_GRAPH_SIZE_CLASSNAME = `h-[${DESKTOP_SNAPSHOT_GRAPH_SIZE.height}px] w-[${DESKTOP_SNAPSHOT_GRAPH_SIZE.width}px]`; - const SnapshotGraph = ({ performanceSnapshots, performance, @@ -323,19 +331,26 @@ const SnapshotGraph = ({ const size = isMobile ? MOBILE_SNAPSHOT_GRAPH_SIZE : DESKTOP_SNAPSHOT_GRAPH_SIZE; return ( -
    - - + + + + + + + + + + + + - +
    ); }; diff --git a/src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx b/src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx index e4072928f0..e07f8af156 100644 --- a/src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx +++ b/src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx @@ -22,6 +22,7 @@ export const GmTokensBalanceInfo = ({ daysConsidered, isGlv = false, singleLine = false, + className, }: { token: TokenData; earnedTotal?: bigint; @@ -29,6 +30,7 @@ export const GmTokensBalanceInfo = ({ daysConsidered: number; isGlv?: boolean; singleLine?: boolean; + className?: string; }) => { const content = token.balance !== undefined && token.balance !== 0n ? ( @@ -43,6 +45,7 @@ export const GmTokensBalanceInfo = ({ } symbol={token.symbol} singleLine={singleLine} + className={className} /> ) : ( - @@ -57,7 +60,7 @@ export const GmTokensBalanceInfo = ({ showDollar={false} label={t`Total Earned Fees`} textClassName={getPositiveOrNegativeClass(earnedTotal)} - value={formatDeltaUsd(earnedTotal, undefined)} + value={{formatDeltaUsd(earnedTotal, undefined)}} /> )} {earnedRecently !== undefined && ( @@ -65,7 +68,7 @@ export const GmTokensBalanceInfo = ({ showDollar={false} textClassName={getPositiveOrNegativeClass(earnedRecently)} label={t`${daysConsidered}d Earned Fees`} - value={formatDeltaUsd(earnedRecently, undefined)} + value={{formatDeltaUsd(earnedRecently, undefined)}} /> )}
    @@ -119,13 +122,21 @@ export const GmTokensTotalBalanceInfo = ({ + {formatDeltaUsd(userEarnings.allMarkets.total, undefined, { showPlusForZero: true })} + + } showDollar={false} /> + {formatDeltaUsd(userEarnings.allMarkets.recent, undefined, { showPlusForZero: true })} + + } showDollar={false} /> {userEarnings.allMarkets.expected365d > 0 && ( @@ -133,7 +144,11 @@ export const GmTokensTotalBalanceInfo = ({ + {formatDeltaUsd(userEarnings.allMarkets.expected365d, undefined, { showPlusForZero: true })} + + } showDollar={false} />
    diff --git a/src/components/Synthetics/GmList/PerformanceLabel.tsx b/src/components/Synthetics/GmList/PerformanceLabel.tsx index b49c5c1e00..2927e5591f 100644 --- a/src/components/Synthetics/GmList/PerformanceLabel.tsx +++ b/src/components/Synthetics/GmList/PerformanceLabel.tsx @@ -18,7 +18,7 @@ export function PerformanceLabel({ handle={upperCase ? label.toUpperCase() : label} className="normal-case" position="bottom-end" - disableHandleStyle={disableHandleStyle} + styleType={disableHandleStyle ? "none" : "underline"} content={ Annualized return of the pool or vault over the selected period, compared to a benchmark that follows Uniswap diff --git a/src/components/Synthetics/GmList/TokenValuesInfoCell.tsx b/src/components/Synthetics/GmList/TokenValuesInfoCell.tsx index e4d186be8a..8faeaff914 100644 --- a/src/components/Synthetics/GmList/TokenValuesInfoCell.tsx +++ b/src/components/Synthetics/GmList/TokenValuesInfoCell.tsx @@ -1,20 +1,24 @@ +import cx from "classnames"; + export function TokenValuesInfoCell({ value, usd, symbol, singleLine, + className, }: { value: string; usd?: string; symbol?: string; singleLine?: boolean; + className?: string; }) { const isNumber = !isNaN(Number(value.replace(/,/g, ""))); const content = ( <> - {usd &&
    {usd}
    } + {usd &&
    {usd}
    } {value && ( -
    +
    ({symbol && isNumber ? `${value} ${symbol}` : value})
    )} diff --git a/src/components/Synthetics/GmSwap/GmFees/GmFees.tsx b/src/components/Synthetics/GmSwap/GmFees/GmFees.tsx index df45d83dba..b1fe81b6d1 100644 --- a/src/components/Synthetics/GmSwap/GmFees/GmFees.tsx +++ b/src/components/Synthetics/GmSwap/GmFees/GmFees.tsx @@ -48,7 +48,7 @@ export function GmFees(p: Props) { handle={ 0, })} > @@ -60,7 +60,9 @@ export function GmFees(p: Props) { {" / "} 0 })} + className={cx("numbers", { + "text-green-300": p.totalFees?.deltaUsd !== undefined && p.totalFees.deltaUsd > 0, + })} > {p.totalFees?.deltaUsd !== undefined && p.totalFees.deltaUsd > 0 ? "+" : "-"} {formatPercentage(p.totalFees?.precisePercentage, { @@ -80,15 +82,17 @@ export function GmFees(p: Props) {
    {t`Price Impact`}:
    ( - {formatPercentage(p.swapPriceImpact?.precisePercentage, { - bps: false, - displayDecimals: 3, - })}{" "} + + {formatPercentage(p.swapPriceImpact?.precisePercentage, { + bps: false, + displayDecimals: 3, + })} + {" "} of {operationText} amount)
    } - value={formatDeltaUsd(p.swapPriceImpact?.deltaUsd)!} + value={{formatDeltaUsd(p.swapPriceImpact?.deltaUsd)!}} showDollar={false} textClassName={getPositiveOrNegativeClass( p.swapPriceImpact === undefined ? undefined : p.swapPriceImpact.deltaUsd @@ -104,15 +108,17 @@ export function GmFees(p: Props) {
    {p.operation === Operation.Deposit ? t`Buy Fee` : t`Sell Fee`}:
    ( - {formatPercentage(p.swapFee.precisePercentage, { - bps: false, - displayDecimals: 3, - })}{" "} + + {formatPercentage(p.swapFee.precisePercentage, { + bps: false, + displayDecimals: 3, + })} + {" "} of {operationText} amount)
    } - value={formatDeltaUsd(p.swapFee.deltaUsd)!} + value={{formatDeltaUsd(p.swapFee.deltaUsd)!}} showDollar={false} textClassName={getPositiveOrNegativeClass(p.swapFee.deltaUsd)} /> @@ -126,15 +132,17 @@ export function GmFees(p: Props) {
    {t`UI Fee`}:
    ( - {formatPercentage(p.uiFee?.precisePercentage, { - bps: false, - displayDecimals: 3, - })}{" "} + + {formatPercentage(p.uiFee?.precisePercentage, { + bps: false, + displayDecimals: 3, + })} + {" "} of {operationText} amount)
    } - value={formatDeltaUsd(p.uiFee?.deltaUsd)!} + value={{formatDeltaUsd(p.uiFee?.deltaUsd)!}} showDollar={false} textClassName="text-red-500" /> @@ -147,15 +155,17 @@ export function GmFees(p: Props) {
    {t`Shift Fee`}:
    ( - {formatPercentage(p.shiftFee.precisePercentage, { - bps: false, - displayDecimals: 3, - })}{" "} + + {formatPercentage(p.shiftFee.precisePercentage, { + bps: false, + displayDecimals: 3, + })} + {" "} of {operationText} amount)
    } - value={formatDeltaUsd(p.shiftFee.deltaUsd)!} + value={{formatDeltaUsd(p.shiftFee.deltaUsd)!}} showDollar={false} /> )} @@ -165,7 +175,7 @@ export function GmFees(p: Props) { ); } return ( - 0 })}> + 0 })}> {formatPercentage(p.swapPriceImpact?.precisePercentage, { bps: false, displayDecimals: 3, diff --git a/src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/GmDepositWithdrawalBox.tsx b/src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/GmDepositWithdrawalBox.tsx index c3b1089dbc..7fc39e47b9 100644 --- a/src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/GmDepositWithdrawalBox.tsx +++ b/src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/GmDepositWithdrawalBox.tsx @@ -45,7 +45,6 @@ import { useGmSwapSubmitState } from "./useGmSwapSubmitState"; import { useUpdateInputAmounts } from "./useUpdateInputAmounts"; import { useUpdateTokens } from "./useUpdateTokens"; import type { GmSwapBoxProps } from "../GmSwapBox"; -import { Swap } from "../Swap"; import { Mode, Operation } from "../types"; import { InfoRows } from "./InfoRows"; import { GmSwapBoxPoolRow } from "../GmSwapBoxPoolRow"; @@ -664,7 +663,7 @@ export function GmSwapBoxDepositWithdrawal(p: GmSwapBoxProps) { if (submitState.errorDescription) { return ( - + {btn} ); @@ -700,112 +699,112 @@ export function GmSwapBoxDepositWithdrawal(p: GmSwapBoxProps) { return ( <> -
    -
    - - {firstTokenAddress && isSingle && isDeposit && tokenOptions.length > 1 ? ( - - ) : ( - firstTokenPlaceholder - )} - - - {isPair && secondTokenAddress && ( - -
    - + +
    +
    +
    + + {firstTokenAddress && isSingle && isDeposit && tokenOptions.length > 1 ? ( + + ) : ( + firstTokenPlaceholder + )} + + + {isPair && secondTokenAddress && ( + +
    + +
    +
    + )} + +
    + + +
    - - )} - -
    - - - - + +
    + - -
    -
    -
    - - - + +
    +
    +
    {submitButton}
    - -
    {submitButton}
    - diff --git a/src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx b/src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx index 55beeaffcf..9f8acd27ba 100644 --- a/src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx +++ b/src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx @@ -1,13 +1,12 @@ import { t } from "@lingui/macro"; import { useState } from "react"; -import { FaChevronDown, FaChevronUp } from "react-icons/fa"; import { ExecutionFee } from "domain/synthetics/fees"; import { GmSwapFees } from "domain/synthetics/trade"; +import { ExpandableRow } from "components/Synthetics/ExpandableRow"; import { GmFees } from "components/Synthetics/GmSwap/GmFees/GmFees"; import { NetworkFeeRow } from "components/Synthetics/NetworkFeeRow/NetworkFeeRow"; -import { SyntheticsInfoRow } from "components/Synthetics/SyntheticsInfoRow"; import { Operation } from "../types"; @@ -27,21 +26,24 @@ export function InfoRows({ }; return ( -
    -
    - +
    + - - {isExecutionDetailsOpen ? : } - - {isExecutionDetailsOpen ? : null} -
    + + +
    ); } diff --git a/src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx b/src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx index 303da24136..3411e77ed8 100644 --- a/src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx +++ b/src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx @@ -1,7 +1,5 @@ import { t } from "@lingui/macro"; import { useCallback, useEffect, useMemo, useState } from "react"; -import { FaChevronDown } from "react-icons/fa"; -import { FaChevronUp } from "react-icons/fa"; import { getContract } from "config/contracts"; import { useSettings } from "context/SettingsContext/SettingsContextProvider"; @@ -23,11 +21,10 @@ import { getByKey } from "lib/objects"; import Button from "components/Button/Button"; import BuyInputSection from "components/BuyInputSection/BuyInputSection"; -import { ExchangeInfo } from "components/Exchange/ExchangeInfo"; import { PoolSelector } from "components/MarketSelector/PoolSelector"; import { MarketState } from "components/MarketSelector/types"; +import { ExpandableRow } from "components/Synthetics/ExpandableRow"; import { NetworkFeeRow } from "components/Synthetics/NetworkFeeRow/NetworkFeeRow"; -import { SyntheticsInfoRow } from "components/Synthetics/SyntheticsInfoRow"; import { Operation } from "../types"; import { useDepositWithdrawalSetFirstTokenAddress } from "../useDepositWithdrawalSetFirstTokenAddress"; @@ -41,7 +38,6 @@ import { useUpdateTokens } from "./useUpdateTokens"; import { GmFees } from "../../GmFees/GmFees"; import { GmSwapWarningsRow } from "../GmSwapWarningsRow"; import { SelectedPool } from "../SelectedPool"; -import { Swap } from "../Swap"; export function GmShiftBox({ selectedGlvOrMarketAddress, @@ -246,91 +242,98 @@ export function GmShiftBox({ return ( <> -
    -
    - - +
    +
    +
    + + + +
    + + + +
    +
    + + - -
    - - - -
    -
    - - -
    - +
    + +
    - -
    - - - {isExecutionDetailsOpen ? : } - - {isExecutionDetailsOpen && } -
    -
    +
    + + + + + +
    ); diff --git a/src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx b/src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx index a9ce720fe0..4dd3420880 100644 --- a/src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx +++ b/src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx @@ -60,12 +60,12 @@ export function GmSwapBox(p: GmSwapBoxProps) { ); return ( -
    +
    diff --git a/src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx b/src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx index c9b5aa9e27..9e310f2c9e 100644 --- a/src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +++ b/src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx @@ -1,5 +1,4 @@ import { msg } from "@lingui/macro"; -import cx from "classnames"; import { useMemo } from "react"; import { selectGlvAndMarketsInfoData } from "context/SyntheticsStateContext/selectors/globalSelectors"; @@ -30,16 +29,13 @@ const OPERATIONS = [Operation.Deposit, Operation.Withdrawal, Operation.Shift]; const operationClassNames = { [Operation.Deposit]: { - active: "!bg-[#1F3445] border-b border-b-green-500", - regular: "border-b border-b-[transparent]", + active: "!bg-[#1F3445] border-b-2 border-b-green-500", }, [Operation.Withdrawal]: { - active: "!bg-[#392A46] border-b border-b-red-500", - regular: "border-b border-b-[transparent]", + active: "!bg-[#392A46] border-b-2 border-b-red-500", }, [Operation.Shift]: { - active: "!bg-[#252B57] border-b border-b-blue-300", - regular: "border-b border-b-[transparent]", + active: "!bg-[#252B57] border-b-2 border-b-blue-300", }, }; @@ -92,13 +88,12 @@ export function GmSwapBoxHeader(p: Props) { ); return ( -
    - -
    + ); } diff --git a/src/components/Synthetics/MarketStats/MarketComposition.tsx b/src/components/Synthetics/MarketStats/MarketComposition.tsx index c5df361d43..75af8b2341 100644 --- a/src/components/Synthetics/MarketStats/MarketComposition.tsx +++ b/src/components/Synthetics/MarketStats/MarketComposition.tsx @@ -18,10 +18,12 @@ export function MarketComposition({ title, label, composition, type }: Props) { const isMobile = usePoolsIsMobilePage(); return ( -
    -
    {title}
    -
    - +
    +
    +
    {title}
    +
    + +
    - tabs={marketGraphsTabs} - selected={marketGraphType} - setSelected={setMarketGraphType} - /> - } - > -
    -
    +
    + + type="block" + options={marketGraphsTabs} + selectedValue={marketGraphType} + onChange={setMarketGraphType} + /> +
    +
    - {isMobile ?
    {poolsTabs}
    : null}
    - + {isMobile ? ( +
    {poolsTabs}
    + ) : null} +
    ); } const ACTIVE_DOT_PROPS = { r: 4, + strokeWidth: 2, stroke: "var(--color-blue-300)", + fill: "var(--color-slate-900)", }; const DOT_PROPS = { r: 0, }; -const GRAPH_MARGIN = { top: 5, right: 20, bottom: 0, left: 0 }; +const GRAPH_MARGIN = { top: 5, right: 0, bottom: 0, left: 0 }; type GraphData = { value: number; @@ -257,6 +259,12 @@ const axisValueFormatter = (marketGraphType: MarketGraphType) => (value: number) return valueMap[marketGraphType]; }; +const CHART_CURSOR_PROPS = { + stroke: "var(--color-slate-500)", + strokeWidth: 1, + strokeDasharray: "2 2", +}; + const GraphChart = ({ performanceSnapshots, priceSnapshots, @@ -306,7 +314,7 @@ const GraphChart = ({ const isMobile = usePoolsIsMobilePage(); - const axisTick = useMemo(() => ({ fill: "var(--color-slate-100)", fontSize: isMobile ? 12 : 14 }), [isMobile]); + const axisTick = useMemo(() => ({ fill: "var(--color-slate-100)", fontSize: 11 }), []); const [data, setData] = useState([]); @@ -327,20 +335,30 @@ const GraphChart = ({ return (
    - - + + + + + + + + + } /> + - } /> format(value, "dd/MM")} @@ -349,8 +367,15 @@ const GraphChart = ({ tick={axisTick} minTickGap={isMobile ? 16 : 32} /> - - + +
    ); @@ -361,8 +386,12 @@ const GraphTooltip = ({ active, payload, formatValue }: any) => { const item = payload[0].payload as GraphData; return ( -
    - {formatDate(item.snapshotTimestamp.getTime() / 1000)}: {formatValue(item.value)} +
    + {format(item.snapshotTimestamp.getTime(), "MMMM dd, yyyy")} + {formatValue(item.value)}
    ); } @@ -381,8 +410,8 @@ const GraphValue = ({ }) => { return (
    - {value ?? "..."} - {label} + {value ?? "..."} + {label}
    ); }; diff --git a/src/components/Synthetics/MarketStats/components/CompositionDiagram.tsx b/src/components/Synthetics/MarketStats/components/CompositionDiagram.tsx index 44581b0668..ad234a00d9 100644 --- a/src/components/Synthetics/MarketStats/components/CompositionDiagram.tsx +++ b/src/components/Synthetics/MarketStats/components/CompositionDiagram.tsx @@ -1,5 +1,4 @@ import { ReactNode, useMemo } from "react"; -import { Cell, Pie, PieChart, Tooltip } from "recharts"; import { getMarketIndexName } from "domain/synthetics/markets"; import { bigintToNumber } from "lib/numbers"; @@ -7,6 +6,7 @@ import { USD_DECIMALS } from "sdk/configs/factors"; import { TOKEN_COLOR_MAP } from "sdk/configs/tokens"; import TokenIcon from "components/TokenIcon/TokenIcon"; +import Tooltip from "components/Tooltip/Tooltip"; import { CompositionItem, getCompositionPercentage } from "../hooks/useCompositionData"; @@ -79,7 +79,7 @@ const TooltipContent = ({

    {name}:

    -

    {getCompositionPercentage(value, sum)}%

    +

    {getCompositionPercentage(value, sum)}%

    ); }; @@ -96,43 +96,36 @@ type CompositionChartItem = { color: string; }; -const CompositionTooltip = ({ active, payload }: any) => { - if (active && payload && payload.length) { - const item = payload[0].payload as CompositionChartItem; - - return
    {item.tooltipContent}
    ; - } - - return null; -}; +export function CompositionChart({ items, label }: CompositionChartProps) { + const total = useMemo(() => { + return items.reduce((acc, item) => acc + item.value, 0); + }, [items]); -const CELL_STYLE = { cursor: "pointer" }; + const itemsWithStyles = useMemo(() => { + return items.map((item) => ({ + ...item, + style: { background: item.color, width: `${(item.value / total) * 100}%` }, + })); + }, [items, total]); -export function CompositionChart({ items, label }: CompositionChartProps) { return ( -
    -
    - {label} +
    +
    + {itemsWithStyles.map((item) => ( +
    + {item.tooltipContent}
    } + handle={
    } + handleClassName="!block h-full w-full" + className="block h-full w-full" + tooltipClassName="!min-w-fit" + position="bottom" + /> +
    + ))}
    - - - {items.map((entry) => ( - - ))} - - - +
    {label}
    ); } diff --git a/src/components/Synthetics/MarketStats/components/CompositionTable.tsx b/src/components/Synthetics/MarketStats/components/CompositionTable.tsx index 80c498d763..32adaae6a5 100644 --- a/src/components/Synthetics/MarketStats/components/CompositionTable.tsx +++ b/src/components/Synthetics/MarketStats/components/CompositionTable.tsx @@ -25,10 +25,10 @@ export function CompositionTable({ composition, compo const columns = useMemo(() => { if (compositionType === "market") { - return [t`MARKET`, t`TVL/CAP`, t`COMP.`]; + return [t`MARKET`, t`TVL/CAP`, t`COMPOSITION`]; } - return [t`COLLATERAL`, t`COMP.`]; + return [t`COLLATERAL`, t`COMPOSITION`]; }, [compositionType]); const sum = useMemo(() => { @@ -56,9 +56,9 @@ export function CompositionTable({ composition, compo
    - + {columns.map((column) => ( - + {column} ))} @@ -75,9 +75,12 @@ export function CompositionTable({ composition, compo
    {isMobile && composition.length > CLOSED_COUNT ? ( -
    - {isOpen ? Show less : Show more} - {isOpen ? : } +
    + {isOpen ? Show less : Show more} + {isOpen ? : }
    ) : null}
    @@ -97,7 +100,7 @@ const CompositionTableRow = ({ item, sum }: { item: CompositionItem; sum: bigint return ( - +
    {item.type === "market" ? ( - {formatAmountHuman(item.tvl[0], USD_DECIMALS, true, 1)}/ - {formatAmountHuman(item.tvl[1], USD_DECIMALS, true, 1)} + {formatAmountHuman(item.tvl[0], USD_DECIMALS, true, 1)}/ + {formatAmountHuman(item.tvl[1], USD_DECIMALS, true, 1)} ) : null} - - {item.type === "market" - ? `${getCompositionPercentage(item.gmBalanceUsd, sum)}%` - : `${getCompositionPercentage(item.amount, sum)}%`} + + + {item.type === "market" + ? `${getCompositionPercentage(item.gmBalanceUsd, sum)}%` + : `${getCompositionPercentage(item.amount, sum)}%`} + ); diff --git a/src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx b/src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx index 8922e94ef1..a1dfc1cfdd 100644 --- a/src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx +++ b/src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx @@ -202,7 +202,7 @@ function MarketTokenSelectorInternal(props: Props) { const rowVerticalPadding = isMobile ? "py-8" : cx("h-50 group-last-of-type/row:pb-8"); const rowHorizontalPadding = isMobile ? cx("px-6 first-of-type:pl-8 last-of-type:pr-8") : "px-16"; const thClassName = cx( - "text-body-medium sticky top-0 z-10 border-b border-slate-700 bg-slate-800 text-left font-normal uppercase text-slate-100 last-of-type:text-right", + "text-body-medium sticky top-0 z-10 border-b-stroke border-slate-600 bg-slate-800 text-left font-normal uppercase text-slate-100 last-of-type:text-right", isMobile ? "first-of-type:!pl-32" : "first-of-type:!pl-40", rowVerticalPadding, rowHorizontalPadding @@ -299,7 +299,7 @@ function MarketTokenSelectorInternal(props: Props) { /> ))} {sortedMarketsByIndexToken.length > 0 && !sortedTokensInfo?.length && ( - + No pools matched. @@ -504,8 +504,11 @@ function MarketTokenListItem({ }); return ( - - + + diff --git a/src/components/Synthetics/MarketsList/MarketsList.tsx b/src/components/Synthetics/MarketsList/MarketsList.tsx index 5ba2a2f323..90cbdfd2fa 100644 --- a/src/components/Synthetics/MarketsList/MarketsList.tsx +++ b/src/components/Synthetics/MarketsList/MarketsList.tsx @@ -2,7 +2,6 @@ import { Trans } from "@lingui/macro"; import { useMemo, useState } from "react"; import { USD_DECIMALS } from "config/factors"; -import { getIcon } from "config/icons"; import { useMarketsInfoDataToIndexTokensStats } from "context/SyntheticsStateContext/hooks/statsHooks"; import { getMarketIndexName, getMarketPoolName } from "domain/synthetics/markets"; import { IndexTokenStat } from "domain/synthetics/stats/marketsInfoDataToIndexTokensStats"; @@ -56,23 +55,27 @@ function MarketsListDesktop({ chainId, indexTokensStats }: { chainId: number; in ); return ( -
    -
    - GM Pools - Network Icon - +
    +
    + + GM Pools + + +
    + +
    - + MARKETS @@ -110,7 +113,7 @@ function MarketsListDesktop({ chainId, indexTokensStats }: { chainId: number; in currentData.map((stats) => )} {indexTokensStats.length > 0 && !currentData.length && ( - + No markets found. @@ -198,7 +201,7 @@ function MarketsListDesktopItem({ stats }: { stats: IndexTokenStat }) { const marketIndexName = getMarketIndexName(anyPool.marketInfo); return ( - +
    @@ -210,7 +213,7 @@ function MarketsListDesktopItem({ stats }: { stats: IndexTokenStat }) { />
    -
    {marketIndexName}
    +
    {marketIndexName}
    @@ -218,7 +221,7 @@ function MarketsListDesktopItem({ stats }: { stats: IndexTokenStat }) {
    - + {formatUsdPrice(stats.token.prices?.minPrice, { visualMultiplier: stats.token.visualMultiplier, })} @@ -226,7 +229,7 @@ function MarketsListDesktopItem({ stats }: { stats: IndexTokenStat }) { {formatAmountHuman(stats.totalPoolValue, USD_DECIMALS, true, 2)}} content={ <> {stats.marketsStats.map(({ marketInfo, poolValueUsd }) => ( @@ -240,7 +243,7 @@ function MarketsListDesktopItem({ stats }: { stats: IndexTokenStat }) { [{getMarketPoolName(marketInfo)}]: } - value={formatAmountHuman(poolValueUsd, USD_DECIMALS, true, 2)} + value={{formatAmountHuman(poolValueUsd, USD_DECIMALS, true, 2)}} /> ))} @@ -250,7 +253,7 @@ function MarketsListDesktopItem({ stats }: { stats: IndexTokenStat }) { {formatAmountHuman(stats.totalMaxLiquidity, USD_DECIMALS, true, 2)}} content={ <> {stats.marketsStats.map(({ marketInfo, maxLiquidity }) => ( @@ -264,7 +267,7 @@ function MarketsListDesktopItem({ stats }: { stats: IndexTokenStat }) { [{getMarketPoolName(marketInfo)}]: } - value={formatAmountHuman(maxLiquidity, USD_DECIMALS, true, 2)} + value={{formatAmountHuman(maxLiquidity, USD_DECIMALS, true, 2)}} /> ))} @@ -274,13 +277,15 @@ function MarketsListDesktopItem({ stats }: { stats: IndexTokenStat }) { {`${formatRatePercentage(netFeePerHourLong)} / ${formatRatePercentage(netFeePerHourShort)}`} + } maxAllowedWidth={510} position="bottom-end" renderContent={() => } /> - {formatAmount(stats.totalUtilization, 2, 2)}% + {formatAmount(stats.totalUtilization, 2, 2)}%
    ); } diff --git a/src/components/Synthetics/MarketsList/NetFeeTooltip.tsx b/src/components/Synthetics/MarketsList/NetFeeTooltip.tsx index a8a6738827..caf1d882cb 100644 --- a/src/components/Synthetics/MarketsList/NetFeeTooltip.tsx +++ b/src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -25,7 +25,7 @@ export function NetFeeTooltip({ marketStats }: { marketStats: MarketStat[] }) { Longs Net Rate / 1h 0, "text-red-500": netFeeLong < 0, })} @@ -38,7 +38,7 @@ export function NetFeeTooltip({ marketStats }: { marketStats: MarketStat[] }) { Shorts Net Rate / 1h 0, "text-red-500": netFeeShort < 0, })} @@ -81,7 +81,7 @@ export function NetFeeTooltip({ marketStats }: { marketStats: MarketStat[] }) {
    0, "text-red-500": netFeeLong < 0, })} @@ -89,7 +89,7 @@ export function NetFeeTooltip({ marketStats }: { marketStats: MarketStat[] }) { {formatRatePercentage(netFeeLong)} 0, "text-red-500": netFeeShort < 0, })} diff --git a/src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx b/src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx index fed44d6673..862bf003e8 100644 --- a/src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx +++ b/src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx @@ -178,7 +178,11 @@ export function NetworkFeeRow({ executionFee, gasPaymentParams, isAdditionOrders position="left-start" content={ <> - + {maxNetworkFeeText}} + />

    @@ -194,7 +198,7 @@ export function NetworkFeeRow({ executionFee, gasPaymentParams, isAdditionOrders {estimatedRefundText}} textClassName="text-green-500" /> {warning &&

    {warning}

    } @@ -202,7 +206,7 @@ export function NetworkFeeRow({ executionFee, gasPaymentParams, isAdditionOrders } > - {formatUsd(-feeUsdAfterRefund)} + {formatUsd(-feeUsdAfterRefund)} ); }, [ @@ -221,6 +225,7 @@ export function NetworkFeeRow({ executionFee, gasPaymentParams, isAdditionOrders label={ Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does @@ -241,6 +246,7 @@ export function NetworkFeeRow({ executionFee, gasPaymentParams, isAdditionOrders label={ Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does diff --git a/src/components/Synthetics/OrderEditor/OrderEditor.tsx b/src/components/Synthetics/OrderEditor/OrderEditor.tsx index ecd523fb8f..be4f5f74d0 100644 --- a/src/components/Synthetics/OrderEditor/OrderEditor.tsx +++ b/src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -602,7 +602,9 @@ export function OrderEditor(p: Props) { onInputValueChange={(e) => setSizeInputValue(e.target.value)} bottomLeftValue={isTriggerDecreaseOrderType(p.order.orderType) ? formatUsd(sizeUsd) : undefined} isBottomLeftValueMuted={sizeUsd === 0n} - bottomRightLabel={isTriggerDecreaseOrderType(p.order.orderType) ? t`Max` : undefined} + bottomRightLabel={ + isTriggerDecreaseOrderType(p.order.orderType) && positionSize !== undefined ? t`Max` : undefined + } bottomRightValue={ isTriggerDecreaseOrderType(p.order.orderType) ? formatUsdPrice(positionSize) : undefined } @@ -758,7 +760,7 @@ export function OrderEditor(p: Props) { recommendedAllowedSwapSlippageBps={defaultAllowedSwapSlippageBps} setAllowedSwapSlippageBps={setSelectedAllowedSwapSlippageBps} /> -
    +
    } + } position="bottom-start" content={ <> @@ -128,7 +136,7 @@ function Title({ order, showDebugValues }: { order: OrderInfo; showDebugValues: ); } - return ; + return ; } const positionOrder = order as PositionOrderInfo; @@ -173,12 +181,12 @@ function Title({ order, showDebugValues }: { order: OrderInfo; showDebugValues: } return ( - } + } position="bottom-start" tooltipClassName={isTwapOrder(order) ? "!p-0" : undefined} maxAllowedWidth={400} + styleType="none" content={ isTwapOrder(order) ? ( @@ -227,7 +235,7 @@ export function TwapOrderProgress({ order, className }: { order: TwapOrderInfo; return {content}; } -export function TitleWithIcon({ order, bordered }: { order: OrderInfo; bordered?: boolean }) { +export function SizeWithIcon({ order, className }: { order: OrderInfo; className?: string }) { if (isSwapOrderType(order.orderType)) { const { initialCollateralToken, targetCollateralToken, minOutputAmount, initialCollateralDeltaAmount } = order; @@ -247,31 +255,28 @@ export function TitleWithIcon({ order, bordered }: { order: OrderInfo; bordered? const toTokenIcon = ; const handle = ( - + {fromTokenText} {fromTokenIcon} to {isTwapOrder(order) ? null : {toTokenText} } {toTokenIcon} - {isTwapOrder(order) ? : null} + {isTwapOrder(order) ? : null} ); return ( -
    +
    {isTwapOrder(order) ? ( - } tooltipClassName="!p-0" maxAllowedWidth={450} + styleType="none" /> ) : ( handle @@ -286,17 +291,13 @@ export function TitleWithIcon({ order, bordered }: { order: OrderInfo; bordered? }); return ( - + {sizeText} {isTwapOrder(order) && } ); } -function MarkPrice({ order }: { order: OrderInfo }) { +function MarkPrice({ order, className }: { order: OrderInfo; className?: string }) { const markPrice = useMemo(() => { if (isSwapOrderType(order.orderType)) { return undefined; @@ -329,8 +330,10 @@ function MarkPrice({ order }: { order: OrderInfo }) { const { markSwapRatioText } = getSwapRatioText(order); return ( - {isSwapOrderType(order.orderType) ? markSwapRatioText : markPriceFormatted} + } position="bottom-end" content={ @@ -345,13 +348,13 @@ function MarkPrice({ order }: { order: OrderInfo }) { if (isSwapOrderType(order.orderType)) { const { markSwapRatioText } = getSwapRatioText(order); - return markSwapRatioText; + return {markSwapRatioText}; } else { const positionOrder = order as PositionOrderInfo; return ( - {markPriceFormatted}} position="bottom-end" renderContent={() => { return ( @@ -377,9 +380,21 @@ function MarkPrice({ order }: { order: OrderInfo }) { } } -function TriggerPrice({ order, hideActions }: { order: OrderInfo; hideActions: boolean | undefined }) { +function TriggerPrice({ + order, + hideActions, + className, +}: { + order: OrderInfo; + hideActions: boolean | undefined; + className?: string; +}) { if (isTwapOrder(order)) { - return N/A; + return ( + + N/A + + ); } if (isMarketOrderType(order.orderType)) { @@ -391,9 +406,13 @@ function TriggerPrice({ order, hideActions }: { order: OrderInfo; hideActions: b ); return ( - N/A} + handle={ + + N/A + + } content={ {!hideActions ? ( - {swapRatioText}} renderContent={() => ( <>
    @@ -445,11 +464,15 @@ function TriggerPrice({ order, hideActions }: { order: OrderInfo; hideActions: b positionOrder?.indexToken?.visualMultiplier ); return ( - + {`${positionOrder.triggerThresholdType} ${formatUsd(positionOrder.triggerPrice, { + displayDecimals: priceDecimals, + visualMultiplier: positionOrder.indexToken?.visualMultiplier, + })}`} + + } position="bottom-end" renderContent={() => ( <> @@ -535,7 +558,7 @@ function OrderItemLarge({ disabled={isCanceling || Boolean(disabledCancelMarketOrderMessage)} onClick={onCancelOrder} > - + ); @@ -548,7 +571,7 @@ function OrderItemLarge({ )} {isSwap ? ( - } - disableHandleStyle + styleType="none" /> ) : ( - } - disableHandleStyle + styleType="none" /> )} @@ -599,7 +622,7 @@ function OrderItemLarge({ - + <OrderSize order={order} showDebugValues={showDebugValues} /> </TableTd> <TableTd> @@ -613,7 +636,7 @@ function OrderItemLarge({ <div className="inline-flex items-center"> {!isTwapOrder(order) && !isMarketOrderType(order.orderType) && ( <button className="cursor-pointer p-6 text-slate-100 hover:text-white" onClick={setEditingOrderKey}> - <AiOutlineEdit title={t`Edit order`} fontSize={16} /> + <FaPen title={t`Edit order`} fontSize={12} /> </button> )} {onCancelOrder ? ( @@ -692,19 +715,14 @@ function OrderItemSmall({ const oracleSettings = useSelector(selectOracleSettings); const disabledCancelMarketOrderMessage = useDisabledCancelMarketOrderMessage(order, oracleSettings); const cancelButton = ( - <Button - variant="secondary" - className="mt-15 !text-white" - onClick={onCancelOrder} - disabled={Boolean(disabledCancelMarketOrderMessage)} - > + <Button variant="secondary" onClick={onCancelOrder} disabled={Boolean(disabledCancelMarketOrderMessage)}> <Trans>Cancel</Trans> </Button> ); return ( - <div className="App-card" ref={handleSetRef}> - <div> + <AppCard ref={handleSetRef}> + <AppCardSection> <div className="flex cursor-pointer items-center" onClick={onToggleOrder}> {hideActions ? ( title @@ -714,53 +732,51 @@ function OrderItemSmall({ </Checkbox> )} </div> - <div className="App-card-divider" /> - <div className="App-card-content"> - {showDebugValues && ( - <div className="App-card-row"> - <div className="label">Key</div> - <div className="debug-key muted">{order.key}</div> - </div> - )} + </AppCardSection> + <AppCardSection> + {showDebugValues && ( <div className="App-card-row"> - <div className="label"> - <Trans>Order Type</Trans> - </div> - <div> - <OrderItemTypeLabel order={order} /> - </div> + <div className="font-medium text-slate-100">Key</div> + <div className="debug-key muted">{order.key}</div> </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Size</Trans> - </div> - <Title order={order} showDebugValues={showDebugValues} /> + )} + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Order Type</Trans> </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Trigger Price</Trans> - </div> - <div> - <TriggerPrice order={order} hideActions={hideActions} /> - </div> + <div> + <OrderItemTypeLabel order={order} /> </div> + </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Size</Trans> + </div> + <OrderSize order={order} showDebugValues={showDebugValues} /> + </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Trigger Price</Trans> + </div> + <div> + <TriggerPrice order={order} hideActions={hideActions} /> + </div> + </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Mark Price</Trans> - </div> - <div> - <MarkPrice order={order} /> - </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Mark Price</Trans> + </div> + <div> + <MarkPrice order={order} /> </div> </div> - </div> + </AppCardSection> {!hideActions && ( - <div className="App-card-actions"> - <div className="App-card-divider"></div> - <div className="remove-top-margin"> + <AppCardSection> + <div className="flex items-center gap-8"> {!isTwapOrder(order) && !isMarketOrderType(order.orderType) && ( - <Button variant="secondary" className="mr-15 mt-15" onClick={setEditingOrderKey}> + <Button variant="secondary" onClick={setEditingOrderKey}> <Trans>Edit</Trans> </Button> )} @@ -773,9 +789,9 @@ function OrderItemSmall({ ) ) : null} </div> - </div> + </AppCardSection> )} - </div> + </AppCard> ); } @@ -813,18 +829,18 @@ function getSwapRatioText(order: OrderInfo) { return { swapRatioText, markSwapRatioText, acceptablePriceText }; } -function OrderItemTypeLabel({ order }: { order: OrderInfo }) { +function OrderItemTypeLabel({ order, className }: { order: OrderInfo; className?: string }) { const { errors, level } = useOrderErrors(order.key); - const handle = getNameByOrderType(order.orderType, order.isTwap); + const handle = <span className={className}>{getNameByOrderType(order.orderType, order.isTwap)}</span>; if (errors.length === 0) { return <>{handle}</>; } return ( - <Tooltip - disableHandleStyle + <TooltipWithPortal + styleType="none" handle={ <span className={cx("cursor-help underline decoration-dashed decoration-1 underline-offset-2", { diff --git a/src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx b/src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx index 3cf07679cc..ee6d87d68c 100644 --- a/src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx +++ b/src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx @@ -81,7 +81,7 @@ function TwapOrderItem({ const toTokenIcon = <TokenIcon symbol={order.targetCollateralToken.symbol} displaySize={18} importSize={24} />; return ( - <tr key={order.key} className="gap-x-8 border-b border-gray-700 last:border-b-0"> + <tr key={order.key} className="gap-x-8 border-b-stroke border-slate-600 last:border-b-0"> <td className="py-8 pr-8 text-slate-100">{formatDateTime(Number(order.validFromTime))}</td> <td className="py-8 pr-8"> <div className={cx("inline-flex flex-wrap gap-y-8 whitespace-pre-wrap")}> @@ -102,7 +102,7 @@ function TwapOrderItem({ } return ( - <tr key={order.key} className="gap-x-8 border-b border-gray-700 last:border-b-0"> + <tr key={order.key} className="gap-x-8 border-b-stroke border-slate-600 last:border-b-0"> <td className="py-8 pr-8 text-slate-100">{formatDateTime(Number(order.validFromTime))}</td> <td className="py-8 pr-8">{sizeText}</td> <td className="py-8 text-right"> diff --git a/src/components/Synthetics/OrderList/OrderList.tsx b/src/components/Synthetics/OrderList/OrderList.tsx index bf2d74f767..ec80defe32 100644 --- a/src/components/Synthetics/OrderList/OrderList.tsx +++ b/src/components/Synthetics/OrderList/OrderList.tsx @@ -1,6 +1,6 @@ -import { Plural, Trans, t } from "@lingui/macro"; +import { Plural, Trans } from "@lingui/macro"; import { Dispatch, SetStateAction, useCallback, useEffect, useMemo, useRef } from "react"; -import { useMeasure, useMedia } from "react-use"; +import { useMedia } from "react-use"; import { useIsOrdersLoading, @@ -37,8 +37,10 @@ import useWallet from "lib/wallets/useWallet"; import Button from "components/Button/Button"; import Checkbox from "components/Checkbox/Checkbox"; +import { EmptyTableContent } from "components/EmptyTableContent/EmptyTableContent"; import { OrderEditorContainer } from "components/OrderEditorContainer/OrderEditorContainer"; -import { Table, TableTd, TableTh, TableTheadTr, TableTr } from "components/Table/Table"; +import { Table, TableTh, TableTheadTr } from "components/Table/Table"; +import { TableScrollFadeContainer } from "components/TableScrollFade/TableScrollFade"; import { OrderItem } from "../OrderItem/OrderItem"; import { MarketFilterLongShort, MarketFilterLongShortItemData } from "../TableMarketFilter/MarketFilterLongShort"; @@ -72,9 +74,8 @@ export function OrderList({ const positionsData = usePositionsInfoData(); const isLoading = useIsOrdersLoading(); - const [ref, { width }] = useMeasure<HTMLDivElement>(); - const isScreenSmall = useMedia("(max-width: 1100px)"); - const isContainerSmall = width === 0 ? isScreenSmall : width < 1000; + const isScreenSmall = useMedia("(max-width: 1024px)"); + const isContainerSmall = isScreenSmall; const chainId = useSelector(selectChainId); const { signer } = useWallet(); @@ -186,10 +187,10 @@ export function OrderList({ }, []); return ( - <div ref={ref}> + <div> {(isContainerSmall || isScreenSmall) && !isLoading && ( <div className="flex flex-col gap-8"> - <div className="flex flex-wrap items-center justify-between gap-8 bg-slate-950"> + <div className="flex flex-wrap items-center justify-between gap-8"> {isContainerSmall ? ( <div className="flex gap-8"> <Button variant="secondary" onClick={onSelectAllOrders}> @@ -239,72 +240,75 @@ export function OrderList({ )} {isContainerSmall && orders.length === 0 && ( - <div className="rounded-4 bg-slate-800 p-14 text-slate-100"> - {isLoading ? t`Loading...` : t`No open orders`} - </div> + <EmptyTableContent + isLoading={isLoading} + isEmpty={orders.length === 0} + emptyText={<Trans>No open orders</Trans>} + /> )} {!isContainerSmall && ( - <Table> - <thead> - <TableTheadTr bordered> - {!hideActions && ( - <TableTh className="cursor-pointer" onClick={onSelectAllOrders}> - <Checkbox - isPartialChecked={onlySomeOrdersSelected} - isChecked={areAllOrdersSelected} - setIsChecked={onSelectAllOrders} + <TableScrollFadeContainer disableScrollFade={orders.length === 0}> + <Table className="!w-[max(100%,580px)]"> + <thead> + <TableTheadTr> + {!hideActions && ( + <TableTh className="cursor-pointer" onClick={onSelectAllOrders}> + <Checkbox + isPartialChecked={onlySomeOrdersSelected} + isChecked={areAllOrdersSelected} + setIsChecked={onSelectAllOrders} + /> + </TableTh> + )} + <TableTh> + <MarketFilterLongShort + withPositions="withOrders" + value={marketsDirectionsFilter} + onChange={setMarketsDirectionsFilter} /> </TableTh> - )} - <TableTh> - <MarketFilterLongShort - withPositions="withOrders" - value={marketsDirectionsFilter} - onChange={setMarketsDirectionsFilter} - /> - </TableTh> - <TableTh> - <OrderTypeFilter value={orderTypesFilter} onChange={setOrderTypesFilter} /> - </TableTh> - <TableTh> - <Trans>Size</Trans> - </TableTh> - <TableTh> - <Trans>Trigger Price</Trans> - </TableTh> - <TableTh> - <Trans>Mark Price</Trans> - </TableTh> - - {!hideActions && <TableTh></TableTh>} - </TableTheadTr> - </thead> - <tbody> - {orders.length === 0 && ( - <TableTr hoverable={false} bordered={false}> - <TableTd colSpan={7} className="text-slate-100"> - {isLoading ? t`Loading...` : t`No open orders`} - </TableTd> - </TableTr> - )} - {!isLoading && - orders.map((order) => ( - <OrderItem - isLarge - isSelected={selectedOrdersKeys?.includes(order.key)} - key={order.key} - order={order} - onToggleOrder={() => onToggleOrder(order.key)} - isCanceling={cancellingOrdersKeys.includes(order.key)} - onCancelOrder={() => onCancelOrder(order)} - hideActions={hideActions} - positionsInfoData={positionsData} - setRef={(el) => (orderRefs.current[order.key] = el)} - /> - ))} - </tbody> - </Table> + <TableTh> + <OrderTypeFilter value={orderTypesFilter} onChange={setOrderTypesFilter} /> + </TableTh> + <TableTh> + <Trans>Size</Trans> + </TableTh> + <TableTh> + <Trans>Trigger Price</Trans> + </TableTh> + <TableTh> + <Trans>Mark Price</Trans> + </TableTh> + + {!hideActions && <TableTh></TableTh>} + </TableTheadTr> + </thead> + <tbody> + {!isLoading && + orders.map((order) => ( + <OrderItem + isLarge + isSelected={selectedOrdersKeys?.includes(order.key)} + key={order.key} + order={order} + onToggleOrder={() => onToggleOrder(order.key)} + isCanceling={cancellingOrdersKeys.includes(order.key)} + onCancelOrder={() => onCancelOrder(order)} + hideActions={hideActions} + positionsInfoData={positionsData} + setRef={(el) => (orderRefs.current[order.key] = el)} + /> + ))} + </tbody> + </Table> + + <EmptyTableContent + isLoading={isLoading} + isEmpty={orders.length === 0} + emptyText={<Trans>No open orders</Trans>} + /> + </TableScrollFadeContainer> )} <OrderEditorContainer /> diff --git a/src/components/Synthetics/PoolSelector2/PoolSelector2.scss b/src/components/Synthetics/PoolSelector2/PoolSelector2.scss index 87848aa2a9..3e2c562b6e 100644 --- a/src/components/Synthetics/PoolSelector2/PoolSelector2.scss +++ b/src/components/Synthetics/PoolSelector2/PoolSelector2.scss @@ -8,17 +8,20 @@ margin: unset; margin-top: 1rem; display: grid; + font-size: var(--font-size-body-medium); + font-weight: 500; grid-template-columns: 1fr 1fr; row-gap: 0.8rem; dt { - color: var(--color-gray-400); + color: var(--color-slate-100); } dd { margin: 0; text-align: right; + font-weight: 400; } } @@ -45,7 +48,7 @@ } &-pool-name { - font-size: var(--font-size-body-large); + font-size: var(--font-size-body-medium); } } } diff --git a/src/components/Synthetics/PoolSelector2/PoolSelector2.tsx b/src/components/Synthetics/PoolSelector2/PoolSelector2.tsx index 37d71b2d38..752bd33f0b 100644 --- a/src/components/Synthetics/PoolSelector2/PoolSelector2.tsx +++ b/src/components/Synthetics/PoolSelector2/PoolSelector2.tsx @@ -54,7 +54,7 @@ function PoolSelector2Desktop(props: Props) { return ( <table className="PoolSelector2-table"> <thead> - <TableTheadTr bordered> + <TableTheadTr> <TableTh padding="compact"> <Trans>Pool</Trans> </TableTh> @@ -199,7 +199,11 @@ function PoolListItemMobile({ const openFeesState = numberToState(openFees); return ( - <SelectorBaseMobileButton key={marketStat.marketInfo.marketTokenAddress} onSelect={onSelect}> + <SelectorBaseMobileButton + key={marketStat.marketInfo.marketTokenAddress} + onSelect={onSelect} + rowClassName="!px-16 !py-12" + > <div className="PoolSelector2-mobile-column-pool" data-qa={`pool-selector-row-${poolName}`}> <div className="PoolSelector2-mobile-collateral-logos"> <TokenIcon diff --git a/src/components/Synthetics/PoolsTabs/PoolsTabs.tsx b/src/components/Synthetics/PoolsTabs/PoolsTabs.tsx index 76dc45d56a..251e96887f 100644 --- a/src/components/Synthetics/PoolsTabs/PoolsTabs.tsx +++ b/src/components/Synthetics/PoolsTabs/PoolsTabs.tsx @@ -1,7 +1,7 @@ import cx from "classnames"; import { ReactNode } from "react"; -import { usePoolsIsMobilePage } from "pages/Pools/usePoolsIsMobilePage"; +import Button from "components/Button/Button"; type PoolTab<T> = { label: ReactNode; @@ -21,26 +21,19 @@ export function PoolsTabs<T extends string | number>({ itemClassName?: string; className?: string; }) { - const isMobile = usePoolsIsMobilePage(); - return ( - <div className={cx("flex flex-wrap gap-8", className)}> + <div className={cx("flex flex-wrap gap-4", className)}> {tabs.map((tab) => ( - <div + <Button key={tab.value as string} - className={cx( - "text-body-medium cursor-pointer overflow-hidden text-ellipsis whitespace-nowrap rounded-4 py-8 hover:bg-cold-blue-700 hover:text-white", - itemClassName, - { - "!bg-cold-blue-500 !text-white": selected === tab.value, - "px-12": isMobile, - "px-16": !isMobile, - } - )} + variant="ghost" + className={cx(itemClassName, { + "!bg-slate-800 !text-white": selected === tab.value, + })} onClick={() => setSelected(tab.value)} > {tab.label} - </div> + </Button> ))} </div> ); diff --git a/src/components/Synthetics/PositionEditor/PositionEditor.scss b/src/components/Synthetics/PositionEditor/PositionEditor.scss index 26e3041572..9db6e9f6ac 100644 --- a/src/components/Synthetics/PositionEditor/PositionEditor.scss +++ b/src/components/Synthetics/PositionEditor/PositionEditor.scss @@ -9,7 +9,7 @@ .Edit-collateral-token-selector { .Modal { .Modal-content { - width: 38rem; + max-width: 38rem; max-height: 80vh; top: auto; bottom: auto; diff --git a/src/components/Synthetics/PositionEditor/PositionEditor.tsx b/src/components/Synthetics/PositionEditor/PositionEditor.tsx index 9461dde692..8a881b0fc3 100644 --- a/src/components/Synthetics/PositionEditor/PositionEditor.tsx +++ b/src/components/Synthetics/PositionEditor/PositionEditor.tsx @@ -253,7 +253,7 @@ export function PositionEditor() { qa="position-edit-modal" > {position && ( - <> + <div className="flex flex-col gap-12"> <Tabs onChange={setOperation} selectedValue={operation} @@ -312,7 +312,7 @@ export function PositionEditor() { collateralToken?.symbol )} </BuyInputSection> - <div className="flex flex-col gap-14 pt-14"> + <div className="flex flex-col gap-14"> <HighPriceImpactOrFeesWarningCard priceImpactWarningState={priceImpactWarningState} collateralImpact={fees?.positionCollateralPriceImpact} @@ -365,7 +365,7 @@ export function PositionEditor() { <PositionEditorAdvancedRows operation={operation} gasPaymentParams={expressParams?.gasPaymentParams} /> </div> - </> + </div> )} </Modal> </div> diff --git a/src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx b/src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx index 7eee06b2db..afb757d2d8 100644 --- a/src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx +++ b/src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx @@ -44,6 +44,7 @@ export function PositionEditorAdvancedRows({ operation, gasPaymentParams }: Opti open={open} onToggle={setOpen} contentClassName="flex flex-col gap-14 pt-14" + row={false} > <TradeFeesRow {...fees} feesType="edit" shouldShowRebate={false} /> <NetworkFeeRow executionFee={executionFee} gasPaymentParams={gasPaymentParams} /> diff --git a/src/components/Synthetics/PositionItem/PositionItem.tsx b/src/components/Synthetics/PositionItem/PositionItem.tsx index caa4760944..0e2532f6e6 100644 --- a/src/components/Synthetics/PositionItem/PositionItem.tsx +++ b/src/components/Synthetics/PositionItem/PositionItem.tsx @@ -1,7 +1,6 @@ import { Trans, t } from "@lingui/macro"; import cx from "classnames"; import { useCallback, useMemo } from "react"; -import { AiOutlineEdit } from "react-icons/ai"; import { FaAngleRight } from "react-icons/fa"; import { ImSpinner2 } from "react-icons/im"; import { MdClose } from "react-icons/md"; @@ -40,14 +39,16 @@ import { getPositiveOrNegativeClass } from "lib/utils"; import { getMarketIndexName } from "sdk/utils/markets"; import { AmountWithUsdBalance } from "components/AmountWithUsd/AmountWithUsd"; +import { AppCard, AppCardSection } from "components/AppCard/AppCard"; import Button from "components/Button/Button"; import PositionDropdown from "components/Exchange/PositionDropdown"; import StatsTooltipRow from "components/StatsTooltip/StatsTooltipRow"; import { TableTd, TableTr } from "components/Table/Table"; import TokenIcon from "components/TokenIcon/TokenIcon"; -import Tooltip from "components/Tooltip/Tooltip"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; +import EditIcon from "img/ic_edit.svg?react"; + import { TwapOrderProgress } from "../OrderItem/OrderItem"; import "./PositionItem.scss"; @@ -61,7 +62,6 @@ export type Props = { onShareClick: () => void; onSelectPositionClick?: (tradeMode?: TradeMode, showCurtain?: boolean) => void; isLarge: boolean; - openSettings: () => void; onOrdersClick?: (key?: string) => void; onCancelOrder?: (orderKey: string) => void; }; @@ -79,8 +79,8 @@ export function PositionItem(p: Props) { function renderNetValue() { return ( - <Tooltip - handle={formatUsd(p.position.netValue)} + <TooltipWithPortal + handle={<span className="numbers">{formatUsd(p.position.netValue)}</span>} position={p.isLarge ? "bottom-start" : "bottom-end"} renderContent={() => ( <div> @@ -91,18 +91,18 @@ export function PositionItem(p: Props) { <br /> <StatsTooltipRow label={t`Initial Collateral`} - value={formatUsd(p.position.collateralUsd) || "..."} + value={<span className="numbers">{formatUsd(p.position.collateralUsd) || "..."}</span>} showDollar={false} /> <StatsTooltipRow label={t`PnL`} - value={formatDeltaUsd(p.position?.pnl) || "..."} + value={<span className="numbers">{formatDeltaUsd(p.position?.pnl) || "..."}</span>} showDollar={false} textClassName={getPositiveOrNegativeClass(p.position.pnl)} /> <StatsTooltipRow label={t`Accrued Borrow Fee`} - value={formatUsd(-p.position.pendingBorrowingFeesUsd) || "..."} + value={<span className="numbers">{formatUsd(-p.position.pendingBorrowingFeesUsd) || "..."}</span>} showDollar={false} textClassName={cx({ "text-red-500": p.position.pendingBorrowingFeesUsd !== 0n, @@ -110,7 +110,7 @@ export function PositionItem(p: Props) { /> <StatsTooltipRow label={t`Accrued Negative Funding Fee`} - value={formatUsd(-p.position.pendingFundingFeesUsd) || "..."} + value={<span className="numbers">{formatUsd(-p.position.pendingFundingFeesUsd) || "..."}</span>} showDollar={false} textClassName={cx({ "text-red-500": p.position.pendingFundingFeesUsd !== 0n, @@ -119,21 +119,25 @@ export function PositionItem(p: Props) { <StatsTooltipRow label={t`Close Fee`} showDollar={false} - value={formatUsd(-p.position.closingFeeUsd) || "..."} + value={<span className="numbers">{formatUsd(-p.position.closingFeeUsd) || "..."}</span>} textClassName="text-red-500" /> {p.position.uiFeeUsd > 0 && ( <StatsTooltipRow label={t`UI Fee`} showDollar={false} - value={formatUsd(-p.position.uiFeeUsd)} + value={<span className="numbers">{formatUsd(-p.position.uiFeeUsd)}</span>} textClassName="text-red-500" /> )} <br /> <StatsTooltipRow label={t`PnL After Fees`} - value={formatDeltaUsd(p.position.pnlAfterFees, p.position.pnlAfterFeesPercentage)} + value={ + <span className="numbers"> + {formatDeltaUsd(p.position.pnlAfterFees, p.position.pnlAfterFeesPercentage)} + </span> + } showDollar={false} textClassName={getPositiveOrNegativeClass(p.position.pnlAfterFees)} /> @@ -171,8 +175,12 @@ export function PositionItem(p: Props) { return ( <> <div className={cx("position-list-collateral", { isSmall: !p.isLarge })}> - <Tooltip - handle={<span data-qa="position-collateral-value">{formatUsd(p.position.remainingCollateralUsd)}</span>} + <TooltipWithPortal + handle={ + <span data-qa="position-collateral-value" className="numbers"> + {formatUsd(p.position.remainingCollateralUsd)} + </span> + } position={p.isLarge ? "bottom-start" : "bottom-end"} className="PositionItem-collateral-tooltip" handleClassName={cx({ negative: p.position.hasLowCollateral })} @@ -205,7 +213,7 @@ export function PositionItem(p: Props) { <StatsTooltipRow label={t`Accrued Borrow Fee`} showDollar={false} - value={formatUsd(-p.position.pendingBorrowingFeesUsd) || "..."} + value={<span className="numbers">{formatUsd(-p.position.pendingBorrowingFeesUsd) || "..."}</span>} textClassName={cx({ "text-red-500": p.position.pendingBorrowingFeesUsd !== 0n, })} @@ -213,7 +221,7 @@ export function PositionItem(p: Props) { <StatsTooltipRow label={t`Accrued Negative Funding Fee`} showDollar={false} - value={formatDeltaUsd(-p.position.pendingFundingFeesUsd) || "..."} + value={<span className="numbers">{formatDeltaUsd(-p.position.pendingFundingFeesUsd) || "..."}</span>} textClassName={cx({ "text-red-500": p.position.pendingFundingFeesUsd !== 0n, })} @@ -221,7 +229,11 @@ export function PositionItem(p: Props) { <StatsTooltipRow label={t`Accrued Positive Funding Fee`} showDollar={false} - value={formatDeltaUsd(p.position.pendingClaimableFundingFeesUsd) || "..."} + value={ + <span className="numbers"> + {formatDeltaUsd(p.position.pendingClaimableFundingFeesUsd) || "..."} + </span> + } textClassName={cx({ "text-green-500": p.position.pendingClaimableFundingFeesUsd > 0, })} @@ -230,7 +242,13 @@ export function PositionItem(p: Props) { <StatsTooltipRow showDollar={false} label={t`Current Borrow Fee / Day`} - value={borrowingFeeRateUsd !== undefined ? formatUsd(-borrowingFeeRateUsd) : "..."} + value={ + borrowingFeeRateUsd !== undefined ? ( + <span className="numbers">{formatUsd(-borrowingFeeRateUsd)}</span> + ) : ( + "..." + ) + } textClassName={cx({ "text-red-500": borrowingFeeRateUsd !== undefined && borrowingFeeRateUsd > 0, })} @@ -238,7 +256,7 @@ export function PositionItem(p: Props) { <StatsTooltipRow showDollar={false} label={t`Current Funding Fee / Day`} - value={formatDeltaUsd(fundingFeeRateUsd)} + value={<span className="numbers">{formatDeltaUsd(fundingFeeRateUsd)}</span>} textClassName={getPositiveOrNegativeClass(fundingFeeRateUsd)} /> <br /> @@ -255,12 +273,12 @@ export function PositionItem(p: Props) { {!p.position.isOpening && !p.hideActions && p.onEditCollateralClick && ( <span className="edit-icon" onClick={p.onEditCollateralClick} data-qa="position-edit-button"> - <AiOutlineEdit className="text-slate-100" fontSize={16} /> + <EditIcon className="text-slate-100" width={16} height={16} /> </span> )} </div> - <div className="Exchange-list-info-label Position-collateral-amount muted"> + <div className="muted text-body-small numbers"> ( {formatBalanceAmount( p.position.remainingCollateralAmount, @@ -325,7 +343,7 @@ export function PositionItem(p: Props) { <br /> <StatsTooltipRow label={"Estimated Time to Liquidation"} - value={formatEstimatedLiquidationTime(estimatedLiquidationHours)} + value={<span className="numbers">{formatEstimatedLiquidationTime(estimatedLiquidationHours)}</span>} showDollar={false} /> </div> @@ -337,12 +355,16 @@ export function PositionItem(p: Props) { if (liqPriceWarning || estimatedLiquidationHours) { return ( - <Tooltip + <TooltipWithPortal handle={ - formatLiquidationPrice(p.position.liquidationPrice, { - displayDecimals: marketDecimals, - visualMultiplier: p.position.indexToken.visualMultiplier, - }) || "..." + p.position.liquidationPrice ? ( + <span className="numbers"> + {formatLiquidationPrice(p.position.liquidationPrice, { + displayDecimals: marketDecimals, + visualMultiplier: p.position.indexToken.visualMultiplier, + })} + </span> + ) : "..." } position="bottom-end" handleClassName={cx({ @@ -355,10 +377,12 @@ export function PositionItem(p: Props) { } return ( - formatLiquidationPrice(p.position.liquidationPrice, { - displayDecimals: marketDecimals, - visualMultiplier: p.position.indexToken.visualMultiplier, - }) || "..." + <span className="numbers"> + {formatLiquidationPrice(p.position.liquidationPrice, { + displayDecimals: marketDecimals, + visualMultiplier: p.position.indexToken.visualMultiplier, + }) || "..."} + </span> ); } @@ -378,7 +402,7 @@ export function PositionItem(p: Props) { {/* title */} <div className={cx("Position-item-info relative")}> <div className="Exchange-list-title"> - <Tooltip + <TooltipWithPortal handle={ <> <TokenIcon @@ -387,7 +411,9 @@ export function PositionItem(p: Props) { displaySize={20} importSize={24} /> - {getMarketIndexName({ indexToken: p.position.indexToken, isSpotOnly: false })} + <span className="font-medium"> + {getMarketIndexName({ indexToken: p.position.indexToken, isSpotOnly: false })} + </span> </> } position="bottom-start" @@ -434,7 +460,7 @@ export function PositionItem(p: Props) { )} </div> <div className="Exchange-list-info-label"> - <span className={cx("muted mr-4 rounded-2 px-2 pb-1")}> + <span className={cx("muted mr-4 rounded-2 px-2 pb-1 numbers")}> {formatLeverage(p.position.leverage) || "..."} </span> <span className={cx({ positive: p.position.isLong, negative: !p.position.isLong })}> @@ -444,7 +470,7 @@ export function PositionItem(p: Props) { </div> </TableTd> <TableTd> - {formatUsd(p.position.sizeInUsd)} + <span className="numbers">{formatUsd(p.position.sizeInUsd)}</span> <PositionItemOrdersLarge positionKey={p.position.key} onOrdersClick={p.onOrdersClick} /> </TableTd> <TableTd> @@ -456,8 +482,7 @@ export function PositionItem(p: Props) { {renderNetValue()} {displayedPnl !== undefined && ( <div - onClick={p.openSettings} - className={cx("Exchange-list-info-label Position-pnl cursor-pointer", { + className={cx("Exchange-list-info-label Position-pnl numbers", { positive: displayedPnl > 0, negative: displayedPnl < 0, muted: displayedPnl == 0n, @@ -475,19 +500,27 @@ export function PositionItem(p: Props) { </TableTd> <TableTd> {/* entryPrice */} - {p.position.isOpening - ? t`Opening...` - : formatUsd(p.position.entryPrice, { + {p.position.isOpening ? ( + t`Opening...` + ) : ( + <span className="numbers"> + {formatUsd(p.position.entryPrice, { displayDecimals: marketDecimals, visualMultiplier: p.position.indexToken.visualMultiplier, })} + </span> + )} </TableTd> <TableTd> {/* markPrice */} - {formatUsd(p.position.markPrice, { - displayDecimals: marketDecimals, - visualMultiplier: p.position.indexToken.visualMultiplier, - })} + { + <span className="numbers"> + {formatUsd(p.position.markPrice, { + displayDecimals: marketDecimals, + visualMultiplier: p.position.indexToken.visualMultiplier, + })} + </span> + } </TableTd> <TableTd> {/* liqPrice */} @@ -500,7 +533,7 @@ export function PositionItem(p: Props) { <> <TableTd> <button - className="Exchange-list-action" + className="font-medium text-slate-100 hover:text-white" onClick={p.onClosePositionClick} disabled={p.position.sizeInUsd == 0n} data-qa="position-close-button" @@ -536,171 +569,156 @@ export function PositionItem(p: Props) { const { indexName, poolName } = p.position; return ( - <div className="App-card flex flex-col justify-between" data-qa="position-item"> - <div className="flex flex-grow flex-col"> - <div className="flex-grow"> - <div - className={cx("App-card-title Position-card-title text-body-medium", { - "Position-active-card": isCurrentMarket, + <AppCard dataQa="position-item"> + <AppCardSection onClick={() => p.onSelectPositionClick?.()}> + <div className="text-body-medium flex items-center gap-8"> + <span + className={cx("text-body-medium relative flex items-center gap-4 font-medium", { + "after:absolute after:-left-10 after:top-[50%] after:h-16 after:w-2 after:-translate-y-[50%] after:bg-blue-300": + isCurrentMarket, })} - onClick={() => p.onSelectPositionClick?.()} > - <span className="Exchange-list-title flex"> - <TokenIcon - className="PositionList-token-icon" - symbol={p.position.indexToken?.symbol} - displaySize={20} - importSize={24} - /> - {getMarketIndexName({ indexToken: p.position.indexToken, isSpotOnly: false })} + <TokenIcon className="" symbol={p.position.indexToken?.symbol} displaySize={16} importSize={24} /> + {getMarketIndexName({ indexToken: p.position.indexToken, isSpotOnly: false })} + </span> + <div className="text-body-small flex items-center gap-4"> + <span className={cx("rounded-4 leading-1")}>{formatLeverage(p.position.leverage) || "..."}</span> + <span + className={cx("Exchange-list-side", { + positive: p.position.isLong, + negative: !p.position.isLong, + })} + > + {p.position.isLong ? t`Long` : t`Short`} </span> - <div className="flex items-center"> - <span className={cx("mr-8 rounded-4 px-4 leading-1")}> - {formatLeverage(p.position.leverage) || "..."} - </span> - <span - className={cx("Exchange-list-side", { - positive: p.position.isLong, - negative: !p.position.isLong, - })} - > - {p.position.isLong ? t`Long` : t`Short`} - </span> - </div> - {p.position.pendingUpdate && <ImSpinner2 className="spin position-loading-icon" />} </div> - - <div className="App-card-divider" /> - <div className="App-card-content"> - {showDebugValues && ( - <div className="App-card-row"> - <div className="label">Key</div> - <div className="debug-key muted">{p.position.contractKey}</div> - </div> - )} - <div className="App-card-row"> - <div className="label"> - <Trans>Pool</Trans> - </div> - <div> - <div className="flex items-start"> - <span>{indexName && indexName}</span> - <span className="subtext">{poolName && `[${poolName}]`}</span> - </div> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Size</Trans> - </div> - <div>{formatUsd(p.position.sizeInUsd)}</div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Net Value</Trans> - </div> - <div>{renderNetValue()}</div> - </div> - <div className="App-card-row"> - <div className="label">{savedShowPnlAfterFees ? t`PnL After Fees` : t`PnL`}</div> - <div> - <span - className={cx("Exchange-list-info-label Position-pnl cursor-pointer", { - positive: displayedPnl > 0, - negative: displayedPnl < 0, - muted: displayedPnl == 0n, - })} - onClick={p.openSettings} - > - {formatDeltaUsd(displayedPnl, displayedPnlPercentage)} - </span> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Collateral</Trans> - </div> - <div>{renderCollateral()}</div> - </div> + {p.position.pendingUpdate && <ImSpinner2 className="spin position-loading-icon" />} + </div> + </AppCardSection> + <AppCardSection> + {showDebugValues && ( + <div className="App-card-row"> + <div className="font-medium text-slate-100">Key</div> + <div className="debug-key muted">{p.position.contractKey}</div> </div> - <div className="App-card-divider" /> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>Entry Price</Trans> - </div> - <div> - {formatUsd(p.position.entryPrice, { - displayDecimals: marketDecimals, - visualMultiplier: p.position.indexToken.visualMultiplier, - })} - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Mark Price</Trans> - </div> - <div> - {formatUsd(p.position.markPrice, { - displayDecimals: marketDecimals, - visualMultiplier: p.position.indexToken.visualMultiplier, - })} - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Liq. Price</Trans> - </div> - <div>{renderLiquidationPrice()}</div> - </div> + )} + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Pool</Trans> </div> - <div className="App-card-divider" /> - <div className="flex flex-wrap gap-15"> - <div className="label"> - <Trans>Orders</Trans> - </div> - <div className="flex-grow"> - <PositionItemOrdersSmall positionKey={p.position.key} onOrdersClick={p.onOrdersClick} /> + <div> + <div className="flex items-start"> + <span>{indexName && indexName}</span> + <span className="subtext">{poolName && `[${poolName}]`}</span> </div> </div> </div> - {!p.hideActions && ( - <footer> - <div className="App-card-divider" /> - <div className="Position-item-action"> - <div className="Position-item-buttons"> - <Button variant="secondary" disabled={p.position.sizeInUsd == 0n} onClick={p.onClosePositionClick}> - <Trans>Close</Trans> - </Button> - <Button variant="secondary" disabled={p.position.sizeInUsd == 0n} onClick={p.onEditCollateralClick}> - <Trans>Edit Collateral</Trans> - </Button> - <Button - variant="secondary" - disabled={p.position.sizeInUsd == 0n} - onClick={() => { - p.onSelectPositionClick?.(TradeMode.Trigger, true); - }} - > - <Trans>TP/SL</Trans> - </Button> - </div> - <div> - {!p.position.isOpening && !p.hideActions && ( - <PositionDropdown - handleMarketSelect={() => p.onSelectPositionClick?.()} - handleMarketIncreaseSize={() => p.onSelectPositionClick?.(TradeMode.Market, true)} - handleShare={p.onShareClick} - handleLimitIncreaseSize={() => p.onSelectPositionClick?.(TradeMode.Limit, true)} - handleStopMarketIncreaseSize={() => p.onSelectPositionClick?.(TradeMode.StopMarket, true)} - /> - )} - </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Size</Trans> + </div> + <div className="numbers">{formatUsd(p.position.sizeInUsd)}</div> + </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Net Value</Trans> + </div> + <div>{renderNetValue()}</div> + </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100">{savedShowPnlAfterFees ? t`PnL After Fees` : t`PnL`}</div> + <div> + <span + className={cx("Exchange-list-info-label Position-pnl numbers", { + positive: displayedPnl > 0, + negative: displayedPnl < 0, + muted: displayedPnl == 0n, + })} + > + {formatDeltaUsd(displayedPnl, displayedPnlPercentage)} + </span> + </div> + </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Collateral</Trans> + </div> + <div>{renderCollateral()}</div> + </div> + </AppCardSection> + <AppCardSection> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Entry Price</Trans> + </div> + <div className="numbers"> + {formatUsd(p.position.entryPrice, { + displayDecimals: marketDecimals, + visualMultiplier: p.position.indexToken.visualMultiplier, + })} + </div> + </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Mark Price</Trans> + </div> + <div className="numbers"> + {formatUsd(p.position.markPrice, { + displayDecimals: marketDecimals, + visualMultiplier: p.position.indexToken.visualMultiplier, + })} + </div> + </div> + <div className="App-card-row"> + <div className="font-medium text-slate-100"> + <Trans>Liq. Price</Trans> + </div> + <div>{renderLiquidationPrice()}</div> + </div> + </AppCardSection> + <AppCardSection> + <div className="font-medium text-slate-100"> + <Trans>Orders</Trans> + </div> + + <PositionItemOrdersSmall positionKey={p.position.key} onOrdersClick={p.onOrdersClick} /> + </AppCardSection> + + {!p.hideActions && ( + <AppCardSection> + <div className="flex items-center justify-between"> + <div className="flex gap-8"> + <Button variant="secondary" disabled={p.position.sizeInUsd == 0n} onClick={p.onClosePositionClick}> + <Trans>Close</Trans> + </Button> + <Button variant="secondary" disabled={p.position.sizeInUsd == 0n} onClick={p.onEditCollateralClick}> + <Trans>Edit Collateral</Trans> + </Button> + <Button + variant="secondary" + disabled={p.position.sizeInUsd == 0n} + onClick={() => { + p.onSelectPositionClick?.(TradeMode.Trigger, true); + }} + > + <Trans>TP/SL</Trans> + </Button> </div> - </footer> - )} - </div> - </div> + <div> + {!p.position.isOpening && !p.hideActions && ( + <PositionDropdown + handleMarketSelect={() => p.onSelectPositionClick?.()} + handleMarketIncreaseSize={() => p.onSelectPositionClick?.(TradeMode.Market, true)} + handleShare={p.onShareClick} + handleLimitIncreaseSize={() => p.onSelectPositionClick?.(TradeMode.Limit, true)} + handleStopMarketIncreaseSize={() => p.onSelectPositionClick?.(TradeMode.StopMarket, true)} + /> + )} + </div> + </div> + </AppCardSection> + )} + </AppCard> ); } @@ -747,7 +765,7 @@ function PositionItemOrdersLarge({ return ( <div> - <Tooltip + <TooltipWithPortal className="Position-list-active-orders" handle={ <> @@ -842,7 +860,7 @@ function PositionItemOrder({ className="!bg-slate-100 !bg-opacity-15 !p-6 hover:!bg-opacity-20 active:!bg-opacity-25" onClick={handleEditClick} > - <AiOutlineEdit fontSize={16} /> + <EditIcon width={16} height={16} /> </Button> )} {disabledCancelMarketOrderMessage ? ( @@ -879,19 +897,21 @@ function PositionItemOrderText({ order }: { order: PositionOrderInfo }) { return ( <div key={order.key} className="text-start"> {getNameByOrderType(order.orderType, order.isTwap, { abbr: true })} - {!isTwap && !isMarketOrderType(order.orderType) - ? `: ${triggerThresholdType} ` + - formatUsd(order.triggerPrice, { + {!isTwap && !isMarketOrderType(order.orderType) ? `: ${triggerThresholdType} ` : null} + {!isTwap && !isMarketOrderType(order.orderType) && ( + <span className="numbers"> + {formatUsd(order.triggerPrice, { displayDecimals: calculateDisplayDecimals( order.triggerPrice, undefined, order.indexToken?.visualMultiplier ), visualMultiplier: order.indexToken?.visualMultiplier, - }) - : null} + })} + </span> + )} :{" "} - <span> + <span className="numbers"> {isIncrease ? "+" : "-"} {formatUsd(order.sizeDeltaUsd)} {isTwapOrder(order) && <TwapOrderProgress order={order} />} </span> diff --git a/src/components/Synthetics/PositionList/PositionList.tsx b/src/components/Synthetics/PositionList/PositionList.tsx index 8409f4119c..0de65cfdb7 100644 --- a/src/components/Synthetics/PositionList/PositionList.tsx +++ b/src/components/Synthetics/PositionList/PositionList.tsx @@ -1,4 +1,4 @@ -import { Trans, t } from "@lingui/macro"; +import { Trans } from "@lingui/macro"; import { memo, useCallback, useState } from "react"; import { useMedia } from "react-use"; @@ -14,10 +14,12 @@ import { getByKey } from "lib/objects"; import { userAnalytics } from "lib/userAnalytics"; import { SharePositionClickEvent } from "lib/userAnalytics/types"; +import { EmptyTableContent } from "components/EmptyTableContent/EmptyTableContent"; import PositionShare from "components/Exchange/PositionShare"; import { OrderEditorContainer } from "components/OrderEditorContainer/OrderEditorContainer"; import { PositionItem } from "components/Synthetics/PositionItem/PositionItem"; -import { Table, TableTd, TableTh, TableTheadTr, TableTr } from "components/Table/Table"; +import { Table, TableTh, TableTheadTr } from "components/Table/Table"; +import { TableScrollFadeContainer } from "components/TableScrollFade/TableScrollFade"; type Props = { onSelectPositionClick: (key: string, tradeMode?: TradeMode, showCurtain?: boolean) => void; @@ -29,7 +31,7 @@ type Props = { }; export function PositionList(p: Props) { - const { onClosePositionClick, onOrdersClick, onSelectPositionClick, openSettings, onCancelOrder, hideActions } = p; + const { onClosePositionClick, onOrdersClick, onSelectPositionClick, onCancelOrder, hideActions } = p; const positionsInfoData = usePositionsInfoData(); const chainId = useSelector(selectChainId); const account = useSelector(selectAccount); @@ -50,15 +52,17 @@ export function PositionList(p: Props) { }, []); const [, setEditingPositionKey] = usePositionEditorPositionState(); const isLoading = useIsPositionsLoading(); - const isMobile = useMedia("(max-width: 1300px)"); + const isMobile = useMedia("(max-width: 1024px)"); return ( <div> {isMobile && ( <> - {positions.length === 0 && ( - <div className="App-card text-slate-100">{isLoading ? t`Loading...` : t`No open positions`}</div> - )} + <EmptyTableContent + isLoading={isLoading} + isEmpty={positions.length === 0} + emptyText={<Trans>No open positions</Trans>} + /> <div className="grid grid-cols-1 gap-8 min-[800px]:grid-cols-2"> {!isLoading && positions.map((position) => ( @@ -71,7 +75,6 @@ export function PositionList(p: Props) { onSelectPositionClick={onSelectPositionClick} isLarge={false} onShareClick={handleSharePositionClick} - openSettings={openSettings} hideActions={hideActions} onCancelOrder={onCancelOrder} /> @@ -81,64 +84,64 @@ export function PositionList(p: Props) { )} {!isMobile && ( - <Table> - <thead className="text-body-medium"> - <TableTheadTr bordered> - <TableTh> - <Trans>Position</Trans> - </TableTh> - <TableTh> - <Trans>Size</Trans> - </TableTh> - <TableTh> - <Trans>Net Value</Trans> - </TableTh> - <TableTh> - <Trans>Collateral</Trans> - </TableTh> - <TableTh> - <Trans>Entry Price</Trans> - </TableTh> - <TableTh> - <Trans>Mark Price</Trans> - </TableTh> - <TableTh> - <Trans>Liq. Price</Trans> - </TableTh> - {!isLoading && !p.hideActions && ( - <> - <TableTh></TableTh> - <TableTh></TableTh> - </> - )} - </TableTheadTr> - </thead> - <tbody> - {positions.length === 0 && ( - <TableTr hoverable={false} bordered={false}> - <TableTd colSpan={15}> - <div className="text-slate-100">{isLoading ? t`Loading...` : t`No open positions`}</div> - </TableTd> - </TableTr> - )} - {!isLoading && - positions.map((position) => ( - <PositionItemWrapper - key={position.key} - position={position} - onEditCollateralClick={setEditingPositionKey} - onClosePositionClick={onClosePositionClick} - onOrdersClick={onOrdersClick} - onSelectPositionClick={onSelectPositionClick} - isLarge - onShareClick={handleSharePositionClick} - openSettings={openSettings} - hideActions={hideActions} - onCancelOrder={onCancelOrder} - /> - ))} - </tbody> - </Table> + <TableScrollFadeContainer disableScrollFade={positions.length === 0}> + <Table className="!w-[max(100%,840px)]"> + <thead className="text-body-medium"> + <TableTheadTr> + <TableTh> + <Trans>Position</Trans> + </TableTh> + <TableTh> + <Trans>Size</Trans> + </TableTh> + <TableTh> + <Trans>Net Value</Trans> + </TableTh> + <TableTh> + <Trans>Collateral</Trans> + </TableTh> + <TableTh> + <Trans>Entry Price</Trans> + </TableTh> + <TableTh> + <Trans>Mark Price</Trans> + </TableTh> + <TableTh> + <Trans>Liq. Price</Trans> + </TableTh> + {!isLoading && !p.hideActions && ( + <> + <TableTh></TableTh> + <TableTh></TableTh> + </> + )} + </TableTheadTr> + </thead> + <tbody> + {!isLoading && + positions.map((position) => ( + <PositionItemWrapper + key={position.key} + position={position} + onEditCollateralClick={setEditingPositionKey} + onClosePositionClick={onClosePositionClick} + onOrdersClick={onOrdersClick} + onSelectPositionClick={onSelectPositionClick} + isLarge + onShareClick={handleSharePositionClick} + hideActions={hideActions} + onCancelOrder={onCancelOrder} + /> + ))} + </tbody> + </Table> + + <EmptyTableContent + isLoading={isLoading} + isEmpty={positions.length === 0} + emptyText={<Trans>No open positions</Trans>} + /> + </TableScrollFadeContainer> )} {positionToShare && ( <PositionShare @@ -170,7 +173,6 @@ const PositionItemWrapper = memo( onOrdersClick, onSelectPositionClick, onShareClick, - openSettings, onCancelOrder, }: { position: PositionInfo; @@ -180,7 +182,6 @@ const PositionItemWrapper = memo( onSelectPositionClick: (positionKey: string, tradeMode: TradeMode | undefined, showCurtain?: boolean) => void; isLarge: boolean; onShareClick: (positionKey: string) => void; - openSettings: () => void; hideActions: boolean | undefined; onCancelOrder: (orderKey: string) => void; }) => { @@ -216,7 +217,6 @@ const PositionItemWrapper = memo( onSelectPositionClick={handleSelectPositionClick} showPnlAfterFees={showPnlAfterFees} isLarge={isLarge} - openSettings={openSettings} hideActions={hideActions} onShareClick={handleShareClick} onCancelOrder={handleCancelOrder} diff --git a/src/components/Synthetics/PositionSeller/PositionSeller.tsx b/src/components/Synthetics/PositionSeller/PositionSeller.tsx index 51952ac956..eb579fd755 100644 --- a/src/components/Synthetics/PositionSeller/PositionSeller.tsx +++ b/src/components/Synthetics/PositionSeller/PositionSeller.tsx @@ -862,7 +862,7 @@ export function PositionSeller() { tokensToApprove, ]); - const isMobile = useMedia("(max-width: 1100px)"); + const isMobile = useMedia("(max-width: 1024px)"); return ( <div className="text-body-medium"> @@ -1004,8 +1004,6 @@ export function PositionSeller() { isWrapOrUnwrap={false} /> - <div className="h-1 bg-stroke-primary" /> - {!isTwap && ( <> {receiveTokenRow} diff --git a/src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx b/src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx index 5c7031ff03..53f0eaef4a 100644 --- a/src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx +++ b/src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx @@ -130,6 +130,7 @@ export function PositionSellerAdvancedRows({ triggerPriceInputValue, slippageInp open={open} onToggle={setOpen} contentClassName="flex flex-col gap-14 pt-14" + row={false} > {!isTwap && ( <ExecutionPriceRow @@ -157,8 +158,6 @@ export function PositionSellerAdvancedRows({ triggerPriceInputValue, slippageInp {!isTwap && ( <> - <div className="h-1 bg-stroke-primary" /> - <SyntheticsInfoRow label={t`Leverage`} value={leverageValue} /> {sizeRow} <SyntheticsInfoRow @@ -167,6 +166,7 @@ export function PositionSellerAdvancedRows({ triggerPriceInputValue, slippageInp handle={<Trans>Collateral ({position?.collateralToken?.symbol})</Trans>} position="top-start" content={<Trans>Initial Collateral (Collateral excluding Borrow and Funding Fee).</Trans>} + styleType="icon" /> } value={ diff --git a/src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx b/src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx index 47beee1559..909510759e 100644 --- a/src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx +++ b/src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx @@ -22,6 +22,7 @@ export function AllowedSlippageRow({ <TooltipWithPortal handle={t`Allowed Slippage`} position="top-start" + styleType="icon" renderContent={() => { return ( <div className="text-white"> diff --git a/src/components/Synthetics/SelectorBase/SelectorBase.scss b/src/components/Synthetics/SelectorBase/SelectorBase.scss index 4a1148fb70..5a1e96fedf 100644 --- a/src/components/Synthetics/SelectorBase/SelectorBase.scss +++ b/src/components/Synthetics/SelectorBase/SelectorBase.scss @@ -2,6 +2,7 @@ &-button { display: flex; align-items: center; + gap: 4px; cursor: pointer; @@ -22,9 +23,9 @@ font-size: var(--font-size-body-medium); - border-radius: var(--border-radius-sm); + border-radius: 8px; background-color: var(--dark-blue-bg); - border: 1px solid var(--color-gray-700); + border: 0.5px solid var(--color-slate-600); overflow: hidden; } } @@ -52,20 +53,20 @@ color: inherit; font-size: var(--font-size-body-medium); - - border: 1px solid var(--color-gray-700); + background-color: var(--color-slate-800); border-radius: var(--border-radius-sm); - padding: 12px; + padding: 8px 16px; + font-weight: 500; &:hover, &:active { - background: var(--color-cold-blue-900); + background: var(--color-slate-700); box-shadow: inset 0px 0px 3rem 0.5rem rgba(255, 255, 255, 0.01); } &-disabled { cursor: not-allowed; - color: var(--color-slate-500); + color: var(--color-slate-100); .Token-icon { opacity: 0.5; diff --git a/src/components/Synthetics/SelectorBase/SelectorBase.tsx b/src/components/Synthetics/SelectorBase/SelectorBase.tsx index 10262394cd..23a1cf0034 100644 --- a/src/components/Synthetics/SelectorBase/SelectorBase.tsx +++ b/src/components/Synthetics/SelectorBase/SelectorBase.tsx @@ -5,7 +5,7 @@ import cx from "classnames"; import noop from "lodash/noop"; import React, { PropsWithChildren, ReactNode, useCallback, useContext, useMemo, useState } from "react"; import { createPortal } from "react-dom"; -import { BiChevronDown } from "react-icons/bi"; +import { FaChevronDown } from "react-icons/fa6"; import { useMedia } from "react-use"; import { SlideModal } from "components/Modal/SlideModal"; @@ -67,11 +67,12 @@ export function SelectorBaseMobileButton( props: PropsWithChildren<{ onSelect: () => void; disabled?: boolean; + rowClassName?: string; }> ) { return ( <button - className={cx("SelectorBaseUtils-mobile-row", { + className={cx("SelectorBaseUtils-mobile-row", props.rowClassName, { "SelectorBaseUtils-mobile-row-disabled": props.disabled, })} onClick={props.onSelect} @@ -98,7 +99,6 @@ export function SelectorBaseDesktopRow( className={cx("SelectorBaseUtils-row SelectorBaseUtils-row-disabled", props.className)} content={props.disabledMessage} position="left-start" - bordered={false} hoverable={false} > {props.children} @@ -116,7 +116,6 @@ export function SelectorBaseDesktopRow( )} content={props.message} position="bottom-end" - bordered={false} hoverable={!!props.onClick} onClick={props.disabled ? undefined : props.onClick} > @@ -134,7 +133,6 @@ export function SelectorBaseDesktopRow( }, props.className )} - bordered={false} hoverable={!!props.onClick} onClick={props.disabled ? undefined : props.onClick} > @@ -189,12 +187,17 @@ function SelectorBaseDesktop(props: Props & { qa?: string }) { <> <Popover.Button as="div" - className={cx("SelectorBase-button group/selector-base", props.handleClassName)} + className={cx("SelectorBase-button group/selector-base gap-8", props.handleClassName)} ref={refs.setReference} data-qa={props.qa ? props.qa + "-button" : undefined} > {props.label} - <BiChevronDown className={cx("-my-5 -mr-4 inline-block align-middle text-24", props.chevronClassName)} /> + <FaChevronDown + className={cx( + "-my-5 -mr-4 inline-block text-[12px] text-slate-100 group-hover:text-blue-300 group-active:text-blue-300", + props.chevronClassName + )} + /> </Popover.Button> {popoverProps.open && ( <FloatingPortal> @@ -245,7 +248,12 @@ function SelectorBaseMobile(props: Props) { <div className={cx("SelectorBase-button group/selector-base", props.handleClassName)} onClick={toggleVisibility}> {props.label} {!props.disabled && ( - <BiChevronDown className={cx("-my-5 -mr-4 inline-block align-middle text-24", props.chevronClassName)} /> + <FaChevronDown + className={cx( + "inline-block text-slate-100 group-hover:text-blue-300 group-active:text-blue-300", + props.chevronClassName + )} + /> )} </div> @@ -256,7 +264,6 @@ function SelectorBaseMobile(props: Props) { qa={props.qa} headerRef={headerContentRef} contentPadding={props.mobileModalContentPadding} - noDivider footerContent={props.footerContent} > <SelectorContextProvider close={toggleVisibility} mobileHeader={headerContent}> diff --git a/src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx b/src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx index 3e18e455b1..d184de7346 100644 --- a/src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx +++ b/src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx @@ -30,7 +30,6 @@ import { getTokenVisualMultiplier, getWrappedToken } from "sdk/configs/tokens"; import ExternalLink from "components/ExternalLink/ExternalLink"; import { TransactionStatus, TransactionStatusType } from "components/TransactionStatus/TransactionStatus"; -import "./StatusNotification.scss"; import { useToastAutoClose } from "./useToastAutoClose"; // eslint-disable-next-line import/order @@ -355,7 +354,9 @@ export function OrderStatusNotification({ return ( <div className={cx("StatusNotification", { error: hasError })}> <div className="StatusNotification-content"> - <div className="StatusNotification-title">{title}</div> + <div className={cx("StatusNotification-title", { "text-green-500": !hasError, "text-red-500": hasError })}> + {title} + </div> <div className="StatusNotification-items"> {externalSwapStatus} diff --git a/src/components/Synthetics/SwapCard/SwapCard.tsx b/src/components/Synthetics/SwapCard/SwapCard.tsx index 4cdfa263cc..fe85d98b9d 100644 --- a/src/components/Synthetics/SwapCard/SwapCard.tsx +++ b/src/components/Synthetics/SwapCard/SwapCard.tsx @@ -42,28 +42,28 @@ export function SwapCard(p: Props) { }, [fromToken, toToken]); return ( - <div className="text-body-medium relative rounded-4 bg-slate-800 p-15 max-[1100px]:mt-0"> + <div className="text-body-medium relative rounded-4 bg-slate-900 p-15 max-[1024px]:mt-0"> <div className="text-[15px]"> <Trans>Swap</Trans> </div> - <div className="my-15 h-1 bg-stroke-primary" /> + <div className="my-15 h-1 bg-slate-600" /> <div className="flex flex-col gap-14"> <SyntheticsInfoRow label={t`${fromToken?.symbol} Price`} - value={formatUsdPrice(fromToken?.prices?.minPrice) || "..."} + value={<span className="numbers">{formatUsdPrice(fromToken?.prices?.minPrice) || "..."}</span>} /> <SyntheticsInfoRow label={t`${toToken?.symbol} Price`} - value={formatUsdPrice(toToken?.prices?.maxPrice) || "..."} + value={<span className="numbers">{formatUsdPrice(toToken?.prices?.maxPrice) || "..."}</span>} /> <SyntheticsInfoRow label={t`Available Liquidity`} value={ <Tooltip - handle={formatUsd(maxLiquidityUsd) || "..."} + handle={<span className="numbers">{formatUsd(maxLiquidityUsd) || "..."}</span>} position="left-start" content={ <StatsTooltipRow @@ -86,7 +86,7 @@ export function SwapCard(p: Props) { } /> - <SyntheticsInfoRow label={t`Price`} value={ratioStr} /> + <SyntheticsInfoRow label={t`Price`} value={<span className="numbers">{ratioStr}</span>} /> </div> </div> ); diff --git a/src/components/Synthetics/SyntheticsInfoRow.tsx b/src/components/Synthetics/SyntheticsInfoRow.tsx index 615232cf0a..532aaa21aa 100644 --- a/src/components/Synthetics/SyntheticsInfoRow.tsx +++ b/src/components/Synthetics/SyntheticsInfoRow.tsx @@ -45,7 +45,7 @@ export function SyntheticsInfoRow({ onKeyDown={handleKeyDown} data-qa={qa ? `info-row-${qa}` : undefined} > - <div className="text-slate-100">{label}</div> + <div className="font-medium text-slate-100">{label}</div> <div className={cx("text-right", { "text-red-500": isWarning }, valueClassName)}>{children || value}</div> </Component> ); diff --git a/src/components/Synthetics/TVChart/Chart.tsx b/src/components/Synthetics/TVChart/Chart.tsx index 55b820bf44..13e1540239 100644 --- a/src/components/Synthetics/TVChart/Chart.tsx +++ b/src/components/Synthetics/TVChart/Chart.tsx @@ -1,6 +1,5 @@ import { Trans } from "@lingui/macro"; import { Suspense, lazy } from "react"; -import { useMedia } from "react-use"; import { isDevelopment } from "config/env"; import { @@ -13,36 +12,26 @@ import { useLocalStorageSerializeKey } from "lib/localStorage"; import { DepthChart } from "components/DepthChart/DepthChart"; import Tabs from "components/Tabs/Tabs"; -import AntennaBarsIcon from "img/ic_antenna_bars.svg?react"; -import CandlestickChartIcon from "img/ic_candlestick_chart.svg?react"; - -import { ChartHeader } from "./ChartHeader"; import { TVChart } from "./TVChart"; import "./TVChart.scss"; -const LazyBiNetworkChart = lazy(() => import("react-icons/bi").then((mod) => ({ default: mod.BiNetworkChart }))); const LazyMarketGraph = lazy(() => import("components/DebugMarketGraph/DebugMarketGraph")); const TAB_LABELS = { PRICE: ( <div className="flex items-center gap-8"> - <CandlestickChartIcon /> - <Trans>PRICE</Trans> + <Trans>Price</Trans> </div> ), DEPTH: ( <div className="flex items-center gap-8"> - <AntennaBarsIcon /> - <Trans>DEPTH</Trans> + <Trans>Depth</Trans> </div> ), MARKET_GRAPH: ( <div className="flex items-center gap-8"> - <Suspense fallback={<div>...</div>}> - <LazyBiNetworkChart /> - </Suspense> - MARKET GRAPH + <Trans>Market Graph</Trans> </div> ), }; @@ -61,19 +50,16 @@ const TABS = isDevelopment() ? ["PRICE", "DEPTH", "MARKET_GRAPH"] : ["PRICE", "D const TABS_OPTIONS = TABS.map((tab) => ({ value: tab, - label: TAB_LABELS[tab], + label: TAB_LABELS[tab] })); export function Chart() { - const isMobile = useMedia("(max-width: 700px)"); const [tab, setTab] = useLocalStorageSerializeKey("chart-tab", "PRICE"); const { isSwap } = useSelector(selectTradeboxTradeFlags); return ( <div className="ExchangeChart tv flex h-[60rem] flex-col [@media(min-width:2560px)]:min-h-[780px] [@media(min-width:3840px)]:min-h-[1140px]"> - <ChartHeader isMobile={isMobile} /> - - <div className="flex grow flex-col overflow-hidden rounded-4 bg-slate-800 [@media(max-width:1920px)]:h-[53.6rem]"> + <div className="flex grow flex-col overflow-hidden rounded-8 bg-slate-900 [@media(max-width:1920px)]:h-[53.6rem]"> {isSwap ? ( tab === "MARKET_GRAPH" ? ( TAB_CONTENTS.MARKET_GRAPH @@ -82,9 +68,7 @@ export function Chart() { ) ) : ( <> - <div className="text-body-medium border-b border-stroke-primary px-20 py-10"> - <Tabs type="inline" className="flex" options={TABS_OPTIONS} selectedValue={tab} onChange={setTab} /> - </div> + <ChartTabs tab={tab} setTab={setTab} /> {TAB_CONTENTS[tab || "PRICE"]} </> @@ -107,3 +91,7 @@ function DepthChartContainer() { </div> ); } + +const ChartTabs = ({ tab, setTab }: { tab: string | undefined; setTab: (tab: string) => void }) => { + return <Tabs options={TABS_OPTIONS} selectedValue={tab} onChange={setTab} />; +}; diff --git a/src/components/Synthetics/TVChart/ChartHeader.tsx b/src/components/Synthetics/TVChart/ChartHeader.tsx index d21d058cb5..cf3bc1bda1 100644 --- a/src/components/Synthetics/TVChart/ChartHeader.tsx +++ b/src/components/Synthetics/TVChart/ChartHeader.tsx @@ -1,12 +1,14 @@ import { Trans } from "@lingui/macro"; import cx from "classnames"; -import { useCallback, useEffect, useMemo, useRef, useState } from "react"; -import { BiChevronDown, BiChevronLeft, BiChevronRight, BiChevronUp } from "react-icons/bi"; -import { useEffectOnce, useMedia } from "react-use"; +import { ReactNode, useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { BiChevronLeft, BiChevronRight } from "react-icons/bi"; +import { FaChevronDown, FaChevronUp } from "react-icons/fa6"; +import { useEffectOnce } from "react-use"; import { selectChartToken } from "context/SyntheticsStateContext/selectors/chartSelectors"; import { selectTradeboxTradeFlags } from "context/SyntheticsStateContext/selectors/tradeboxSelectors"; import { useSelector } from "context/SyntheticsStateContext/utils"; +import { useBreakpoints } from "lib/breakpoints"; import { useChainId } from "lib/chains"; import { getToken } from "sdk/configs/tokens"; @@ -21,7 +23,7 @@ const MIN_FADE_AREA = 24; //px const MAX_SCROLL_LEFT_TO_END_AREA = 50; //px const MIN_SCROLL_END_SPACE = 5; // px -function ChartHeaderInfoMobile() { +function ChartHeaderMobile() { const { chartToken } = useSelector(selectChartToken); const { isSwap } = useSelector(selectTradeboxTradeFlags); @@ -57,8 +59,6 @@ function ChartHeaderInfoMobile() { setDetailsVisible((prev) => !prev); }, [setDetailsVisible]); - const isSmallMobile = useMedia("(max-width: 400px)"); - const details = useMemo(() => { if (!detailsVisible) { return null; @@ -66,84 +66,74 @@ function ChartHeaderInfoMobile() { if (isSwap) { return ( - <div - className={cx("grid gap-14 pt-16", { - "grid-cols-1 grid-rows-2": isSmallMobile, - "grid-cols-[repeat(2,_auto)] grid-rows-1": !isSmallMobile, - })} - > + <div className="grid grid-cols-[auto_auto] grid-rows-2 gap-14"> <div> - <div className="ExchangeChart-info-label mb-4"> + <div className="mb-4 text-[11px] font-medium uppercase text-slate-100"> <Trans>24h High</Trans> </div> - <div>${high24}</div> + <div className="numbers">${high24}</div> </div> <div> - <div className="ExchangeChart-info-label mb-4"> + <div className="mb-4 text-[11px] font-medium uppercase text-slate-100"> <Trans>24h Low</Trans> </div> - <div>${low24}</div> + <div className="numbers">${low24}</div> </div> </div> ); } return ( - <div - className={cx("grid gap-16", { - "grid-cols-1 grid-rows-4": isSmallMobile, - "grid-cols-[repeat(2,_auto)] grid-rows-2": !isSmallMobile, - })} - > + <div className="grid grid-cols-[auto_auto] grid-rows-2 gap-16"> <div> - <div className="ExchangeChart-info-label mb-4"> + <div className="mb-4 text-[11px] font-medium uppercase text-slate-100"> <Trans>24h Volume</Trans> </div> - {dailyVolume} + <div className="numbers">{dailyVolume}</div> </div> <div> - <div className="mb-4 whitespace-nowrap"> - <span className="text-body-small whitespace-nowrap text-slate-100"> + <div className="mb-4 whitespace-nowrap text-[11px] font-medium text-slate-100"> + <span className="whitespace-nowrap text-[11px] font-medium uppercase text-slate-100"> <Trans>Open Interest</Trans> </span> - <span className="text-slate-100">{" ("}</span> - <span className="positive">{longOIPercentage}</span> - <span className="text-slate-100">/</span> - <span className="negative">{shortOIPercentage}</span> - <span className="text-slate-100">{")"}</span> + <span>{" ("}</span> + <span className="numbers">{longOIPercentage}</span> + <span>/</span> + <span className="numbers">{shortOIPercentage}</span> + <span>{")"}</span> </div> - <div className="flex flex-row items-center gap-8"> - <div className="flex flex-row items-center gap-8">{longOIValue}</div> - <div className="flex flex-row items-center gap-8">{shortOIValue}</div> + <div className="flex flex-row items-center gap-8 "> + <div className="flex flex-row items-center gap-8 numbers">{longOIValue}</div> + <div className="flex flex-row items-center gap-8 numbers">{shortOIValue}</div> </div> </div> <div> - <div className="ExchangeChart-info-label mb-4"> + <div className="mb-4 text-[11px] font-medium uppercase text-slate-100"> <Trans>Available Liquidity</Trans> </div> <div className="flex flex-row items-center gap-8"> - <div className="flex flex-row items-center gap-8">{liquidityLong}</div> - <div className="flex flex-row items-center gap-8">{liquidityShort}</div> + <div className="flex flex-row items-center gap-8 numbers">{liquidityLong}</div> + <div className="flex flex-row items-center gap-8 numbers">{liquidityShort}</div> </div> </div> <div> - <div className="ExchangeChart-info-label mb-4"> - <TooltipWithPortal disableHandleStyle renderContent={renderNetFeeHeaderTooltipContent}> + <div className="mb-4 text-[11px] font-medium uppercase text-slate-100"> + <TooltipWithPortal styleType="none" renderContent={renderNetFeeHeaderTooltipContent}> <Trans>Net Rate / 1h</Trans> </TooltipWithPortal> </div> <TooltipWithPortal - disableHandleStyle + styleType="none" as="div" className="inline-flex flex-row items-center gap-8" position="bottom-end" content={<NetRate1hTooltip />} > - <div>{netRateLong}</div> - <div>{netRateShort}</div> + <div className="numbers">{netRateLong}</div> + <div className="numbers">{netRateShort}</div> </TooltipWithPortal> </div> </div> @@ -159,41 +149,43 @@ function ChartHeaderInfoMobile() { netRateShort, shortOIPercentage, shortOIValue, - isSmallMobile, detailsVisible, high24, low24, ]); return ( - <div className="mb-10 rounded-4 bg-slate-800 "> - <div className="p-16"> - <div className="flex items-start justify-between"> - <div className="inline-flex"> - <ChartTokenSelector selectedToken={selectedTokenOption} oneRowLabels={false} /> - </div> + <div className="rounded-8 bg-slate-800"> + <div className="flex items-start justify-between"> + <div className="inline-flex"> + <ChartTokenSelector selectedToken={selectedTokenOption} oneRowLabels={false} /> + </div> - <div className="flex cursor-pointer flex-row items-start gap-8" role="button" onClick={toggleDetailsVisible}> - <div className="flex flex-col"> - <div className="mr-4">{avgPrice}</div> - <div className="ExchangeChart-daily-change text-body-small">{dayPriceDelta}</div> - </div> - <span className={cx("inline-flex cursor-pointer items-center justify-center rounded-4")}> - {detailsVisible ? ( - <BiChevronUp className="-ml-6 -mt-2" size={24} /> - ) : ( - <BiChevronDown className="-ml-6 -mt-2" size={24} /> - )} - </span> + <div + className="flex cursor-pointer flex-row items-start gap-8 p-8" + role="button" + onClick={toggleDetailsVisible} + > + <div className="flex flex-col items-end"> + <div className="mr-4 numbers">{avgPrice}</div> + <div className="ExchangeChart-daily-change text-body-small numbers">{dayPriceDelta}</div> </div> + <span className={cx("inline-flex cursor-pointer items-center justify-center rounded-4 pt-6 text-slate-100")}> + {detailsVisible ? ( + <FaChevronUp className="-ml-6 -mt-2" size={12} /> + ) : ( + <FaChevronDown className="-ml-6 -mt-2" size={12} /> + )} + </span> </div> </div> - {details ? <div className="border-t-[1px] border-t-stroke-primary p-16">{details}</div> : null} + + {details ? <div className="border-t-[1px] border-t-slate-600 p-16">{details}</div> : null} </div> ); } -function ChartHeaderInfoDesktop() { +function ChartHeaderDesktop() { const { chartToken } = useSelector(selectChartToken); const { isSwap } = useSelector(selectTradeboxTradeFlags); @@ -276,66 +268,65 @@ function ChartHeaderInfoDesktop() { if (isSwap) { return ( <> - <div className="text-body-small"> - <div className="ExchangeChart-info-label mb-4"> - <Trans>24h High</Trans> - </div> - <div className="Chart-header-value">${high24}</div> - </div> - <div> - <div className="ExchangeChart-info-label mb-4"> - <Trans>24h Low</Trans> - </div> - <div className="Chart-header-value">${low24}</div> - </div> + <ChartHeaderItem label={<Trans>24h High</Trans>} value={<span className="numbers">${high24}</span>} /> + <ChartHeaderItem label={<Trans>24h Low</Trans>} value={<span className="numbers">${low24}</span>} /> </> ); } return ( <> - <div> - <div className="ExchangeChart-info-label mb-4">24h Volume</div> - <div className="Chart-header-value">{dailyVolume}</div> - </div> - <div> - <div className="ExchangeChart-info-label mb-4 whitespace-nowrap text-[1.25rem]"> - <Trans>Open Interest</Trans> - {" ("} - <span className="positive">{longOIPercentage}</span>/<span className="negative">{shortOIPercentage}</span> - {")"} - </div> - <div className="Chart-header-value flex flex-row items-center gap-8"> - <div className="flex flex-row items-center gap-4">{longOIValue}</div> - <div className="flex flex-row items-center gap-4">{shortOIValue}</div> - </div> - </div> - <div> - <div className="ExchangeChart-info-label mb-4"> - <Trans>Available Liquidity</Trans> - </div> - <div className="Chart-header-value flex flex-row items-center gap-8"> - <div className="flex flex-row items-center gap-4">{liquidityLong}</div> - <div className="flex flex-row items-center gap-4">{liquidityShort}</div> - </div> - </div> - <div> - <div className="ExchangeChart-info-label mb-4"> - <TooltipWithPortal disableHandleStyle renderContent={renderNetFeeHeaderTooltipContent}> + <ChartHeaderItem label={<Trans>24h Volume</Trans>} value={<span className="numbers">{dailyVolume}</span>} /> + + <ChartHeaderItem + label={ + <Trans> + Open Interest (<span className="numbers">{longOIPercentage}</span>/ + <span className="numbers">{shortOIPercentage}</span>) + </Trans> + } + value={ + <div className="flex items-center gap-4"> + <div className="flex items-center gap-4 numbers">{longOIValue}</div> + <span className="text-slate-100">/</span> + <div className="flex items-center gap-4 numbers">{shortOIValue}</div> + </div> + } + /> + + <ChartHeaderItem + label={<Trans>Available Liquidity</Trans>} + value={ + <div className="flex items-center gap-4"> + <span className="numbers">{liquidityLong}</span> + <span className="text-slate-100">/</span> + <span className="numbers">{liquidityShort}</span> + </div> + } + /> + + <ChartHeaderItem + label={ + <TooltipWithPortal styleType="none" renderContent={renderNetFeeHeaderTooltipContent}> <Trans>Net Rate / 1h</Trans> </TooltipWithPortal> - </div> - <TooltipWithPortal - disableHandleStyle - as="div" - className="Chart-header-value flex flex-row items-center gap-8" - position="bottom-end" - content={<NetRate1hTooltip />} - > - <div>{netRateLong}</div> - <div>{netRateShort}</div> - </TooltipWithPortal> - </div> + } + value={ + <TooltipWithPortal + styleType="none" + as="div" + className="Chart-header-value flex flex-row items-center gap-8" + position="bottom-end" + content={<NetRate1hTooltip />} + > + <div className="flex items-center gap-4"> + <div className="numbers">{netRateLong}</div> + <span className="text-slate-100">/</span> + <div className="numbers">{netRateShort}</div> + </div> + </TooltipWithPortal> + } + /> </> ); }, [ @@ -409,17 +400,16 @@ function ChartHeaderInfoDesktop() { const scrollToRight = useCallback(() => scrollTo(1), [scrollTo]); return ( - <div className="Chart-header mb-10 rounded-4 py-8 pr-8"> - <div className="flex items-center justify-start pl-8"> - <ChartTokenSelector selectedToken={selectedTokenOption} oneRowLabels={false} /> + <div className="flex gap-16 overflow-hidden"> + <div className="flex shrink-0 items-center justify-start"> + <ChartTokenSelector selectedToken={selectedTokenOption} oneRowLabels={true} /> </div> <div className="relative flex overflow-hidden"> <div className="pointer-events-none absolute z-40 flex h-full w-full flex-row justify-between"> <div className={cx("Chart-top-scrollable-fade-left", { - "!cursor-default": scrollLeft <= 0, + "!pointer-events-none opacity-0": scrollLeft <= 0, "opacity-100": scrollLeft > 0, - "opacity-0": scrollLeft <= 0, })} style={leftStyles} onClick={scrollToLeft} @@ -428,9 +418,8 @@ function ChartHeaderInfoDesktop() { </div> <div className={cx("Chart-top-scrollable-fade-right", { - "!cursor-default": scrollRight <= 0, + "!pointer-events-none opacity-0": scrollRight <= 0, "opacity-100": scrollRight > 0, - "opacity-0": scrollRight <= 0, })} style={rightStyles} onClick={scrollToRight} @@ -438,10 +427,10 @@ function ChartHeaderInfoDesktop() { {scrollRight > 0 && <BiChevronRight className="text-slate-100" size={24} />} </div> </div> - <div className="Chart-top-scrollable" ref={scrollableRef}> - <div className="Chart-price"> - <div className="text-body-medium mb-4">{avgPrice}</div> - <div className="text-body-small">{dayPriceDelta}</div> + <div className={cx("flex gap-20 overflow-x-auto scrollbar-hide")} ref={scrollableRef}> + <div className="flex flex-col justify-center gap-2"> + <div className="mb-2 text-[13px] numbers">{avgPrice}</div> + <div className="text-body-small numbers">{dayPriceDelta}</div> </div> {additionalInfo} </div> @@ -450,6 +439,19 @@ function ChartHeaderInfoDesktop() { ); } -export function ChartHeader({ isMobile }: { isMobile: boolean }) { - return isMobile ? <ChartHeaderInfoMobile /> : <ChartHeaderInfoDesktop />; +const ChartHeaderItem = ({ label, value }: { label: ReactNode; value: ReactNode }) => { + return ( + <div className="flex flex-col justify-center gap-2"> + <div className="whitespace-nowrap text-[11px] font-medium uppercase tracking-[0.08em] text-slate-100"> + {label} + </div> + <div className="text-body-medium numbers">{value}</div> + </div> + ); +}; + +export default function ChartHeader() { + const { isMobile } = useBreakpoints(); + + return isMobile ? <ChartHeaderMobile /> : <ChartHeaderDesktop />; } diff --git a/src/components/Synthetics/TVChart/TVChart.scss b/src/components/Synthetics/TVChart/TVChart.scss index cc39b28f19..231cbafcd4 100644 --- a/src/components/Synthetics/TVChart/TVChart.scss +++ b/src/components/Synthetics/TVChart/TVChart.scss @@ -37,7 +37,7 @@ .Chart-header { display: grid; grid-template-columns: minmax(auto, max-content) auto; - background-color: var(--color-slate-800); + background-color: var(--color-slate-900); } .Chart-top-scrollable { @@ -72,12 +72,12 @@ .Chart-top-scrollable-fade-left { justify-content: flex-start; - background: linear-gradient(to left, transparent, var(--color-slate-800) 50%, var(--color-slate-800)); + background: linear-gradient(to left, transparent, var(--color-slate-950) 50%, var(--color-slate-950)); } .Chart-top-scrollable-fade-right { justify-content: flex-end; - background: linear-gradient(to right, transparent, var(--color-slate-800) 50%, var(--color-slate-800)); + background: linear-gradient(to right, transparent, var(--color-slate-950) 50%, var(--color-slate-950)); } .Chart-header-value { @@ -85,7 +85,7 @@ line-height: var(--line-height-body-medium); } -@media (max-width: 1100px) { +@media (max-width: 1024px) { .Chart-24h-low { display: block; } diff --git a/src/components/Synthetics/TVChart/useChartHeaderFormattedValues.tsx b/src/components/Synthetics/TVChart/useChartHeaderFormattedValues.tsx index 95fbcd501e..a80771d1ba 100644 --- a/src/components/Synthetics/TVChart/useChartHeaderFormattedValues.tsx +++ b/src/components/Synthetics/TVChart/useChartHeaderFormattedValues.tsx @@ -26,8 +26,8 @@ import { bigMath } from "sdk/utils/bigmath"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; -import LongIcon from "img/long.svg?react"; -import ShortIcon from "img/short.svg?react"; +import LongIcon from "img/new-long.svg?react"; +import ShortIcon from "img/new-short.svg?react"; import { AvailableLiquidityTooltip } from "./components/AvailableLiquidityTooltip"; @@ -89,7 +89,7 @@ export function useChartHeaderFormattedValues() { const dayPriceDelta = useMemo(() => { return ( <div - className={cx({ + className={cx("numbers", { positive: dayPriceDeltaData?.deltaPercentage && dayPriceDeltaData?.deltaPercentage > 0, negative: dayPriceDeltaData?.deltaPercentage && dayPriceDeltaData?.deltaPercentage < 0, })} @@ -112,7 +112,7 @@ export function useChartHeaderFormattedValues() { return [ <> <LongIcon width={12} className="relative top-1 opacity-70" /> - <span key="long-oi-value" className="whitespace-nowrap"> + <span key="long-oi-value" className="whitespace-nowrap numbers"> ${formatAmountHuman(info?.openInterestLong, USD_DECIMALS)} </span> </>, @@ -128,7 +128,7 @@ export function useChartHeaderFormattedValues() { return [ <> <ShortIcon width={12} className="relative opacity-70" /> - <span key="short-oi-value" className="whitespace-nowrap"> + <span key="short-oi-value" className="whitespace-nowrap numbers"> ${formatAmountHuman(info?.openInterestShort, USD_DECIMALS)} </span> </>, @@ -148,9 +148,9 @@ export function useChartHeaderFormattedValues() { return ( <TooltipWithPortal - disableHandleStyle + styleType="none" handle={ - <span className="flex items-center justify-center gap-4"> + <span className="flex items-center justify-center gap-4 numbers"> <LongIcon width={12} className="relative top-1 opacity-70" />${formatAmountHuman(liquidity, USD_DECIMALS)} </span> } @@ -169,9 +169,9 @@ export function useChartHeaderFormattedValues() { return ( <TooltipWithPortal - disableHandleStyle + styleType="none" handle={ - <span className="flex items-center justify-center gap-4"> + <span className="flex items-center justify-center gap-4 numbers"> <ShortIcon width={12} className="relative opacity-70" />${formatAmountHuman(liquidity, USD_DECIMALS)} </span> } @@ -189,12 +189,7 @@ export function useChartHeaderFormattedValues() { } return ( - <span - className={cx("flex flex-row items-center gap-4", { - positive: netRate >= 0n, - negative: netRate < 0n, - })} - > + <span className={cx("flex flex-row items-center gap-4 numbers")}> <LongIcon width={12} className="relative top-1" /> {formatRatePercentage(netRate)} </span> @@ -209,12 +204,7 @@ export function useChartHeaderFormattedValues() { } return ( - <span - className={cx("flex flex-row items-center gap-4", { - positive: netRate >= 0n, - negative: netRate < 0n, - })} - > + <span className={cx("flex flex-row items-center gap-4 numbers")}> <ShortIcon width={12} /> {formatRatePercentage(netRate)} </span> @@ -222,7 +212,11 @@ export function useChartHeaderFormattedValues() { }, [info]); const dailyVolume = useMemo(() => { - return dailyVolumesValue !== undefined ? `$${formatAmountHuman(dailyVolumesValue, USD_DECIMALS)}` : "..."; + return dailyVolumesValue !== undefined ? ( + <span className="numbers">${formatAmountHuman(dailyVolumesValue, USD_DECIMALS)}</span> + ) : ( + "..." + ); }, [dailyVolumesValue]); return { diff --git a/src/components/Synthetics/TableFilterBase/TableFilterBase.scss b/src/components/Synthetics/TableFilterBase/TableFilterBase.scss index e87840e454..570ae9ff07 100644 --- a/src/components/Synthetics/TableFilterBase/TableFilterBase.scss +++ b/src/components/Synthetics/TableFilterBase/TableFilterBase.scss @@ -16,7 +16,7 @@ border-radius: var(--border-radius-sm); overflow: hidden; - background-color: var(--dark-blue-bg); - border: 1px solid var(--color-gray-800); + background-color: var(--color-slate-900); + border: 0.5px solid var(--color-slate-600); } } diff --git a/src/components/Synthetics/TableFilterBase/TableFilterBase.tsx b/src/components/Synthetics/TableFilterBase/TableFilterBase.tsx index 2e70ba788d..bca28b56d3 100644 --- a/src/components/Synthetics/TableFilterBase/TableFilterBase.tsx +++ b/src/components/Synthetics/TableFilterBase/TableFilterBase.tsx @@ -43,12 +43,14 @@ export function TableFilterBase({ popupPlacement, isActive, label, children, asB <Popover.Button {...(asButton ? AS_BUTTON_PROPS : AS_DEFAULT_PROPS)} ref={refs.setReference} - className={cx("TableFilterBase-filter", { + className={cx("TableFilterBase-filter flex items-center gap-4", { active: isActive, })} > - {label} - <FilterIcon /> + <div className="flex items-center gap-4"> + {label} + <FilterIcon className="size-14" /> + </div> </Popover.Button> <FloatingPortal> <Popover.Panel ref={refs.setFloating} style={floatingStyles} className="TableFilterBase-filter-popover"> diff --git a/src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.scss b/src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.scss index 7ef4c7cfac..6f2908ddaf 100644 --- a/src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.scss +++ b/src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.scss @@ -5,12 +5,12 @@ overscroll-behavior: contain; - border-top: 1px solid var(--color-gray-800); + border-top: 1px solid var(--color-slate-600); } &-group-name { - font-size: var(--font-size-body-small); - + font-size: 13px; + color: var(--color-white); display: flex; align-items: center; padding: 0.5rem 1rem; @@ -19,7 +19,7 @@ } &-option { - font-size: var(--font-size-body-small); + font-size: 13px; display: flex; align-items: center; @@ -37,7 +37,7 @@ } &-clear { - font-size: var(--font-size-body-small); + font-size: 13px; padding: 0.5rem 1rem; padding-top: 1rem; diff --git a/src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx b/src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx index eae65e581a..ee2a6758aa 100644 --- a/src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx +++ b/src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx @@ -153,18 +153,14 @@ export function TableOptionsFilter<T>({ return ( <TableFilterBase label={label} isActive={isActive} popupPlacement={popupPlacement} asButton={asButton}> - <SearchInput - className="TableOptionsFilter-search *:!text-body-medium" - placeholder={placeholder} - value={search} - setValue={setSearch} - onKeyDown={handleSearchEnterKey} - /> + <div className="p-12"> + <SearchInput placeholder={placeholder} value={search} setValue={setSearch} onKeyDown={handleSearchEnterKey} /> + </div> {beforeContent} <div className="TableOptionsFilter-options"> - <div className="TableOptionsFilter-clear" onClick={handleClear}> + <div className="TableOptionsFilter-clear text-[11px] font-medium uppercase text-white" onClick={handleClear}> <Trans comment="Button to clear the filter selection">Clear selection</Trans> </div> {isGrouped && defined(filteredGroups) && ( diff --git a/src/components/Synthetics/TradeBox/Curtain.tsx b/src/components/Synthetics/TradeBox/Curtain.tsx index 28d02e61e0..66938c883a 100644 --- a/src/components/Synthetics/TradeBox/Curtain.tsx +++ b/src/components/Synthetics/TradeBox/Curtain.tsx @@ -1,14 +1,11 @@ import cx from "classnames"; import throttle from "lodash/throttle"; import { CSSProperties, PropsWithChildren, useCallback, useEffect, useRef, useState } from "react"; +import { FaChevronDown } from "react-icons/fa6"; import { RemoveScroll } from "react-remove-scroll"; import { createGlobalState } from "react-use"; -import Button from "components/Button/Button"; - -import LeftArrowIcon from "img/ic_arrowleft16.svg?react"; - -const HEADER_HEIGHT = 52; +const HEADER_HEIGHT = 42; const DECELERATION = 0.01; const DIRECTION_THRESHOLD = 2; const MOVEMENT_THRESHOLD = 10; @@ -238,40 +235,42 @@ export function Curtain({ <div data-qa={dataQa} ref={curtainRef} - className="text-body-medium fixed left-0 right-0 z-[901] flex flex-col rounded-t-4 border-x border-t border-gray-800 bg-slate-800 - shadow-[0px_-24px_48px_-8px_rgba(0,0,0,0.35)]" + className="text-body-medium fixed left-0 right-0 z-[901] flex flex-col rounded-t-4" style={CURTAIN_STYLE} > <div - className="flex touch-none select-none items-stretch justify-between gap-4 px-15 pb-8 pt-8" + className={cx( + "flex touch-none select-none items-stretch justify-between gap-4 border-slate-600 bg-slate-800 pr-8 shadow-[0px_-24px_48px_-8px_rgba(0,0,0,0.35)]", + { + "border-b-stroke border-t-stroke bg-slate-900": isOpen, + } + )} onPointerDown={handlePointerDown} onPointerMove={handlePointerMove} onPointerUp={handlePointerUp} > - <div className="grow" onClick={headerClick}> + <div className="-mb-1 grow" onClick={headerClick}> {header} </div> - <Button - variant="secondary" - type="button" - className="size-35 !bg-cold-blue-900 !px-0 !py-0" - onClick={handleToggle} - > - <LeftArrowIcon - className={cx("transition-transform duration-500 ease-out", isOpen ? "rotate-[270deg]" : "rotate-90")} + <button onClick={handleToggle} className="group p-10"> + <FaChevronDown + className={cx( + "text-slate-100 transition-transform duration-500 ease-out group-hover:text-white", + isOpen ? undefined : "rotate-180" + )} /> - </Button> + </button> </div> <div - className="flex grow flex-col overflow-y-auto" + className="flex grow flex-col overflow-y-auto bg-slate-900" ref={scrollableContainerRef} onPointerDown={handlePointerDown} onPointerMove={handlePointerMove} onPointerUp={handlePointerUp} onPointerCancel={handlePointerCancel} > - <div className="flex grow flex-col px-15 pb-10">{children}</div> + <div className="flex grow flex-col">{children}</div> </div> </div> </RemoveScroll> diff --git a/src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx b/src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx index a23c8e9a92..8683933353 100644 --- a/src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx +++ b/src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx @@ -81,7 +81,7 @@ export function ExpressTradingWarningCard({ let content: ReactNode | undefined = undefined; let onCloseClick: undefined | (() => void) = undefined; let buttonText: ReactNode | undefined = undefined; - let icon: ReactNode | undefined = undefined; + let icon: React.FunctionComponent<React.SVGProps<SVGSVGElement>> | undefined = undefined; let onClick: undefined | (() => void) = undefined; @@ -90,7 +90,7 @@ export function ExpressTradingWarningCard({ } else if (shouldShowWrapOrUnwrapWarning) { onCloseClick = handleCloseWrapOrUnwrapWarningClick; const nativeToken = getNativeToken(chainId); - icon = <ExpressIcon className="-mt-6 ml-2" />; + icon = ExpressIcon; content = ( <Trans>Express Trading is not available for wrapping or unwrapping native token {nativeToken.symbol}.</Trans> ); @@ -98,7 +98,7 @@ export function ExpressTradingWarningCard({ const wrappedToken = getWrappedToken(chainId); const nativeToken = getNativeToken(chainId); onCloseClick = handleCloseNativeTokenWarningClick; - icon = <ExpressIcon className="-mt-6 ml-2" />; + icon = ExpressIcon; content = ( <Trans> Express Trading is not available using network's native token {nativeToken.symbol}. Consider using{" "} @@ -107,21 +107,21 @@ export function ExpressTradingWarningCard({ ); } else if (shouldShowAllowedActionsWarning) { onClick = handleUpdateSubaccountSettings; - icon = <OneClickIcon className="-mt-4 ml-4" />; + icon = OneClickIcon; content = <Trans>One-Click Trading is disabled. Action limit exceeded.</Trans>; buttonText = <Trans>Re-enable</Trans>; } else if (shouldShowNonceExpiredWarning) { onClick = handleUpdateSubaccountSettings; - icon = <OneClickIcon className="ml- -mt-4" />; + icon = OneClickIcon; content = <Trans>One-Click Approval nonce expired. Please sign a new approval.</Trans>; buttonText = <Trans>Re-sign</Trans>; } else if (shouldShowExpiredSubaccountWarning) { onClick = handleUpdateSubaccountSettings; - icon = <OneClickIcon className="-mt-4 ml-4" />; + icon = OneClickIcon; content = <Trans>One-Click Trading is disabled. Time limit expired.</Trans>; buttonText = <Trans>Re-enable</Trans>; } else if (shouldShowOutOfGasPaymentBalanceWarning) { - icon = <ExpressIcon className="-mt-6 ml-2" />; + icon = ExpressIcon; content = <Trans>Express and One-Click Trading are unavailable due to insufficient gas balance.</Trans>; buttonText = <Trans>Buy {gasPaymentTokensText}</Trans>; @@ -134,17 +134,15 @@ export function ExpressTradingWarningCard({ return ( <ColorfulBanner color="blue" icon={icon} onClose={onCloseClick}> - <div className="ml-10 text-12"> - {content} - {onClick && ( - <> - <br /> - <Button variant="link" className="mt-2 !text-12" onClick={onClick}> - {buttonText} - </Button> - </> - )} - </div> + {content} + {onClick && ( + <> + <br /> + <Button variant="link" className="mt-2 !text-12" onClick={onClick}> + {buttonText} + </Button> + </> + )} </ColorfulBanner> ); } diff --git a/src/components/Synthetics/TradeBox/TradeBox.tsx b/src/components/Synthetics/TradeBox/TradeBox.tsx index 8cf9fd6c26..e66913883e 100644 --- a/src/components/Synthetics/TradeBox/TradeBox.tsx +++ b/src/components/Synthetics/TradeBox/TradeBox.tsx @@ -88,7 +88,7 @@ import TokenSelector from "components/TokenSelector/TokenSelector"; import Tooltip from "components/Tooltip/Tooltip"; import { ValueTransition } from "components/ValueTransition/ValueTransition"; -import SettingsIcon24 from "img/ic_settings_24.svg?react"; +import SettingsIcon from "img/ic_settings.svg?react"; import { useIsCurtainOpen } from "./Curtain"; import { ExpressTradingWarningCard } from "./ExpressTradingWarningCard"; @@ -101,13 +101,13 @@ import { useTradeboxAcceptablePriceImpactValues } from "./hooks/useTradeboxAccep import { useTradeboxTPSLReset } from "./hooks/useTradeboxTPSLReset"; import { useTradeboxButtonState } from "./hooks/useTradeButtonState"; import { MarketPoolSelectorRow } from "./MarketPoolSelectorRow"; -import "./TradeBox.scss"; import { tradeModeLabels, tradeTypeLabels } from "./tradeboxConstants"; import { TradeBoxAdvancedGroups } from "./TradeBoxRows/AdvancedDisplayRows"; import { CollateralSelectorRow } from "./TradeBoxRows/CollateralSelectorRow"; import { LimitAndTPSLGroup } from "./TradeBoxRows/LimitAndTPSLRows"; import { MinReceiveRow } from "./TradeBoxRows/MinReceiveRow"; import { PriceImpactFeesRow } from "./TradeBoxRows/PriceImpactFeesRow"; +import "./TradeBox.scss"; export function TradeBox({ isMobile }: { isMobile: boolean }) { const localizedTradeModeLabels = useLocalizedMap(tradeModeLabels); @@ -887,209 +887,218 @@ export function TradeBox({ isMobile }: { isMobile: boolean }) { }, [availableTradeModes, localizedTradeModeLabels]); return ( - <> - <div className="flex items-center justify-between"> - <Tabs - options={tabsOptions} - regularOptionClassname="py-10" - type="inline" - selectedValue={tradeMode} - onChange={onSelectTradeMode} - qa="trade-mode" - /> - <div className="flex gap-4"> - <TradeInfoIcon isMobile={isMobile} tradeType={tradeType} tradePlace="tradebox" /> - <div className="relative"> - <SettingsIcon24 - className="cursor-pointer text-slate-100 gmx-hover:text-white" - onClick={() => setIsSettingsVisible(true)} + <form className="flex flex-col gap-8" onSubmit={handleFormSubmit} ref={formRef}> + <div className="flex flex-col rounded-b-8 bg-slate-900 pb-16"> + <div className="flex flex-col gap-12 p-12"> + <div className="flex items-center justify-between"> + <Tabs + options={tabsOptions} + type="inline" + selectedValue={tradeMode} + onChange={onSelectTradeMode} + qa="trade-mode" + className="bg-slate-900" + regularOptionClassname="grow" /> - {settingsWarningDotVisible && <div className="absolute bottom-6 right-3 h-6 w-6 rounded-full bg-red-400" />} - </div> - </div> - </div> - <form onSubmit={handleFormSubmit} ref={formRef} className="text-body-medium flex grow flex-col"> - <div className="flex flex-col gap-2"> - {(isSwap || isIncrease) && renderTokenInputs()} - {isTrigger && renderDecreaseSizeInput()} - {isSwap && isLimit && renderTriggerRatioInput()} - {isPosition && (isLimit || isTrigger) && renderTriggerPriceInput()} - </div> + <div className="flex items-center gap-4"> + <TradeInfoIcon isMobile={isMobile} tradeType={tradeType} tradePlace="tradebox" /> - {showSectionBetweenInputsAndButton && ( - <div className="flex flex-col gap-14 pt-12"> - {maxAutoCancelOrdersWarning} - {isSwap && isLimit && !isTwap && ( - <AlertInfoCard key="showHasBetterOpenFeesAndNetFeesWarning"> - <Trans> - The actual trigger price at which order gets filled will depend on fees and price impact at the time - of execution to guarantee that you receive the minimum receive amount. - </Trans> - </AlertInfoCard> - )} + <div className="relative"> + <SettingsIcon + className="cursor-pointer text-slate-100 gmx-hover:text-white" + onClick={() => setIsSettingsVisible(true)} + /> + {settingsWarningDotVisible && ( + <div className="absolute bottom-6 right-3 h-6 w-6 rounded-full bg-red-400" /> + )} + </div> + </div> + </div> + <div className="text-body-medium flex grow flex-col"> + <div className="flex flex-col gap-4"> + {(isSwap || isIncrease) && renderTokenInputs()} + {isTrigger && renderDecreaseSizeInput()} + {isSwap && isLimit && renderTriggerRatioInput()} + {isPosition && (isLimit || isTrigger) && renderTriggerPriceInput()} + </div> - {isPosition && ( - <> - {isIncrease && isLeverageSliderEnabled && ( - <div className="flex items-start gap-6"> - <LeverageSlider - className="grow" - marks={leverageSliderMarks} - value={leverageOption} - onChange={setLeverageOption} - isPositive={isLong} - isSlim - /> - <SuggestionInput - className="w-48" - inputClassName="text-clip" - value={leverageInputValue} - setValue={setLeverageInputValue} - onBlur={handleLeverageInputBlur} - onKeyDown={handleLeverageInputKeyDown} - symbol="x" - /> - </div> + {showSectionBetweenInputsAndButton && ( + <div className="flex flex-col gap-14 pt-12"> + {maxAutoCancelOrdersWarning} + {isSwap && isLimit && !isTwap && ( + <AlertInfoCard key="showHasBetterOpenFeesAndNetFeesWarning"> + <Trans> + The actual trigger price at which order gets filled will depend on fees and price impact at the + time of execution to guarantee that you receive the minimum receive amount. + </Trans> + </AlertInfoCard> )} - {isTrigger && ( - <SyntheticsInfoRow - label={t`Market`} - value={ - <MarketSelector - chainId={chainId} + + {isPosition && ( + <> + {isIncrease && isLeverageSliderEnabled && ( + <div className="flex items-start gap-12"> + <LeverageSlider + className="grow" + marks={leverageSliderMarks} + value={leverageOption} + onChange={setLeverageOption} + isPositive={isLong} + isSlim + /> + <SuggestionInput + className="w-48 !rounded-8 py-5" + inputClassName="text-clip" + value={leverageInputValue} + setValue={setLeverageInputValue} + onBlur={handleLeverageInputBlur} + onKeyDown={handleLeverageInputKeyDown} + symbol="x" + /> + </div> + )} + {isTrigger && ( + <SyntheticsInfoRow label={t`Market`} - className="-mr-4" - selectedIndexName={ - toToken ? getMarketIndexName({ indexToken: toToken, isSpotOnly: false }) : undefined + value={ + <MarketSelector + chainId={chainId} + label={t`Market`} + className="-mr-4" + selectedIndexName={ + toToken ? getMarketIndexName({ indexToken: toToken, isSpotOnly: false }) : undefined + } + markets={sortedAllMarkets ?? EMPTY_ARRAY} + isSideMenu + onSelectMarket={handleSelectMarket} + size="m" + /> } - markets={sortedAllMarkets ?? EMPTY_ARRAY} - isSideMenu - onSelectMarket={handleSelectMarket} - size="m" /> - } - /> - )} + )} - <MarketPoolSelectorRow /> + <MarketPoolSelectorRow /> - <CollateralSelectorRow - selectedMarketAddress={marketInfo?.marketTokenAddress} - onSelectCollateralAddress={onSelectCollateralAddress} - isMarket={isMarket} - /> + <CollateralSelectorRow + selectedMarketAddress={marketInfo?.marketTokenAddress} + onSelectCollateralAddress={onSelectCollateralAddress} + isMarket={isMarket} + /> - {isTrigger && selectedPosition && selectedPosition?.leverage !== undefined && ( - <ToggleSwitch - isChecked={keepLeverageChecked} - setIsChecked={setKeepLeverage} - disabled={decreaseAmounts?.isFullClose} - > - <span className="text-14 text-slate-100"> - <Trans>Keep leverage at {formatLeverage(selectedPosition.leverage)}</Trans> - </span> - </ToggleSwitch> + {isTrigger && selectedPosition && selectedPosition?.leverage !== undefined && ( + <ToggleSwitch + isChecked={keepLeverageChecked} + setIsChecked={setKeepLeverage} + disabled={decreaseAmounts?.isFullClose} + > + <span className="text-14 text-slate-100"> + <Trans>Keep leverage at {formatLeverage(selectedPosition.leverage)}</Trans> + </span> + </ToggleSwitch> + )} + </> )} - </> - )} - {isTwap && ( - <TwapRows - duration={duration} - numberOfParts={numberOfParts} - setNumberOfParts={setNumberOfParts} - setDuration={setDuration} - sizeUsd={isSwap ? payUsd : increaseAmounts?.sizeDeltaUsd} - marketInfo={marketInfo} - type={isSwap ? "swap" : "increase"} - isLong={isLong} - /> - )} + {isTwap && ( + <TwapRows + duration={duration} + numberOfParts={numberOfParts} + setNumberOfParts={setNumberOfParts} + setDuration={setDuration} + sizeUsd={isSwap ? payUsd : increaseAmounts?.sizeDeltaUsd} + marketInfo={marketInfo} + type={isSwap ? "swap" : "increase"} + isLong={isLong} + /> + )} - {!isTrigger && !isSwap && !isTwap && <LimitAndTPSLGroup />} - {priceImpactWarningState.shouldShowWarning && ( - <HighPriceImpactOrFeesWarningCard - priceImpactWarningState={priceImpactWarningState} - collateralImpact={fees?.positionCollateralPriceImpact} - positionImpact={fees?.positionPriceImpact} - swapPriceImpact={fees?.swapPriceImpact} - swapProfitFee={fees?.swapProfitFee} - executionFeeUsd={executionFee?.feeUsd} - externalSwapFeeItem={fees?.externalSwapFee} - /> + {!isTrigger && !isSwap && !isTwap && <LimitAndTPSLGroup />} + {priceImpactWarningState.shouldShowWarning && ( + <HighPriceImpactOrFeesWarningCard + priceImpactWarningState={priceImpactWarningState} + collateralImpact={fees?.positionCollateralPriceImpact} + positionImpact={fees?.positionPriceImpact} + swapPriceImpact={fees?.swapPriceImpact} + swapProfitFee={fees?.swapProfitFee} + executionFeeUsd={executionFee?.feeUsd} + externalSwapFeeItem={fees?.externalSwapFee} + /> + )} + </div> )} - </div> - )} - <div className="flex flex-col gap-14 pt-14"> - <div>{button}</div> - <ExpressTradingWarningCard - expressParams={submitButtonState.expressParams} - payTokenAddress={!tradeFlags.isTrigger ? fromTokenAddress : undefined} - isWrapOrUnwrap={!tradeFlags.isTrigger && isWrapOrUnwrap} - /> - <div className="h-1 bg-stroke-primary" /> - {isSwap && !isTwap && <MinReceiveRow allowedSlippage={allowedSlippage} />} - {isTrigger && selectedPosition && decreaseAmounts?.receiveUsd !== undefined && ( - <SyntheticsInfoRow - label={t`Receive`} - value={formatTokenAmountWithUsd( - decreaseAmounts.receiveTokenAmount, - decreaseAmounts.receiveUsd, - collateralToken?.symbol, - collateralToken?.decimals, - { isStable: collateralToken?.isStable } + <div className="flex flex-col gap-14 pt-14"> + <div>{button}</div> + <ExpressTradingWarningCard + expressParams={submitButtonState.expressParams} + payTokenAddress={!tradeFlags.isTrigger ? fromTokenAddress : undefined} + isWrapOrUnwrap={!tradeFlags.isTrigger && isWrapOrUnwrap} + /> + <div className="h-1 bg-slate-600" /> + {isSwap && !isTwap && <MinReceiveRow allowedSlippage={allowedSlippage} />} + {isTrigger && selectedPosition && decreaseAmounts?.receiveUsd !== undefined && ( + <SyntheticsInfoRow + label={t`Receive`} + value={ + <span className="numbers"> + {formatTokenAmountWithUsd( + decreaseAmounts.receiveTokenAmount, + decreaseAmounts.receiveUsd, + collateralToken?.symbol, + collateralToken?.decimals + )} + </span> + } + /> )} - /> - )} - {isTrigger && ( - <SyntheticsInfoRow - label={t`PnL`} - value={ - <ValueTransition - from={ - <> - {formatDeltaUsd(decreaseAmounts?.estimatedPnl)} ( - {formatPercentage(decreaseAmounts?.estimatedPnlPercentage, { signed: true })}) - </> - } - to={ - decreaseAmounts?.sizeDeltaUsd && decreaseAmounts.sizeDeltaUsd > 0 ? ( - <> - {formatDeltaUsd(nextPositionValues?.nextPnl)} ( - {formatPercentage(nextPositionValues?.nextPnlPercentage, { signed: true })}) - </> - ) : undefined + {isTrigger && ( + <SyntheticsInfoRow + label={t`PnL`} + value={ + <ValueTransition + from={ + <span className="numbers"> + {formatDeltaUsd(decreaseAmounts?.estimatedPnl)} ( + {formatPercentage(decreaseAmounts?.estimatedPnlPercentage, { signed: true })}) + </span> + } + to={ + decreaseAmounts?.sizeDeltaUsd && decreaseAmounts.sizeDeltaUsd > 0 ? ( + <span className="numbers"> + {formatDeltaUsd(nextPositionValues?.nextPnl)} ( + {formatPercentage(nextPositionValues?.nextPnlPercentage, { signed: true })}) + </span> + ) : undefined + } + /> } /> - } - /> - )} - {!(isTrigger && !selectedPosition) && !isSwap && !isTwap && ( - <SyntheticsInfoRow - label={t`Liquidation Price`} - value={ - <ValueTransition - from={ - selectedPosition - ? formatLiquidationPrice(selectedPosition?.liquidationPrice, { - visualMultiplier: toToken?.visualMultiplier, - }) - : undefined + )} + {!(isTrigger && !selectedPosition) && !isSwap && !isTwap && ( + <SyntheticsInfoRow + label={t`Liquidation Price`} + value={ + <ValueTransition + from={ + selectedPosition ? ( + <span className="numbers"> + {formatLiquidationPrice(selectedPosition?.liquidationPrice, { + visualMultiplier: toToken?.visualMultiplier, + })} + </span> + ) : undefined + } + to={<span className="numbers">{nextLiqPriceFormatted}</span>} + /> } - to={nextLiqPriceFormatted} /> - } - /> - )} - {!isTwap && <PriceImpactFeesRow />} - <TradeBoxAdvancedGroups - slippageInputId={submitButtonState.slippageInputId} - gasPaymentParams={submitButtonState.expressParams?.gasPaymentParams} - totalExecutionFee={submitButtonState.totalExecutionFee} - /> + )} + {!isTwap && <PriceImpactFeesRow />} + <TradeBoxAdvancedGroups slippageInputId={submitButtonState.slippageInputId} /> + </div> + </div> </div> - </form> - </> + </div> + </form> ); } diff --git a/src/components/Synthetics/TradeBox/TradeBoxHeaderTabs.tsx b/src/components/Synthetics/TradeBox/TradeBoxHeaderTabs.tsx index 9c91848e81..4e7a62e663 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxHeaderTabs.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxHeaderTabs.tsx @@ -9,7 +9,7 @@ import { useLocalizedMap } from "lib/i18n"; import { SwipeTabs } from "components/SwipeTabs/SwipeTabs"; import Tabs from "components/Tabs/Tabs"; -import { mobileTradeTypeClassNames, tradeTypeClassNames, tradeTypeIcons, tradeTypeLabels } from "./tradeboxConstants"; +import { mobileTradeTypeClassNames, tradeTypeClassNames, tradeTypeLabels } from "./tradeboxConstants"; const OPTIONS = Object.values(TradeType); @@ -33,7 +33,6 @@ export function TradeBoxHeaderTabs({ isInCurtain }: { isInCurtain?: boolean }) { value: type, label: localizedTradeTypeLabels[type], className: tradeTypeClassNames[type], - icon: tradeTypeIcons[type], })); }, [localizedTradeTypeLabels]); @@ -45,13 +44,14 @@ export function TradeBoxHeaderTabs({ isInCurtain }: { isInCurtain?: boolean }) { onChange={onTradeTypeChange} size="l" qa="trade-direction" + regularOptionClassname="grow" + className="bg-slate-900" /> ); } return ( <SwipeTabs - icons={tradeTypeIcons} options={OPTIONS} optionLabels={localizedTradeTypeLabels} option={tradeType} diff --git a/src/components/Synthetics/TradeBox/TradeBoxResponsiveContainer.tsx b/src/components/Synthetics/TradeBox/TradeBoxResponsiveContainer.tsx index ab23a57e3f..2d93d59bf7 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxResponsiveContainer.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxResponsiveContainer.tsx @@ -1,24 +1,24 @@ -import { useMedia } from "react-use"; +import { useBreakpoints } from "lib/breakpoints"; import { Curtain } from "./Curtain"; import { TradeBox } from "./TradeBox"; import { TradeBoxHeaderTabs } from "./TradeBoxHeaderTabs"; export function TradeBoxResponsiveContainer() { - const isMobile = useMedia("(max-width: 1100px)"); + const { isTablet } = useBreakpoints(); - if (!isMobile) { + if (!isTablet) { return ( - <div className="text-body-medium flex flex-col rounded-4 bg-slate-800 p-15" data-qa="tradebox"> + <div className="text-body-medium flex flex-col rounded-8" data-qa="tradebox"> <TradeBoxHeaderTabs /> - <TradeBox isMobile={isMobile} /> + <TradeBox isMobile={isTablet} /> </div> ); } return ( <Curtain header={<TradeBoxHeaderTabs isInCurtain />} dataQa="tradebox"> - <TradeBox isMobile={isMobile} /> + <TradeBox isMobile={isTablet} /> </Curtain> ); } diff --git a/src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx b/src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx index b8f98bb03b..74306c78fa 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx @@ -65,8 +65,8 @@ function LeverageInfoRows() { value={ nextPositionValues?.nextLeverage && increaseAmounts?.sizeDeltaUsd && increaseAmounts?.sizeDeltaUsd > 0 ? ( <ValueTransition - from={formatLeverage(selectedPosition?.leverage)} - to={formatLeverage(nextPositionValues?.nextLeverage) || "-"} + from={<span className="numbers">{formatLeverage(selectedPosition?.leverage)}</span>} + to={<span className="numbers">{formatLeverage(nextPositionValues?.nextLeverage) || "-"}</span>} /> ) : ( "-" @@ -84,8 +84,8 @@ function LeverageInfoRows() { } else { leverageValue = ( <ValueTransition - from={formatLeverage(selectedPosition.leverage)} - to={formatLeverage(nextPositionValues?.nextLeverage)} + from={<span className="numbers">{formatLeverage(selectedPosition.leverage)}</span>} + to={<span className="numbers">{formatLeverage(nextPositionValues?.nextLeverage)}</span>} /> ); } @@ -116,8 +116,8 @@ function ExistingPositionInfoRows() { label={t`Size`} value={ <ValueTransition - from={formatUsd(selectedPosition.sizeInUsd)!} - to={formatUsd(nextPositionValues?.nextSizeUsd)} + from={<span className="numbers">{formatUsd(selectedPosition.sizeInUsd)!}</span>} + to={<span className="numbers">{formatUsd(nextPositionValues?.nextSizeUsd)}</span>} /> } /> @@ -126,8 +126,8 @@ function ExistingPositionInfoRows() { label={t`Collateral (${selectedPosition?.collateralToken?.symbol})`} value={ <ValueTransition - from={formatUsd(selectedPosition?.collateralUsd)} - to={formatUsd(nextPositionValues?.nextCollateralUsd)} + from={<span className="numbers">{formatUsd(selectedPosition?.collateralUsd)}</span>} + to={<span className="numbers">{formatUsd(nextPositionValues?.nextCollateralUsd)}</span>} /> } /> @@ -208,7 +208,6 @@ export function TradeBoxAdvancedGroups({ const increaseAmounts = useSelector(selectTradeboxIncreasePositionAmounts); const decreaseAmounts = useSelector(selectTradeboxDecreasePositionAmounts); const limitPrice = useSelector(selectTradeboxTriggerPrice); - const selectedPosition = useSelector(selectTradeboxSelectedPosition); const triggerRatioInputValue = useSelector(selectTradeboxTriggerRatioInputValue); const totalSwapImpactBps = useSelector(selectTradeboxTotalSwapImpactBps); @@ -270,6 +269,7 @@ export function TradeBoxAdvancedGroups({ className="flex flex-col gap-14" contentClassName="flex flex-col gap-14" scrollIntoViewOnMobile + row={false} > {(isLimit || isTrigger || isTwap) && !isSwap && ( <> @@ -284,7 +284,7 @@ export function TradeBoxAdvancedGroups({ priceImpactFeeBps={fees?.positionPriceImpact?.bps} setAcceptablePriceImpactBps={setSelectedTriggerAcceptablePriceImpactBps} /> - {!isTwap && <div className="h-1 shrink-0 bg-stroke-primary" />} + {!isTwap && <div className="h-1 shrink-0 bg-slate-600" />} </> )} @@ -297,10 +297,6 @@ export function TradeBoxAdvancedGroups({ <SyntheticsInfoRow label={<Trans>Acceptable Swap Impact</Trans>} value={<Trans>N/A</Trans>} /> ) : null} - {((isSwap && !isTwap) || isLimit || (isMarket && !isSwap) || isMarket) && ( - <div className="h-1 shrink-0 bg-stroke-primary" /> - )} - {/* only when isSwap */} {isSwap && <SwapSpreadRow />} {/* only when isLimit */} @@ -324,10 +320,6 @@ export function TradeBoxAdvancedGroups({ {isMarket && !isSwap && <CollateralSpreadRow />} {isMarket && <AllowedSlippageRow slippageInputId={slippageInputId} />} - {((isIncrease && selectedPosition) || (isTrigger && selectedPosition)) && ( - <div className="h-1 shrink-0 bg-stroke-primary" /> - )} - <LeverageInfoRows /> <EntryPriceRow /> <ExistingPositionInfoRows /> diff --git a/src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx b/src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx index 7c31c07d40..28c002d70a 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx @@ -35,6 +35,7 @@ export function AllowedSlippageRow({ slippageInputId }: { slippageInputId: strin <TooltipWithPortal handle={t`Allowed Slippage`} position="left-start" + styleType="icon" content={ <div className="text-white"> <Trans> diff --git a/src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx b/src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx index d8f32a1cdc..f2ff0cbcc4 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx @@ -44,7 +44,7 @@ export function CollateralSelectorRow(p: Props) { <> <SyntheticsInfoRow label={ - <TooltipWithPortal position="left-start" content={collateralInTooltipContent}> + <TooltipWithPortal position="left-start" content={collateralInTooltipContent} styleType="icon"> <Trans>Collateral In</Trans> </TooltipWithPortal> } diff --git a/src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx b/src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx index 2fa80a119f..1ad8367531 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx @@ -29,7 +29,9 @@ export function CollateralSpreadRow() { return ( <SyntheticsInfoRow label={t`Collateral Spread`} isWarning={collateralSpreadInfo?.isHigh}> - {collateralSpreadPercent !== undefined ? formatPercentage(collateralSpreadPercent) : "-"} + <span className="numbers"> + {collateralSpreadPercent !== undefined ? formatPercentage(collateralSpreadPercent) : "-"} + </span> </SyntheticsInfoRow> ); } diff --git a/src/components/Synthetics/TradeBox/TradeBoxRows/EntryPriceRow.tsx b/src/components/Synthetics/TradeBox/TradeBoxRows/EntryPriceRow.tsx index 08b4118ec1..241f0eb400 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxRows/EntryPriceRow.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxRows/EntryPriceRow.tsx @@ -28,17 +28,27 @@ export function EntryPriceRow() { value={ nextPositionValues?.nextEntryPrice || selectedPosition?.entryPrice ? ( <ValueTransition - from={formatUsdPrice(selectedPosition?.entryPrice, { - visualMultiplier: toToken?.visualMultiplier, - })} - to={formatUsdPrice(nextPositionValues?.nextEntryPrice, { - visualMultiplier: toToken?.visualMultiplier, - })} + from={ + <span className="numbers"> + {formatUsdPrice(selectedPosition?.entryPrice, { + visualMultiplier: toToken?.visualMultiplier, + })} + </span> + } + to={ + <span className="numbers"> + {formatUsdPrice(nextPositionValues?.nextEntryPrice, { + visualMultiplier: toToken?.visualMultiplier, + })} + </span> + } /> ) : ( - formatUsdPrice(markPrice, { - visualMultiplier: toToken?.visualMultiplier, - }) + <span className="numbers"> + {formatUsdPrice(markPrice, { + visualMultiplier: toToken?.visualMultiplier, + })} + </span> ) } /> diff --git a/src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx b/src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx index fd8fe15b5c..e70de4c7e4 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx @@ -1,6 +1,6 @@ import { t, Trans } from "@lingui/macro"; import { useCallback, useMemo, useRef } from "react"; -import { FaPlus } from "react-icons/fa"; +import { FaPlus } from "react-icons/fa6"; import { selectSelectedMarketVisualMultiplier } from "context/SyntheticsStateContext/selectors/statsSelectors"; import { @@ -60,7 +60,7 @@ function SideOrders({ type }: { type: "stopLoss" | "takeProfit" | "limit" }) { <SyntheticsInfoRow className="whitespace-nowrap leading-[16px]" label={ - <div className="flex items-center gap-4"> + <div className="flex items-center gap-6"> {label} {entriesInfo.canAddEntry && ( <TooltipWithPortal @@ -156,11 +156,11 @@ function SideOrders({ type }: { type: "stopLoss" | "takeProfit" | "limit" }) { export function LimitAndTPSLRows({ hasExistingLimitOrder }: { hasExistingLimitOrder: boolean }) { return ( - <div className="flex flex-col gap-14 py-14"> + <div className="flex flex-col gap-14 pt-12"> <SideOrders type="limit" /> - {hasExistingLimitOrder && <div className="h-1 bg-stroke-primary" />} + {hasExistingLimitOrder && <div className="h-[0.5px] bg-slate-600" />} <SideOrders type="takeProfit" /> - <div className="h-1 bg-stroke-primary" /> + <div className="h-[0.5px] bg-slate-600" /> <SideOrders type="stopLoss" /> </div> ); @@ -217,6 +217,7 @@ export function LimitAndTPSLGroup() { errorMessage={<Trans>There are issues in the TP/SL orders.</Trans>} onToggle={toggleLimitOrTPSL} contentClassName="" + withToggleSwitch > <LimitAndTPSLRows hasExistingLimitOrder={hasExistingLimitOrder} /> </ExpandableRow> diff --git a/src/components/Synthetics/TradeBox/TradeBoxRows/MinReceiveRow.tsx b/src/components/Synthetics/TradeBox/TradeBoxRows/MinReceiveRow.tsx index c984125ec8..c03998ed24 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxRows/MinReceiveRow.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxRows/MinReceiveRow.tsx @@ -23,16 +23,18 @@ export function MinReceiveRow({ allowedSlippage }: { allowedSlippage: number }) return ( <SyntheticsInfoRow label={<Trans>Min. Receive</Trans>}> - {isMarket - ? formatBalanceAmount( - applySlippageToMinOut(allowedSlippage, swapAmounts.minOutputAmount), - toToken.decimals, - toToken.symbol, - { isStable: toToken.isStable } - ) - : formatBalanceAmount(swapAmounts.minOutputAmount, toToken.decimals, toToken.symbol, { - isStable: toToken.isStable, - })} + <span className="numbers"> + {isMarket + ? formatBalanceAmount( + applySlippageToMinOut(allowedSlippage, swapAmounts.minOutputAmount), + toToken.decimals, + toToken.symbol, + { isStable: toToken.isStable } + ) + : formatBalanceAmount(swapAmounts.minOutputAmount, toToken.decimals, toToken.symbol, { + isStable: toToken.isStable, + })} + </span> </SyntheticsInfoRow> ); } diff --git a/src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx b/src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx index 6f6dea0588..3e5bd3dcc9 100644 --- a/src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx +++ b/src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx @@ -90,7 +90,7 @@ export function PriceImpactFeesRow() { value={ <> <span - className={cx({ + className={cx("numbers", { "text-green-500": isPriceImpactPositive, })} > @@ -98,7 +98,7 @@ export function PriceImpactFeesRow() { </span>{" "} /{" "} <span - className={cx({ + className={cx("numbers", { "text-green-500": isTotalFeePositive, })} > diff --git a/src/components/Synthetics/TradeBox/components/EntryButton.tsx b/src/components/Synthetics/TradeBox/components/EntryButton.tsx index 37fb7d2537..13dc1a3d6d 100644 --- a/src/components/Synthetics/TradeBox/components/EntryButton.tsx +++ b/src/components/Synthetics/TradeBox/components/EntryButton.tsx @@ -10,8 +10,8 @@ export function EntryButton({ type="button" {...props} className={cx( - "inline-flex items-center justify-center rounded-4 border-none p-5 opacity-70", - "disabled:cursor-not-allowed disabled:bg-cold-blue-900 disabled:text-slate-500", + "inline-flex items-center justify-center rounded-4 border-none p-4 text-[12px] opacity-70", + "disabled:cursor-not-allowed disabled:bg-slate-800 disabled:text-slate-500", !props.disabled && "hover:opacity-100 disabled:hover:opacity-70", !props.disabled && (theme === "green" ? "bg-green-500/15 text-[#5EC989]" : "bg-red-500/15 text-[#E74E5D]"), className diff --git a/src/components/Synthetics/TradeBox/components/SideOrderEntries.tsx b/src/components/Synthetics/TradeBox/components/SideOrderEntries.tsx index 28ee670a8a..f5b3679985 100644 --- a/src/components/Synthetics/TradeBox/components/SideOrderEntries.tsx +++ b/src/components/Synthetics/TradeBox/components/SideOrderEntries.tsx @@ -1,7 +1,5 @@ -import cx from "classnames"; import { useCallback, useMemo, useRef } from "react"; -import { FaPlus } from "react-icons/fa"; -import { useMedia } from "react-use"; +import { FaPlus } from "react-icons/fa6"; import { selectTradeboxMarketInfo } from "context/SyntheticsStateContext/selectors/tradeboxSelectors"; import { useSelector } from "context/SyntheticsStateContext/utils"; @@ -11,7 +9,6 @@ import { TokenData } from "domain/synthetics/tokens"; import { formatUsd, formatUsdPrice } from "lib/numbers"; import { getTokenVisualMultiplier } from "sdk/configs/tokens"; -import NumberInput from "components/NumberInput/NumberInput"; import { NUMBER_WITH_TWO_DECIMALS } from "components/PercentageInput/PercentageInput"; import SuggestionInput from "components/SuggestionInput/SuggestionInput"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; @@ -77,15 +74,15 @@ function SideOrderEntry({ ) : null; const onPriceValueChange = useCallback( - (e) => { - updateEntry(entry.id, "price", e.target.value); + (value) => { + updateEntry(entry.id, "price", value); }, [updateEntry, entry.id] ); const onSizeUsdValueChange = useCallback( - (e) => { - updateEntry(entry.id, "sizeUsd", e.target.value); + (value) => { + updateEntry(entry.id, "sizeUsd", value); }, [updateEntry, entry.id] ); @@ -101,15 +98,6 @@ function SideOrderEntry({ const onDeleteEntry = useCallback(() => deleteEntry(entry.id), [deleteEntry, entry.id]); - const isSmallMobile = useMedia("(max-width: 375px)"); - - const handleIgnoreEnterKey = useCallback((e: React.KeyboardEvent<HTMLInputElement>) => { - if (e.key === "Enter") { - e.preventDefault(); - e.stopPropagation(); - } - }, []); - return ( <div className="flex flex-row gap-4" key={entry.id}> <TooltipWithPortal @@ -117,30 +105,16 @@ function SideOrderEntry({ content={priceError} tooltipClassName="!min-w-[25rem]" position="top-end" - disableHandleStyle + styleType="none" > - <div - className={cx("group relative rounded-4 border border-solid bg-cold-blue-900 pl-5 leading-1 ", { - "border-red-500": !!priceError, - "border-stroke-primary": !priceError, - "focus-within:border-cold-blue-500": !priceError, - "hover:border-cold-blue-700": !priceError, - "hover:focus-within:border-cold-blue-500": !priceError, - })} - > - <span className="cursor-pointer text-slate-100">$</span> - - <NumberInput - value={entry.price.input} - onValueChange={onPriceValueChange} - onKeyDown={handleIgnoreEnterKey} - placeholder="Price" - className={cx("SideOrderInput text-body-medium rounded-4 py-2 pr-5 text-right", { - "max-w-60": isSmallMobile, - "max-w-90": !isSmallMobile, - })} - /> - </div> + <SuggestionInput + label="$" + isError={!!priceError} + className="w-88" + value={entry.price.input} + setValue={onPriceValueChange} + placeholder="Price" + /> </TooltipWithPortal> {displayMode === "percentage" && ( <div className="group relative"> @@ -149,46 +123,37 @@ function SideOrderEntry({ content={sizeTooltipMsg} tooltipClassName="!min-w-[25rem]" position="top-end" - disableHandleStyle + styleType="none" > <SuggestionInput isError={!!percentageError} className="w-64" value={entry.percentage?.input ?? ""} setValue={onPercentageSetValue} - placeholder="Size" suggestionList={SUGGESTION_PERCENTAGE_LIST} + placeholder="Size" symbol="%" /> </TooltipWithPortal> </div> )} {displayMode === "sizeUsd" && ( - <div - className={cx("group relative rounded-4 border border-solid bg-cold-blue-900 pl-5 leading-1 ", { - "border-red-500": !!sizeError, - "border-stroke-primary": !sizeError, - "focus-within:border-cold-blue-500": !sizeError, - "hover:border-cold-blue-700": !sizeError, - "hover:focus-within:border-cold-blue-500": !sizeError, - })} + <TooltipWithPortal + disabled={!sizeTooltipMsg} + content={sizeTooltipMsg} + tooltipClassName="!min-w-[25rem]" + position="top-end" + styleType="none" > - <span className="cursor-pointer text-slate-100">$</span> - <TooltipWithPortal - disabled={!sizeTooltipMsg} - content={sizeTooltipMsg} - tooltipClassName="!min-w-[25rem]" - position="top-end" - disableHandleStyle - > - <NumberInput - value={entry.sizeUsd.input ?? ""} - onValueChange={onSizeUsdValueChange} - placeholder="Size" - className="w-81 rounded-4 py-2 pr-5 text-right text-14" - /> - </TooltipWithPortal> - </div> + <SuggestionInput + isError={!!sizeError} + className="w-81" + value={entry.sizeUsd.input ?? ""} + setValue={onSizeUsdValueChange} + placeholder="Size" + label="$" + /> + </TooltipWithPortal> )} <EntryButton diff --git a/src/components/Synthetics/TradeBox/tradeboxConstants.tsx b/src/components/Synthetics/TradeBox/tradeboxConstants.tsx index c5c8f3146c..88db4c1db5 100644 --- a/src/components/Synthetics/TradeBox/tradeboxConstants.tsx +++ b/src/components/Synthetics/TradeBox/tradeboxConstants.tsx @@ -33,21 +33,21 @@ export const tradeTypeLabels = { */ export const tradeTypeClassNames = { [TradeType.Long]: { - active: "!bg-[#1F3445] border-b border-b-green-500", + active: "!bg-[#192E38] border-b-2 border-b-green-500 pb-9", regular: "border-b border-b-[transparent]", }, [TradeType.Short]: { - active: "!bg-[#392A46] border-b border-b-red-500", + active: "!bg-[#2D192D] border-b-2 border-b-red-500 pb-9", regular: "border-b border-b-[transparent]", }, [TradeType.Swap]: { - active: "!bg-[#252B57] border-b border-b-blue-300", + active: "!bg-[#22243A] border-b-2 border-b-blue-300 pb-9", regular: "border-b border-b-[transparent]", }, }; export const mobileTradeTypeClassNames = { - [TradeType.Long]: "!bg-[#1F3445] border-b border-b-green-500", - [TradeType.Short]: "!bg-[#392A46] border-b border-b-red-500", - [TradeType.Swap]: "!bg-[#252B57] border-b border-b-blue-300", + [TradeType.Long]: "!bg-[#192E38] border-b-[2px] border-b-green-500", + [TradeType.Short]: "!bg-[#2D192D] border-b-[2px] border-b-red-500", + [TradeType.Swap]: "!bg-[#22243A] border-b-[2px] border-b-blue-300", }; diff --git a/src/components/Synthetics/TradeHistory/TradeHistory.tsx b/src/components/Synthetics/TradeHistory/TradeHistory.tsx index f07958a1a8..38383c01fe 100644 --- a/src/components/Synthetics/TradeHistory/TradeHistory.tsx +++ b/src/components/Synthetics/TradeHistory/TradeHistory.tsx @@ -1,5 +1,9 @@ +import { offset, flip, autoUpdate, shift } from "@floating-ui/dom"; +import { useFloating } from "@floating-ui/react"; +import { Popover } from "@headlessui/react"; import { Trans } from "@lingui/macro"; -import { useEffect, useMemo, useState } from "react"; +import { ReactNode, useEffect, useMemo, useState } from "react"; +import { BsThreeDotsVertical } from "react-icons/bs"; import type { Address } from "viem"; import { TRADE_HISTORY_PER_PAGE } from "config/ui"; @@ -8,20 +12,22 @@ import { selectChainId } from "context/SyntheticsStateContext/selectors/globalSe import { useSelector } from "context/SyntheticsStateContext/utils"; import { OrderType } from "domain/synthetics/orders/types"; import { usePositionsConstantsRequest } from "domain/synthetics/positions/usePositionsConstants"; -import { TradeActionType, useTradeHistory } from "domain/synthetics/tradeHistory"; +import { TradeAction, TradeActionType, useTradeHistory } from "domain/synthetics/tradeHistory"; +import { useBreakpoints } from "lib/breakpoints"; import { useDateRange, useNormalizeDateRange } from "lib/dates"; import { buildAccountDashboardUrl } from "pages/AccountDashboard/buildAccountDashboardUrl"; import Button from "components/Button/Button"; +import { EmptyTableContent } from "components/EmptyTableContent/EmptyTableContent"; import { BottomTablePagination } from "components/Pagination/BottomTablePagination"; import usePagination from "components/Referrals/usePagination"; import { TradesHistorySkeleton } from "components/Skeleton/Skeleton"; -import { TableTd, TableTh, TableTheadTr, TableTr } from "components/Table/Table"; +import { TableTh, TableTheadTr } from "components/Table/Table"; import { TableScrollFadeContainer } from "components/TableScrollFade/TableScrollFade"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; -import downloadIcon from "img/ic_download_simple.svg"; -import PnlAnalysisIcon from "img/ic_pnl_analysis_20.svg?react"; +import DownloadIcon from "img/ic_download2.svg?react"; +import PnlAnalysisIcon from "img/ic_pnl_analysis.svg?react"; import { DateRangeSelect } from "../DateRangeSelect/DateRangeSelect"; import { MarketFilterLongShort, MarketFilterLongShortItemData } from "../TableMarketFilter/MarketFilterLongShort"; @@ -34,26 +40,48 @@ import "./TradeHistorySynthetics.scss"; const TRADE_HISTORY_PREFETCH_SIZE = 100; const ENTITIES_PER_PAGE = TRADE_HISTORY_PER_PAGE; -type Props = { +type ActionFilter = { + orderType: OrderType[]; + eventName: TradeActionType; + isDepositOrWithdraw: boolean; + isTwap: boolean; +}; + +const ActionsPopover = ({ children }: { children: ReactNode }) => { + const { refs, floatingStyles } = useFloating({ + middleware: [offset(10), flip(), shift()], + placement: "top-end", + whileElementsMounted: autoUpdate, + }); + + return ( + <Popover as="div" ref={refs.setReference}> + <Popover.Button as="div" refName="buttonRef"> + <button className="flex items-center gap-4 px-4 py-8 font-medium text-slate-100 hover:text-white"> + <Trans>Actions</Trans> + <BsThreeDotsVertical /> + </button> + </Popover.Button> + <Popover.Panel ref={refs.setFloating} style={floatingStyles}> + <div className="rounded-8 border border-slate-600 bg-slate-900 p-8 [&_button]:w-full [&_button]:!justify-start"> + {children} + </div> + </Popover.Panel> + </Popover> + ); +}; + +export function useTradeHistoryState(p: { account: Address | null | undefined; forAllAccounts?: boolean; hideDashboardLink?: boolean; -}; - -export function TradeHistory(p: Props) { +}): Props & { controls: ReactNode } { const { forAllAccounts, account, hideDashboardLink = false } = p; const chainId = useSelector(selectChainId); const showDebugValues = useShowDebugValues(); const [startDate, endDate, setDateRange] = useDateRange(); const [marketsDirectionsFilter, setMarketsDirectionsFilter] = useState<MarketFilterLongShortItemData[]>([]); - const [actionFilter, setActionFilter] = useState< - { - orderType: OrderType[]; - eventName: TradeActionType; - isDepositOrWithdraw: boolean; - isTwap: boolean; - }[] - >([]); + const [actionFilter, setActionFilter] = useState<ActionFilter[]>([]); const [fromTxTimestamp, toTxTimestamp] = useNormalizeDateRange(startDate, endDate); @@ -97,9 +125,13 @@ export function TradeHistory(p: Props) { const url = buildAccountDashboardUrl(account, chainId, 2); return ( - <Button variant="secondary" slim to={url}> - <PnlAnalysisIcon className="mr-8 h-16 text-white" /> - <Trans>PnL Analysis</Trans> + <Button variant="ghost" to={url} className="flex items-center gap-4"> + <div className="size-16"> + <PnlAnalysisIcon /> + </div> + <span className="text-sm font-medium"> + <Trans>PnL Analysis</Trans> + </span> </Button> ); }, [account, chainId, hideDashboardLink]); @@ -115,7 +147,7 @@ export function TradeHistory(p: Props) { } }, [currentPage, pageCount, tradeActionsPageIndex, setTradeActionsPageIndex]); - const [isCsvDownloading, handleCsvDownload] = useDownloadAsCsv({ + const [, handleCsvDownload] = useDownloadAsCsv({ account, forAllAccounts, fromTxTimestamp, @@ -125,31 +157,92 @@ export function TradeHistory(p: Props) { minCollateralUsd: minCollateralUsd, }); + const { isTablet, isSmallDesktop: isDesktop } = useBreakpoints(); + + const actions = ( + <> + {pnlAnalysisButton} + + <DateRangeSelect startDate={startDate} endDate={endDate} onChange={setDateRange} /> + + <Button variant="ghost" onClick={handleCsvDownload} className="flex items-center gap-4"> + <div className="size-16"> + <DownloadIcon /> + </div> + <span className="text-sm font-medium"> + <Trans>CSV</Trans> + </span> + </Button> + </> + ); + + const controls = + !isTablet && isDesktop ? ( + <ActionsPopover> + <div className="flex flex-col gap-2">{actions}</div> + </ActionsPopover> + ) : ( + <div className="flex items-center gap-4">{actions}</div> + ); + + return { + isLoading, + isEmpty, + hasFilters, + currentPage, + setCurrentPage, + currentPageData, + pageCount, + actionFilter, + setActionFilter, + marketsDirectionsFilter, + setMarketsDirectionsFilter, + forAllAccounts, + showDebugValues, + minCollateralUsd, + controls, + }; +} + +type Props = { + forAllAccounts: boolean | undefined; + actionFilter: ActionFilter[]; + setActionFilter: (actionFilter: ActionFilter[]) => void; + marketsDirectionsFilter: MarketFilterLongShortItemData[]; + setMarketsDirectionsFilter: (marketsDirectionsFilter: MarketFilterLongShortItemData[]) => void; + currentPage: number; + setCurrentPage: (currentPage: number) => void; + currentPageData: TradeAction[]; + isLoading: boolean; + isEmpty: boolean; + hasFilters: boolean; + showDebugValues: boolean; + minCollateralUsd: bigint | undefined; + pageCount: number; +}; + +export function TradeHistory(p: Props) { + const { + forAllAccounts, + actionFilter, + setActionFilter, + marketsDirectionsFilter, + setMarketsDirectionsFilter, + currentPage, + setCurrentPage, + currentPageData, + isLoading, + isEmpty, + hasFilters, + showDebugValues, + minCollateralUsd, + pageCount, + } = p; + return ( <div className="TradeHistorySynthetics"> <div className="App-box"> - <div className="flex flex-wrap items-center justify-between gap-y-8 px-16 py-8"> - <div> - <Trans>Trade History</Trans> - </div> - <div className="TradeHistorySynthetics-controls-right"> - {pnlAnalysisButton} - <div className="TradeHistorySynthetics-filters"> - <DateRangeSelect startDate={startDate} endDate={endDate} onChange={setDateRange} /> - </div> - <Button - variant="secondary" - slim - disabled={isCsvDownloading} - imgSrc={downloadIcon} - onClick={handleCsvDownload} - > - CSV - </Button> - </div> - </div> - - <TableScrollFadeContainer> + <TableScrollFadeContainer disableScrollFade={currentPageData.length === 0}> <table className="TradeHistorySynthetics-table"> <colgroup> <col className="TradeHistorySynthetics-action-column" /> @@ -159,7 +252,7 @@ export function TradeHistory(p: Props) { <col className="TradeHistorySynthetics-pnl-fees-column" /> </colgroup> <thead> - <TableTheadTr bordered> + <TableTheadTr> <TableTh> <ActionFilter value={actionFilter} onChange={setActionFilter} /> </TableTh> @@ -177,8 +270,11 @@ export function TradeHistory(p: Props) { <Trans>Price</Trans> </TableTh> <TableTh className="TradeHistorySynthetics-pnl-fees-header"> - <TooltipWithPortal content={<Trans>Realized PnL after fees and price impact.</Trans>}> - <Trans>RPnL ($)</Trans> + <TooltipWithPortal + styleType="iconStroke" + content={<Trans>Realized PnL after fees and price impact.</Trans>} + > + <Trans>RPnL</Trans> </TooltipWithPortal> </TableTh> </TableTheadTr> @@ -197,22 +293,18 @@ export function TradeHistory(p: Props) { /> )) )} - {isEmpty && hasFilters && ( - <TableTr hoverable={false} bordered={false}> - <TableTd className="text-slate-100" colSpan={5}> - <Trans>No trades match the selected filters</Trans> - </TableTd> - </TableTr> - )} - {isEmpty && !hasFilters && !isLoading && ( - <TableTr hoverable={false} bordered={false}> - <TableTd className="text-slate-100" colSpan={5}> - <Trans>No trades yet</Trans> - </TableTd> - </TableTr> - )} </tbody> </table> + {isEmpty && hasFilters && ( + <EmptyTableContent + isLoading={false} + isEmpty={isEmpty} + emptyText={<Trans>No trades match the selected filters</Trans>} + /> + )} + {isEmpty && !hasFilters && !isLoading && ( + <EmptyTableContent isLoading={false} isEmpty={isEmpty} emptyText={<Trans>No trades yet</Trans>} /> + )} </TableScrollFadeContainer> <BottomTablePagination page={currentPage} pageCount={pageCount} onPageChange={setCurrentPage} /> diff --git a/src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.scss b/src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.scss index f6eec01a1b..2f623beed9 100644 --- a/src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.scss +++ b/src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.scss @@ -1,13 +1,3 @@ -.TradeHistoryRow-external-link { - vertical-align: top; - - svg { - path { - fill: currentColor; - } - } -} - .TradeHistoryRow-time { font-size: 1.25rem; } diff --git a/src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx b/src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx index 3bb1c6ead7..c136a53d1e 100644 --- a/src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx +++ b/src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx @@ -22,7 +22,7 @@ import { TableTd, TableTr } from "components/Table/Table"; import TokenIcon from "components/TokenIcon/TokenIcon"; import TooltipWithPortal from "components/Tooltip/TooltipWithPortal"; -import NewLink20ReactComponent from "img/ic_new_link_20.svg?react"; +import NewLinkIcon from "img/ic_new_link.svg?react"; import { formatPositionMessage } from "./utils/position"; import { TooltipContent, TooltipString } from "./utils/shared"; @@ -43,12 +43,12 @@ function LineSpan({ span }: { span: TooltipString }) { } if (typeof span === "string") { - return <span>{span}</span>; + return <span className="numbers">{span}</span>; } return ( <span - className={cx({ + className={cx("numbers", { "text-red-500": span.state === "error", "text-green-500": span.state === "success", muted: span.state === "muted", @@ -189,31 +189,33 @@ export function TradeHistoryRow({ minCollateralUsd, tradeAction, shouldDisplayAc > <TableTd> <div className="flex"> - {msg.actionComment ? ( - <TooltipWithPortal - className={cx("TradeHistoryRow-action-handle")} - handleClassName={cx("TradeHistoryRow-action-handle", { - "text-red-500 !decoration-red-500/50": msg.isActionError, - })} - handle={msg.action} - renderContent={renderActionTooltipContent} - /> - ) : ( - <span - className={cx("TradeHistoryRow-action-handle", { - "text-red-500": msg.isActionError, - })} - > - {msg.action} - </span> - )} - <div className="flex flex-row items-center"> + <div className="flex items-center gap-4"> + {msg.actionComment ? ( + <TooltipWithPortal + className={cx("TradeHistoryRow-action-handle")} + handleClassName={cx("TradeHistoryRow-action-handle", { + "text-red-500 !decoration-red-500/50": msg.isActionError, + })} + handle={<span className="font-medium">{msg.action}</span>} + renderContent={renderActionTooltipContent} + /> + ) : ( + <span + className={cx("TradeHistoryRow-action-handle font-medium", { + "text-red-500": msg.isActionError, + })} + > + {msg.action} + </span> + )} <ExternalLink - className="TradeHistoryRow-external-link ml-5" + className="TradeHistoryRow-external-link size-10" href={`${getExplorerUrl(chainId)}tx/${tradeAction.transaction.hash}`} > - <NewLink20ReactComponent /> + <NewLinkIcon /> </ExternalLink> + </div> + <div className="flex flex-row items-center"> {showDebugValues && ( <Link to={`/parsetx/${NETWORKS_BY_CHAIN_IDS[chainId]}/${tradeAction.transaction.hash}`} @@ -225,7 +227,7 @@ export function TradeHistoryRow({ minCollateralUsd, tradeAction, shouldDisplayAc </div> </div> <TooltipWithPortal - disableHandleStyle + styleType="none" handle={<span className="TradeHistoryRow-time muted cursor-help">{msg.timestamp}</span>} tooltipClassName="TradeHistoryRow-tooltip-portal cursor-help *:cursor-auto" renderContent={renderTimestamp} @@ -241,34 +243,37 @@ export function TradeHistoryRow({ minCollateralUsd, tradeAction, shouldDisplayAc </TableTd> <TableTd> <TooltipWithPortal - disableHandleStyle + styleType="none" tooltipClassName="cursor-help *:cursor-auto" handle={marketTooltipHandle} renderContent={renderMarketContent} /> </TableTd> <TableTd> - {msg.swapFromTokenSymbol ? ( - <Trans> - {msg.swapFromTokenAmount} <TokenIcon symbol={msg.swapFromTokenSymbol!} displaySize={18} importSize={24} /> - <span> to </span> - {msg.swapToTokenAmount} <TokenIcon symbol={msg.swapToTokenSymbol!} displaySize={18} importSize={24} /> - </Trans> - ) : ( - msg.size - )} + <span className="numbers"> + {msg.swapFromTokenSymbol ? ( + <Trans> + {msg.swapFromTokenAmount}{" "} + <TokenIcon symbol={msg.swapFromTokenSymbol!} displaySize={18} importSize={24} /> + <span> to </span> + {msg.swapToTokenAmount} <TokenIcon symbol={msg.swapToTokenSymbol!} displaySize={18} importSize={24} /> + </Trans> + ) : ( + msg.size + )} + </span> </TableTd> <TableTd> {msg.priceComment ? ( <TooltipWithPortal tooltipClassName="TradeHistoryRow-price-tooltip-portal" - handle={msg.price} + handle={<span className="numbers">{msg.price}</span>} position="bottom-end" renderContent={renderPriceContent} maxAllowedWidth={PRICE_TOOLTIP_WIDTH} /> ) : ( - <>{msg.price}</> + <span className="numbers">{msg.price}</span> )} </TableTd> <TableTd className="TradeHistoryRow-pnl-fees"> @@ -276,7 +281,7 @@ export function TradeHistoryRow({ minCollateralUsd, tradeAction, shouldDisplayAc <span className="text-slate-100">-</span> ) : ( <span - className={cx({ + className={cx("numbers", { "text-red-500": msg.pnlState === "error", "text-green-500": msg.pnlState === "success", })} diff --git a/src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx b/src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx index 0a7c4493d9..66f6a345c0 100644 --- a/src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx +++ b/src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx @@ -6,7 +6,7 @@ import { TradeMode, TradeType } from "sdk/types/trade"; import ExternalLink from "components/ExternalLink/ExternalLink"; import Tooltip from "components/Tooltip/Tooltip"; -import InfoCircleOutlineIcon from "img/ic_info_circle_outline.svg?react"; +import InfoCircleIcon from "img/ic_info_circle.svg?react"; type TradePlace = "tradebox" | "position-seller"; @@ -166,8 +166,9 @@ export default function TradeBoxLongShortInfoIcon({ tradePlace, tradeType, isMob position={isMobile ? "bottom-end" : "top-end"} content={contentByTradeType[tradeType]} tooltipClassName="p-10" + className="flex" > - <InfoCircleOutlineIcon className="h-24 w-24 cursor-pointer text-slate-100 gmx-hover:text-white" /> + <InfoCircleIcon className="box-content h-16 w-16 cursor-pointer p-8 text-slate-100 gmx-hover:text-white" /> </Tooltip> ); } diff --git a/src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx b/src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx index b1cd028aa8..ca2d3b3517 100644 --- a/src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +++ b/src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx @@ -31,7 +31,7 @@ import { TradeBoxWarningSwitchPoolClickEvent, } from "lib/userAnalytics/types"; -import { AlertInfoCard } from "components/AlertInfo/AlertInfoCard"; +import { AlertInfoButtonLink, AlertInfoCard } from "components/AlertInfo/AlertInfoCard"; const SHOW_HAS_BETTER_FEES_WARNING_THRESHOLD_BPS = 1; // +0.01% @@ -71,17 +71,6 @@ export const useTradeboxPoolWarnings = (withActions = true) => { [increaseAmounts, isLong] ); - const WithActon = useCallback( - ({ children }: { children: ReactNode }) => - withActions ? ( - <> - {SPACE} - {children} - </> - ) : null, - [withActions] - ); - const indexToken = marketInfo?.indexToken; const marketWithPosition = marketsOptions?.marketWithPosition; const collateralWithPosition = marketsOptions?.collateralWithPosition; @@ -255,18 +244,14 @@ export const useTradeboxPoolWarnings = (withActions = true) => { <AlertInfoCard key="showHasExistingPositionWarning"> <Trans> You have an existing position in the {getMarketPoolName(marketWithPosition)} market pool. - <WithActon> - <span - className="clickable muted underline" - onClick={() => { - setMarketAddress(marketWithPosition.marketTokenAddress); - setCollateralAddress(marketsOptions.collateralWithPosition?.address); - }} - > - Switch to {getMarketPoolName(marketWithPosition)} market pool - </span> - . - </WithActon> + <AlertInfoButtonLink + onClick={() => { + setMarketAddress(marketWithPosition.marketTokenAddress); + setCollateralAddress(marketsOptions.collateralWithPosition?.address); + }} + > + Switch to {getMarketPoolName(marketWithPosition)} market pool + </AlertInfoButtonLink> </Trans> </AlertInfoCard> ); @@ -298,15 +283,9 @@ export const useTradeboxPoolWarnings = (withActions = true) => { Insufficient liquidity in the {marketInfo ? getMarketPoolName(marketInfo) : "..."} market pool. Select a different pool for this market. {hasEnoughLiquidity(minOpenFeesMarket) && ( - <WithActon> - <span - className="clickable muted underline" - onClick={() => setMarketAddress(minOpenFeesMarket!.marketTokenAddress)} - > - Switch to {getMarketPoolName(minOpenFeesMarket)} market pool - </span> - . - </WithActon> + <AlertInfoButtonLink onClick={() => setMarketAddress(minOpenFeesMarket!.marketTokenAddress)}> + Switch to {getMarketPoolName(minOpenFeesMarket)} market pool + </AlertInfoButtonLink> )} </Trans> </AlertInfoCard> @@ -320,15 +299,9 @@ export const useTradeboxPoolWarnings = (withActions = true) => { Insufficient liquidity in the {marketInfo ? getMarketPoolName(marketInfo) : "..."} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one. - <WithActon> - <span - className="clickable muted underline" - onClick={() => setMarketAddress(marketsOptions.minOpenFeesMarket?.marketAddress)} - > - Switch to {getMarketPoolName(minOpenFeesMarket)} market pool - </span> - . - </WithActon> + <AlertInfoButtonLink onClick={() => setMarketAddress(marketsOptions.minOpenFeesMarket?.marketAddress)}> + Switch to {getMarketPoolName(minOpenFeesMarket)} market pool + </AlertInfoButtonLink> </Trans> </AlertInfoCard> ); @@ -341,18 +314,14 @@ export const useTradeboxPoolWarnings = (withActions = true) => { <AlertInfoCard key="showHasExistingOrderWarning"> <Trans> You have an existing limit order in the {getMarketPoolName(marketWithOrder)} market pool. - <WithActon> - <span - className="clickable muted underline" - onClick={() => { - setMarketAddress(marketWithOrder.marketTokenAddress); - setCollateralAddress(address); - }} - > - Switch to {getMarketPoolName(marketWithOrder)} market pool - </span> - . - </WithActon> + <AlertInfoButtonLink + onClick={() => { + setMarketAddress(marketWithOrder.marketTokenAddress); + setCollateralAddress(address); + }} + > + Switch to {getMarketPoolName(marketWithOrder)} market pool + </AlertInfoButtonLink> </Trans> </AlertInfoCard> ); @@ -388,12 +357,9 @@ export const useTradeboxPoolWarnings = (withActions = true) => { <AlertInfoCard key="showHasBetterOpenFeesWarning"> <Trans> Save {formatPercentage(improvedOpenFeesDeltaBps)} in price impact and fees by{" "} - <WithActon> - <span className="clickable muted underline" onClick={onSwitchPoolClick}> - switching to the {getMarketPoolName(minOpenFeesMarket)} pool - </span> - . - </WithActon> + <AlertInfoButtonLink onClick={onSwitchPoolClick}> + switching to the {getMarketPoolName(minOpenFeesMarket)} pool + </AlertInfoButtonLink> </Trans> </AlertInfoCard> ); diff --git a/src/components/Synthetics/TwapRows/TwapRows.tsx b/src/components/Synthetics/TwapRows/TwapRows.tsx index b61261e293..c31824a1d7 100644 --- a/src/components/Synthetics/TwapRows/TwapRows.tsx +++ b/src/components/Synthetics/TwapRows/TwapRows.tsx @@ -1,8 +1,7 @@ import { Trans, t } from "@lingui/macro"; import { useLingui } from "@lingui/react"; -import cx from "classnames"; import { formatDuration, type Locale as DateLocale } from "date-fns"; -import { ChangeEvent, useEffect } from "react"; +import { useEffect } from "react"; import { useLocalStorage } from "react-use"; import { TWAP_INFO_CARD_CLOSED_KEY } from "config/localStorage"; @@ -13,7 +12,7 @@ import { TwapDuration } from "sdk/types/twap"; import { changeTwapNumberOfPartsValue } from "sdk/utils/twap"; import { AlertInfoCard } from "components/AlertInfo/AlertInfoCard"; -import NumberInput from "components/NumberInput/NumberInput"; +import SuggestionInput from "components/SuggestionInput/SuggestionInput"; import { SyntheticsInfoRow } from "components/Synthetics/SyntheticsInfoRow"; import { LOCALE_DATE_LOCALE_MAP } from "../DateRangeSelect/DateRangeSelect"; @@ -115,7 +114,7 @@ const TwapRows = ({ }; const FrequencyField = ({ duration, numberOfParts }: { duration: TwapDuration; numberOfParts: number }) => { - const seconds = numberOfParts ? ((duration.hours * 60 + duration.minutes) * 60) / numberOfParts : 0; + const seconds = numberOfParts ? Math.round(((duration.hours * 60 + duration.minutes) * 60) / numberOfParts) : 0; const minutes = Math.floor(seconds / 60); const hours = Math.floor(seconds / 3600); @@ -180,8 +179,8 @@ export const ValueInput = ({ onBlur?: () => void; label?: string; }) => { - const onValueChange = (e: ChangeEvent<HTMLInputElement>) => { - const parsedValue = parseInt(e.target.value); + const onValueChange = (value: string) => { + const parsedValue = parseInt(value); if (isNaN(parsedValue)) { onChange(0); @@ -191,16 +190,13 @@ export const ValueInput = ({ }; return ( - <label - className={cx("w-[114px] rounded-2 bg-fill-tertiary px-6 py-3", label && "flex items-center", { - "grid grid-cols-[1fr_1fr]": label, - })} - > - {label && <span className="opacity-70">{label}</span>} - <div> - <NumberInput className="w-full p-0 text-right" value={value} onValueChange={onValueChange} onBlur={onBlur} /> - </div> - </label> + <SuggestionInput + label={label} + className="w-[112px]" + value={value.toString()} + setValue={onValueChange} + onBlur={onBlur} + /> ); }; diff --git a/src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx b/src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx index d6c76b95b4..0f963aea7e 100644 --- a/src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx +++ b/src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx @@ -126,7 +126,7 @@ export default function UserIncentiveDistributionList() { <TableScrollFadeContainer> <table className="w-full min-w-max"> <thead> - <TableTheadTr bordered> + <TableTheadTr> <TableTh> <Trans>Date</Trans> </TableTh> @@ -174,7 +174,7 @@ function IncentiveItem({ incentive }: { incentive: NormalizedIncentiveData }) { key={tokenInfo.id} showDollar={false} label={tokenInfo.symbol} - value={formatBalanceAmount(tokenInfo.amount, tokenInfo.decimals)} + value={<span className="numbers">{formatBalanceAmount(tokenInfo.amount, tokenInfo.decimals)}</span>} /> )); }, [tokenIncentiveDetails]); @@ -190,11 +190,15 @@ function IncentiveItem({ incentive }: { incentive: NormalizedIncentiveData }) { const type = tooltipData ? <Tooltip handle={typeStr} renderContent={renderTooltipTypeContent} /> : typeStr; return ( - <TableTr bordered={false} hoverable={false}> + <TableTr hoverable={false}> <TableTd data-label="Date">{formatDate(timestamp)}</TableTd> <TableTd data-label="Type">{type}</TableTd> <TableTd data-label="Amount"> - <Tooltip handle={formatUsd(totalUsd)} className="whitespace-nowrap" renderContent={renderTotalTooltipContent} /> + <Tooltip + handle={<span className="numbers">{formatUsd(totalUsd)}</span>} + className="whitespace-nowrap" + renderContent={renderTotalTooltipContent} + /> </TableTd> <TableTd data-label="Transaction"> <ExternalLink href={`${explorerURL}tx/${transactionHash}`}> diff --git a/src/components/TVChartContainer/DynamicLine.tsx b/src/components/TVChartContainer/DynamicLine.tsx index 1085c39ff3..76fdbb8d4f 100644 --- a/src/components/TVChartContainer/DynamicLine.tsx +++ b/src/components/TVChartContainer/DynamicLine.tsx @@ -11,7 +11,7 @@ import { DynamicChartLine, LineStyle } from "./types"; import type { IChartingLibraryWidget, IOrderLineAdapter } from "../../charting_library"; const BODY_BACKGROUND_COLOR = "#3a3e5e"; -const BUTTON_BACKGROUND_COLOR = "#16182e"; +const BUTTON_BACKGROUND_COLOR = "#121421"; const BORDER_COLOR = "#9295ad"; const BODY_ERROR_BACKGROUND_COLOR = "#831e2d"; const LOADER_ANIMATION_STEP_MS = 1000; diff --git a/src/components/TVChartContainer/TVChartContainer.tsx b/src/components/TVChartContainer/TVChartContainer.tsx index b8aab95b41..03e32f75b6 100644 --- a/src/components/TVChartContainer/TVChartContainer.tsx +++ b/src/components/TVChartContainer/TVChartContainer.tsx @@ -1,7 +1,7 @@ import { CSSProperties, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react"; import { useLatest, useLocalStorage, useMedia } from "react-use"; -import { TV_SAVE_LOAD_CHARTS_KEY } from "config/localStorage"; +import { TV_SAVE_LOAD_CHARTS_KEY, WAS_TV_CHART_OVERRIDDEN_KEY } from "config/localStorage"; import { SUPPORTED_RESOLUTIONS_V1, SUPPORTED_RESOLUTIONS_V2 } from "config/tradingview"; import { useSettings } from "context/SettingsContext/SettingsContextProvider"; import { TokenPrices } from "domain/tokens"; @@ -13,7 +13,7 @@ import { isChartAvailableForToken } from "sdk/configs/tokens"; import Loader from "components/Common/Loader"; -import { defaultChartProps, disabledFeaturesOnMobile } from "./constants"; +import { chartOverrides, defaultChartProps, disabledFeaturesOnMobile } from "./constants"; import { DynamicLines } from "./DynamicLines"; import { SaveLoadAdapter } from "./SaveLoadAdapter"; import { StaticLines } from "./StaticLines"; @@ -57,6 +57,7 @@ export default function TVChartContainer({ const [isChartChangingSymbol, setIsChartChangingSymbol] = useState(false); const [chartDataLoading, setChartDataLoading] = useState(true); const [tvCharts, setTvCharts] = useLocalStorage<ChartData[] | undefined>(TV_SAVE_LOAD_CHARTS_KEY, []); + const [wasChartOverridden, setWasChartOverridden] = useLocalStorage<boolean>(WAS_TV_CHART_OVERRIDDEN_KEY, false); const [tradePageVersion] = useTradePageVersion(); @@ -64,6 +65,14 @@ export default function TVChartContainer({ const [datafeed, setDatafeed] = useState<DataFeed | null>(null); + useEffect(() => { + if (chartReady && tvWidgetRef.current && !wasChartOverridden) { + tvWidgetRef.current.applyOverrides(chartOverrides); + tvWidgetRef.current.saveChartToServer(); + setWasChartOverridden(true); + } + }, [chartReady, wasChartOverridden, setWasChartOverridden]); + useEffect(() => { const newDatafeed = new DataFeed(chainId, oracleKeeperFetcher, tradePageVersion); if (setIsCandlesLoaded) { diff --git a/src/components/TVChartContainer/constants.ts b/src/components/TVChartContainer/constants.ts index 770d49290b..508f8edff4 100644 --- a/src/components/TVChartContainer/constants.ts +++ b/src/components/TVChartContainer/constants.ts @@ -28,18 +28,17 @@ const chartStyleOverrides: Partial<WidgetOverrides> = ["candleStyle", "hollowCan {} ); -const chartOverrides: Partial<WidgetOverrides> = { - "paneProperties.background": "#16182e", - "paneProperties.backgroundGradientStartColor": "#16182e", - "paneProperties.backgroundGradientEndColor": "#16182e", +export const chartOverrides: Partial<WidgetOverrides> = { + "paneProperties.background": "#121421", + "paneProperties.backgroundGradientStartColor": "#121421", + "paneProperties.backgroundGradientEndColor": "#121421", "paneProperties.backgroundType": "solid", - "paneProperties.vertGridProperties.color": "rgba(35, 38, 59, 1)", + "paneProperties.vertGridProperties.color": "#363A59FF", "paneProperties.vertGridProperties.style": 2, - "paneProperties.horzGridProperties.color": "rgba(35, 38, 59, 1)", + "paneProperties.horzGridProperties.color": "#363A59FF", "paneProperties.horzGridProperties.style": 2, - "mainSeriesProperties.priceLineColor": "#3a3e5e", - "scalesProperties.textColor": "#fff", - "scalesProperties.lineColor": "#16182e", + "mainSeriesProperties.priceLineColor": "#8B94B6", + "scalesProperties.textColor": "#A0A3C4", "mainSeriesProperties.statusViewStyle.showExchange": false, ...chartStyleOverrides, }; @@ -86,7 +85,7 @@ export const defaultChartProps = { enabled_features: enabledFeatures, disabled_features: disabledFeatures, custom_css_url: "/tradingview-chart.css", - loading_screen: { backgroundColor: "#16182e", foregroundColor: "#2962ff" }, + loading_screen: { backgroundColor: "#121421", foregroundColor: "#2962ff" }, favorites: {}, custom_formatters: { timeFormatter: { diff --git a/src/components/Table/Table.scss b/src/components/Table/Table.scss new file mode 100644 index 0000000000..069a46b4dd --- /dev/null +++ b/src/components/Table/Table.scss @@ -0,0 +1,10 @@ +.TableTr_hoverable { + &:nth-child(even):hover { + background: linear-gradient(0deg, rgba(30, 32, 51, 0.5), rgba(30, 32, 51, 0.5)), + linear-gradient(0deg, rgba(160, 163, 196, 0.1), rgba(160, 163, 196, 0.1)); + } + + &:nth-child(odd):hover { + background: var(--color-fill-surfaceHover); + } +} diff --git a/src/components/Table/Table.tsx b/src/components/Table/Table.tsx index e64ed622cd..6f72ae5180 100644 --- a/src/components/Table/Table.tsx +++ b/src/components/Table/Table.tsx @@ -1,6 +1,8 @@ import cx from "classnames"; import { PropsWithChildren, forwardRef } from "react"; +import "./Table.scss"; + type Padding = "all" | "compact" | "compact-one-column"; interface TableTdThProps extends PropsWithChildren, React.HTMLProps<HTMLTableCellElement> { @@ -8,7 +10,7 @@ interface TableTdThProps extends PropsWithChildren, React.HTMLProps<HTMLTableCel } export function Table(props: PropsWithChildren & React.HTMLProps<HTMLTableElement>) { - return <table {...props} className={cx("w-full rounded-4 bg-slate-800", props.className)} />; + return <table {...props} className={cx("w-full rounded-4 bg-slate-900", props.className)} />; } export function TableTh(props: TableTdThProps) { const { padding = "all", ...rest } = props; @@ -16,40 +18,33 @@ export function TableTh(props: TableTdThProps) { return ( <th {...rest} - className={cx("text-left font-normal uppercase text-slate-100 last-of-type:text-right", props.className, { - "px-4 py-12 first-of-type:pl-16 last-of-type:pr-16": padding === "all", - "px-4 py-8 first-of-type:pl-12 last-of-type:pr-12": padding === "compact", - "px-8 py-8": padding === "compact-one-column", - })} + className={cx( + "text-left text-[11px] font-medium uppercase text-slate-100 last-of-type:text-right", + props.className, + { + "px-4 py-12 pb-8 first-of-type:pl-20 last-of-type:pr-20": padding === "all", + "px-4 py-8 first-of-type:pl-12 last-of-type:pr-12": padding === "compact", + "px-8 py-8": padding === "compact-one-column", + } + )} /> ); } -export function TableTheadTr({ - bordered, - ...props -}: PropsWithChildren<{ bordered?: boolean }> & React.HTMLProps<HTMLTableRowElement>) { - return ( - <tr - {...props} - className={cx(props.className, { - "border-b border-slate-700": bordered, - })} - /> - ); +export function TableTheadTr({ ...props }: PropsWithChildren & React.HTMLProps<HTMLTableRowElement>) { + return <tr {...props} className={props.className} />; } export const TableTr = forwardRef< HTMLTableRowElement, - PropsWithChildren<{ hoverable?: boolean; bordered?: boolean }> & React.HTMLProps<HTMLTableRowElement> ->(function TableTrInternal({ hoverable = true, bordered = true, className, ...props }, ref) { + PropsWithChildren<{ hoverable?: boolean }> & React.HTMLProps<HTMLTableRowElement> +>(function TableTrInternal({ hoverable = true, className, ...props }, ref) { return ( <tr {...props} ref={ref} - className={cx(className, { - "border-b border-slate-700 last-of-type:border-b-0": bordered, - "hover:bg-cold-blue-900": hoverable, + className={cx("odd:bg-fill-surfaceElevated50", className, { + TableTr_hoverable: hoverable, "cursor-pointer": !!props.onClick, })} /> @@ -61,8 +56,8 @@ export function TableTd(props: TableTdThProps) { return ( <td {...rest} - className={cx("last-of-type:[&:not(:first-of-type)]:text-right", props.className, { - "px-4 py-12 first-of-type:pl-16 last-of-type:pr-16": padding === "all", + className={cx("text-[13px] last-of-type:[&:not(:first-of-type)]:text-right", props.className, { + "px-4 py-8 first-of-type:pl-16 last-of-type:pr-16": padding === "all", "px-4 py-8 first-of-type:pl-12 last-of-type:pr-12": padding === "compact", "px-8 py-8": padding === "compact-one-column", })} diff --git a/src/components/TableScrollFade/TableScrollFade.tsx b/src/components/TableScrollFade/TableScrollFade.tsx index 8d48402ad6..5b9cdb52ef 100644 --- a/src/components/TableScrollFade/TableScrollFade.tsx +++ b/src/components/TableScrollFade/TableScrollFade.tsx @@ -203,7 +203,7 @@ function ScrollFadeControls({ rightStyles, scrollToLeft, scrollToRight, - gradientColor = "slate-800", + gradientColor = "slate-900", }: { scrollLeft: number; scrollRight: number; @@ -271,13 +271,28 @@ function ScrollFadeControls({ ); } -export function TableScrollFadeContainer({ children }: PropsWithChildren<{}>) { +export function TableScrollFadeContainer({ + children, + disableScrollFade, +}: PropsWithChildren<{ disableScrollFade?: boolean }>) { const tableScrollFade = useTableScrollFade(); + useEffect(() => { + if (disableScrollFade) { + tableScrollFade.scrollToLeft(); + } + }, [tableScrollFade, disableScrollFade]); + return ( <div className="relative"> - <ScrollFadeControls {...tableScrollFade} /> - <div className="overflow-x-auto scrollbar-hide" ref={tableScrollFade.setScrollableRef}> + {!disableScrollFade && <ScrollFadeControls {...tableScrollFade} />} + <div + className={cx(" scrollbar-hide", { + "overflow-hidden": disableScrollFade, + "overflow-x-auto": !disableScrollFade, + })} + ref={tableScrollFade.setScrollableRef} + > {children} </div> </div> diff --git a/src/components/Tabs/NestedTab.tsx b/src/components/Tabs/NestedTab.tsx index dbd5bf9b1d..31a90b58df 100644 --- a/src/components/Tabs/NestedTab.tsx +++ b/src/components/Tabs/NestedTab.tsx @@ -2,7 +2,7 @@ import { FloatingPortal, autoUpdate, flip, shift, useFloating } from "@floating- import { Menu } from "@headlessui/react"; import { t } from "@lingui/macro"; import cx from "classnames"; -import { BiChevronDown } from "react-icons/bi"; +import { FiChevronDown } from "react-icons/fi"; import { NestedOption } from "./types"; @@ -32,23 +32,28 @@ export default function NestedTab<V extends string | number>({ const label = selectedSubOption ? selectedSubOption.label || selectedSubOption.value : t`More`; return ( - <Menu as="div" className="Tab-option flex items-center justify-center gap-8"> + <Menu as="div" className="flex items-center justify-center gap-8"> <Menu.Button as="div" - className={cx("flex cursor-pointer items-center justify-center", commonOptionClassname, { - "text-white": !!selectedSubOption, - })} + className={cx( + `flex cursor-pointer items-center justify-center gap-2 + rounded-8 px-12 py-8 font-medium text-slate-100 hover:bg-slate-700 hover:text-white`, + commonOptionClassname, + { + "bg-cold-blue-900 text-white": !!selectedSubOption, + } + )} ref={refs.setReference} data-qa={qa ? `${qa}-tab-${option.label}` : undefined} > - {label} + <span>{label}</span> - <BiChevronDown size={16} /> + <FiChevronDown size={16} className="mt-1" /> </Menu.Button> <FloatingPortal> <Menu.Items as="div" - className="z-[1000] mt-8 rounded-4 border border-gray-800 bg-slate-800 outline-none" + className="z-[1000] mt-8 overflow-hidden rounded-8 border border-slate-600 bg-slate-900 outline-none" ref={refs.setFloating} style={floatingStyles} > @@ -58,7 +63,7 @@ export default function NestedTab<V extends string | number>({ as="div" key={subOpt.value} className={cx( - "hover:bg-dark-blue-hover text-body-medium cursor-pointer p-8 text-slate-100 hover:rounded-4 hover:text-white", + "text-body-medium cursor-pointer p-8 font-medium text-slate-100 hover:bg-cold-blue-900 hover:text-white", { "text-white": subOpt.value === selectedValue } )} onClick={() => onOptionClick?.(subOpt.value)} diff --git a/src/components/Tabs/RegularTab.tsx b/src/components/Tabs/RegularTab.tsx index aa847619d4..01ab01d7f7 100644 --- a/src/components/Tabs/RegularTab.tsx +++ b/src/components/Tabs/RegularTab.tsx @@ -1,5 +1,7 @@ import cx from "classnames"; +import Button from "components/Button/Button"; + import { RegularOption } from "./types"; type Props<V extends string | number> = { @@ -8,6 +10,7 @@ type Props<V extends string | number> = { onOptionClick: ((value: V) => void) | undefined; regularOptionClassname?: string; qa?: string; + type: "inline" | "block"; }; export default function RegularTab<V extends string | number>({ @@ -16,22 +19,47 @@ export default function RegularTab<V extends string | number>({ onOptionClick, regularOptionClassname, qa, + type, }: Props<V>) { const isActive = option.value === selectedValue; const label = option.label || option.value; const optionClassName = isActive ? option.className?.active : option.className?.regular; + if (type === "inline") { + return ( + <Button + variant={isActive ? "secondary" : "ghost"} + onClick={() => onOptionClick?.(option.value)} + key={option.value} + data-qa={qa ? `${qa}-tab-${option.value}` : undefined} + className={cx(optionClassName, regularOptionClassname, { + "!text-white": isActive, + })} + > + {option.icon && <span className="mt-2 scale-75 opacity-70">{option.icon}</span>} + {label} + </Button> + ); + } + return ( - <div - className={cx("Tab-option flex items-center justify-center gap-8", optionClassName, regularOptionClassname, { - active: isActive, - })} + <button + className={cx( + `-mb-[0.5px] flex items-center justify-center gap-8 border-b-2 border-b-[transparent] px-20 py-10 + font-medium text-slate-100 first:rounded-tl-8 last:rounded-tr-8 hover:text-white`, + optionClassName, + regularOptionClassname, + { + "text-white": isActive, + "border-b-2 border-b-blue-300": isActive, + } + )} onClick={() => onOptionClick?.(option.value)} key={option.value} data-qa={qa ? `${qa}-tab-${option.value}` : undefined} > {option.icon && <span className="mt-2 scale-75 opacity-70">{option.icon}</span>} {label} - </div> + </button> ); } diff --git a/src/components/Tabs/Tabs.tsx b/src/components/Tabs/Tabs.tsx index f6cef665ce..d32ca16a94 100644 --- a/src/components/Tabs/Tabs.tsx +++ b/src/components/Tabs/Tabs.tsx @@ -1,8 +1,10 @@ import cx from "classnames"; +import { ReactNode } from "react"; import NestedTab from "./NestedTab"; import RegularTab from "./RegularTab"; import { isNestedOption, Option, BaseOptionValue } from "./types"; + import "./Tabs.css"; type Props<V extends BaseOptionValue> = { @@ -14,33 +16,59 @@ type Props<V extends BaseOptionValue> = { className?: string; regularOptionClassname?: string; qa?: string; + rightContent?: ReactNode; }; export default function Tabs<V extends string | number>({ options, selectedValue, onChange, + // eslint-disable-next-line @typescript-eslint/no-unused-vars size = "m", type = "block", className, regularOptionClassname, qa, + rightContent, }: Props<V>) { return ( - <div data-qa={qa} className={cx("Tab", `Tab__${type}`, `Tab__${size}`, className)}> - {options.map((opt) => - isNestedOption(opt) ? ( - <NestedTab key={opt.label?.toString()} option={opt} selectedValue={selectedValue} onOptionClick={onChange} /> - ) : ( - <RegularTab - key={opt.value} - option={opt} - selectedValue={selectedValue} - onOptionClick={onChange} - regularOptionClassname={regularOptionClassname} - /> - ) + <div + data-qa={qa} + className={cx( + "flex items-center justify-between rounded-t-8", + { + "border-b-stroke border-b-slate-600": type === "block", + }, + className )} + > + <div + className={cx("flex w-full", { + "gap-8": type === "inline", + })} + > + {options.map((opt) => + isNestedOption(opt) ? ( + <NestedTab + key={opt.label?.toString()} + option={opt} + selectedValue={selectedValue} + onOptionClick={onChange} + /> + ) : ( + <RegularTab + key={opt.value} + option={opt} + selectedValue={selectedValue} + onOptionClick={onChange} + regularOptionClassname={regularOptionClassname} + type={type} + /> + ) + )} + </div> + + {rightContent} </div> ); } diff --git a/src/components/TenderlySettings/TenderlySettings.tsx b/src/components/TenderlySettings/TenderlySettings.tsx index 89db699153..36597c2373 100644 --- a/src/components/TenderlySettings/TenderlySettings.tsx +++ b/src/components/TenderlySettings/TenderlySettings.tsx @@ -89,7 +89,7 @@ function TenderlyInput({ value={value} onChange={handleChange} placeholder={placeholder} - className="border-1 w-[280px] border border-stroke-primary px-5 py-4 text-12" + className="border-1 w-[280px] border border-slate-600 px-5 py-4 text-12" /> </p> ); diff --git a/src/components/ToggleSwitch/ToggleSwitch.scss b/src/components/ToggleSwitch/ToggleSwitch.scss deleted file mode 100644 index 7a14de0b1a..0000000000 --- a/src/components/ToggleSwitch/ToggleSwitch.scss +++ /dev/null @@ -1,48 +0,0 @@ -.Switch-toggle { - width: 30px; - height: 18px; - background-color: var(--color-gray-600); - display: flex; - justify-content: flex-start; - align-items: center; - border-radius: 50px; - padding: 2px; - cursor: pointer; - position: relative; - opacity: 0.8; - - .handle { - width: 14.5px; - height: 14.5px; - background-color: var(--color-white); - border-radius: 40px; - transition: all 200ms ease-in-out; - position: absolute; - left: 2px; - bottom: 2px; - } - - &.checked { - background-color: var(--primary-btn-bg); - } - &.checked .handle { - left: 14px; - } - - &.disabled { - cursor: not-allowed; - opacity: 0.5; - } -} - -.Switch-toggle-wrapper { - display: flex; - align-items: center; - justify-content: space-between; - font-size: var(--font-size-body-medium); - - &_disabled .Switch-toggle { - opacity: 0.5; - cursor: not-allowed; - } -} diff --git a/src/components/ToggleSwitch/ToggleSwitch.tsx b/src/components/ToggleSwitch/ToggleSwitch.tsx index 49742d3087..00a092d94c 100644 --- a/src/components/ToggleSwitch/ToggleSwitch.tsx +++ b/src/components/ToggleSwitch/ToggleSwitch.tsx @@ -1,8 +1,6 @@ import cx from "classnames"; import { useCallback, type ReactNode } from "react"; -import "./ToggleSwitch.scss"; - type Props = { isChecked: boolean; setIsChecked: (value: boolean) => void; @@ -22,8 +20,6 @@ export default function ToggleSwitch({ textClassName, beforeSwitchContent, }: Props) { - const classNames = cx("Switch-toggle-wrapper", className); - const handleToggle = useCallback(() => { if (disabled) { return; @@ -33,12 +29,24 @@ export default function ToggleSwitch({ }, [disabled, isChecked, setIsChecked]); return ( - <div className={classNames}> + <div className={cx("inline-flex w-full items-center justify-between gap-8", className)}> <span className={textClassName}>{children}</span> <div className="flex items-center gap-8"> {beforeSwitchContent} - <div className={cx("Switch-toggle", { checked: isChecked, disabled })} onClick={handleToggle}> - <div className="handle" /> + <div + className={cx("group w-36 cursor-pointer rounded-full border transition-all duration-300", { + "border-blue-400 bg-blue-400": isChecked, + "bg-fill-slate-700 border-slate-600": !isChecked, + "pointer-events-none": disabled, + })} + onClick={handleToggle} + > + <div + className={cx("h-18 w-18 rounded-full shadow-[0px_2px_4px_0px_#00000040] transition-all duration-300", { + "translate-x bg-slate-100 opacity-60 group-hover:opacity-100": !isChecked, + "translate-x-[19px] bg-white": isChecked, + })} + /> </div> </div> </div> diff --git a/src/components/TokenIcon/TokenIcon.tsx b/src/components/TokenIcon/TokenIcon.tsx index 00a56dde51..06f09dd9c4 100644 --- a/src/components/TokenIcon/TokenIcon.tsx +++ b/src/components/TokenIcon/TokenIcon.tsx @@ -39,7 +39,7 @@ function TokenIcon({ className, symbol, displaySize, importSize = 24, badge }: P if (badge) { if (typeof badge === "string") { sub = ( - <span className="pointer-events-none absolute -bottom-8 -right-8 z-10 rounded-20 border border-slate-800 bg-slate-500 px-4 py-2 text-12 !text-white"> + <span className="pointer-events-none absolute -bottom-8 -right-8 z-10 rounded-20 bg-slate-700 px-6 py-2 text-12 font-medium !text-white"> {badge} </span> ); @@ -47,14 +47,14 @@ function TokenIcon({ className, symbol, displaySize, importSize = 24, badge }: P sub = ( <span className="absolute -bottom-8 -right-8 flex flex-row items-center justify-center !text-white"> <img - className="z-20 -mr-10 rounded-[100%] border border-slate-800" + className="z-20 -mr-10 rounded-[100%] border-2 border-slate-900" src={importImage(getIconUrlPath(badge[0], 24))} alt={badge[0]} width={20} height={20} /> <img - className="z-10 rounded-[100%] border border-slate-800" + className="z-10 rounded-[100%] border-2 border-slate-900" src={importImage(getIconUrlPath(badge[1], 24))} alt={badge[0]} width={20} diff --git a/src/components/TokenSelector/TokenSelector.scss b/src/components/TokenSelector/TokenSelector.scss index cf0136e852..83842688fa 100644 --- a/src/components/TokenSelector/TokenSelector.scss +++ b/src/components/TokenSelector/TokenSelector.scss @@ -5,7 +5,6 @@ top: 0; bottom: 0; right: 0; - border: none; } .TokenSelector-token-name { @@ -36,19 +35,6 @@ margin-left: 0 !important; } -.TokenSelector-token-row { - cursor: pointer; - border: 1px solid var(--color-gray-800); - position: relative; - background: transparent; - border-radius: var(--border-radius-sm); - display: flex; - justify-content: space-between; - align-items: center; - padding: 0.8rem; - margin-bottom: 0.8rem; -} - .TokenSelector-tooltip.Tooltip { position: absolute; left: 0; @@ -64,33 +50,6 @@ z-index: 10; } -.TokenSelector-token-row.disabled { - cursor: not-allowed; -} - -.TokenSelector-token-row.disabled .Token-info { - opacity: 0.3; -} - -.TokenSelector-token-row.disabled .Token-balance { - opacity: 0.3; -} - -.TokenSelector-token-row .Token-text { - font-size: var(--font-size-body-large); - color: var(--color-white); - font-weight: 500; - letter-spacing: 0px; -} - -.TokenSelector-token-row:hover { - background: var(--dark-blue-hover); -} - -.TokenSelector-token-row:active:not(:has(.favorite-star:active)) { - background: var(--dark-blue-active); -} - .TokenSelector.right .Modal { align-items: flex-start; justify-content: flex-end; @@ -110,7 +69,7 @@ border: none; } -@media (max-width: 1100px) { +@media (max-width: 1024px) { .TokenSelector-modal .Modal-content { max-height: 80vh; min-height: 80vh; diff --git a/src/components/TokenSelector/TokenSelector.tsx b/src/components/TokenSelector/TokenSelector.tsx index 2b13108c8e..8b0b7cb879 100644 --- a/src/components/TokenSelector/TokenSelector.tsx +++ b/src/components/TokenSelector/TokenSelector.tsx @@ -229,7 +229,7 @@ export default function TokenSelector(props: Props) { isLoaded={Boolean(visibleTokens.length)} /> )} - <div className="TokenSelector-tokens"> + <div className="flex flex-col gap-8 overflow-y-auto"> {sortedFilteredTokens.map((token, tokenIndex) => { let info = infoTokens?.[token.address] || ({} as TokenInfo); @@ -250,7 +250,10 @@ export default function TokenSelector(props: Props) { <div key={token.address} data-qa={`${qa}-token-${token.symbol}`} - className={cx("TokenSelector-token-row", { disabled: tokenState.disabled })} + className={cx( + "text-body-medium flex w-full cursor-pointer items-center justify-between rounded-8 bg-slate-800 p-8 hover:bg-slate-700", + { disabled: tokenState.disabled } + )} onClick={() => !tokenState.disabled && onSelectToken(token)} > {tokenState.disabled && tokenState.message && ( @@ -258,7 +261,7 @@ export default function TokenSelector(props: Props) { className="TokenSelector-tooltip" handle={<div className="TokenSelector-tooltip-backing" />} position={tokenIndex < filteredTokens.length / 2 ? "bottom" : "top"} - disableHandleStyle + styleType="none" closeOnDoubleClick fitHandleWidth renderContent={() => tokenState.message} @@ -266,31 +269,25 @@ export default function TokenSelector(props: Props) { )} <div className="Token-info"> {showTokenImgInDropdown && ( - <TokenIcon - symbol={token.symbol} - className="token-logo" - displaySize={40} - importSize={40} - badge={tokenBadge} - /> + <TokenIcon symbol={token.symbol} className="" displaySize={40} importSize={40} badge={tokenBadge} /> )} - <div className="ml-8 flex items-center gap-4"> - <div className="Token-text"> + <div className="text-body-large ml-8 flex items-center gap-4"> + <div> {token.isMarketToken && marketToken ? `GM: ${getMarketIndexName(marketToken)}` : token.symbol} </div> {marketToken && <span className="text-accent">[{getMarketPoolName(marketToken)}]</span>} </div> </div> - <div className="Token-balance"> + <div className="text-body-large flex flex-col items-end gap-4"> {(showBalances && balance !== undefined && ( - <div className="Token-text"> + <div> {balance > 0 && formatBalanceAmount(balance, token.decimals, undefined, { isStable: token.isStable })} {balance == 0n && "-"} </div> )) || null} - <span className="text-accent"> + <span className="text-body-small text-slate-100"> {showBalances && balanceUsd !== undefined && balanceUsd > 0 && ( <div>${formatAmount(balanceUsd, 30, 2, true)}</div> )} diff --git a/src/components/Tooltip/Tooltip.scss b/src/components/Tooltip/Tooltip.scss index 550ddf1188..c748618699 100644 --- a/src/components/Tooltip/Tooltip.scss +++ b/src/components/Tooltip/Tooltip.scss @@ -1,5 +1,3 @@ -$left-arrow-bg: var(--color-slate-600); - .Tooltip { position: relative; } @@ -7,17 +5,19 @@ $left-arrow-bg: var(--color-slate-600); .Tooltip-popup { font-size: var(--font-size-body-medium); font-weight: normal; - line-height: 1.6rem; - border-radius: 4px; - padding: 1.05rem; - letter-spacing: 0.4px; + line-height: 125%; + border-radius: 8px; + padding: 10px; + letter-spacing: 0.02em; min-width: 28rem; width: max-content; max-width: 100vw; text-align: left; white-space: normal; - background-color: var(--color-slate-600); - box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.25); + background: linear-gradient(0deg, #a0a3c41a, #a0a3c41a), + linear-gradient(0deg, var(--color-slate-800), var(--color-slate-800)); + backdrop-filter: blur(14px); + box-shadow: 0px 4px 14px 0px #00000040; z-index: 10000; color: var(--color-white); @@ -123,11 +123,14 @@ $left-arrow-bg: var(--color-slate-600); cursor: help; position: relative; display: inline-flex; +} + +.Tooltip-underline { text-decoration: underline; text-decoration-style: dashed; - text-decoration-thickness: 1px; - text-underline-offset: 2px; - text-decoration-color: var(--color-gray-400); + text-decoration-thickness: 0.5px; + text-underline-offset: 1.75px; + text-decoration-color: var(--color-slate-100); } .Tooltip-divider { diff --git a/src/components/Tooltip/Tooltip.tsx b/src/components/Tooltip/Tooltip.tsx index 00ad57514a..0cd5e81341 100644 --- a/src/components/Tooltip/Tooltip.tsx +++ b/src/components/Tooltip/Tooltip.tsx @@ -30,6 +30,9 @@ import { import { DEFAULT_TOOLTIP_POSITION, TOOLTIP_CLOSE_DELAY, TOOLTIP_OPEN_DELAY } from "config/ui"; import { usePrevious } from "lib/usePrevious"; +import InfoIcon from "img/ic_info_circle.svg?react"; +import InfoIconStroke from "img/ic_info_circle_stroke.svg?react"; + import "./Tooltip.scss"; export type TooltipPosition = Placement; @@ -43,7 +46,6 @@ type InnerTooltipProps<T extends ElementType | undefined> = { renderContent?: () => ReactNode; content?: ReactNode | undefined | null; position?: TooltipPosition; - disableHandleStyle?: boolean; className?: string; style?: React.CSSProperties; handleClassName?: string; @@ -70,6 +72,8 @@ type InnerTooltipProps<T extends ElementType | undefined> = { shouldStopPropagation?: boolean; fitHandleWidth?: boolean; closeOnDoubleClick?: boolean; + + styleType?: "icon" | "iconStroke" | "underline" | "none"; }; export type TooltipProps<T extends ElementType | undefined> = InnerTooltipProps<T> & @@ -83,7 +87,6 @@ export default function Tooltip<T extends ElementType>({ position = DEFAULT_TOOLTIP_POSITION, className, style, - disableHandleStyle, handleClassName, handleStyle, tooltipClassName, @@ -97,6 +100,7 @@ export default function Tooltip<T extends ElementType>({ shouldStopPropagation, fitHandleWidth, closeOnDoubleClick, + styleType = "underline", ...containerProps }: TooltipProps<T>) { const [visible, setVisible] = useState(false); @@ -201,7 +205,7 @@ export default function Tooltip<T extends ElementType>({ {...getFloatingProps()} className={cx("Tooltip-popup", tooltipClassName)} > - <FloatingArrow ref={arrowRef} context={context} className="fill-slate-600" /> + <FloatingArrow ref={arrowRef} context={context} className="fill-[#2b2d41]" /> {finalContent} </div> ) : undefined; @@ -231,7 +235,7 @@ export default function Tooltip<T extends ElementType>({ <span {...containerProps} className={cx("Tooltip", className)} style={style}> <span ref={refs.setReference} - className={cx({ "Tooltip-handle": !disableHandleStyle }, handleClassName)} + className={cx("Tooltip-handle", { "Tooltip-underline": styleType === "underline" }, handleClassName)} style={handleStyle} {...getReferenceProps({ onClick: (e: MouseEvent) => { @@ -240,12 +244,16 @@ export default function Tooltip<T extends ElementType>({ }, })} > - {/* For onMouseLeave to work on disabled button https://github.com/react-component/tooltip/issues/18#issuecomment-411476678 */} - {isHandlerDisabled ? ( - <div className="pointer-events-none w-full flex-none [text-decoration:inherit]">{handle ?? children}</div> - ) : ( - <>{handle ?? children}</> - )} + <div className="flex items-center gap-2"> + {/* For onMouseLeave to work on disabled button https://github.com/react-component/tooltip/issues/18#issuecomment-411476678 */} + {isHandlerDisabled ? ( + <div className="pointer-events-none w-full flex-none [text-decoration:inherit]">{handle ?? children}</div> + ) : ( + <>{handle ?? children}</> + )} + {styleType === "icon" && <InfoIcon className="h-16 w-16" />} + {styleType === "iconStroke" && <InfoIconStroke className="h-16 w-16" />} + </div> </span> {visible && withPortal && <FloatingPortal>{tooltipContent}</FloatingPortal>} {visible && !withPortal && tooltipContent} diff --git a/src/components/UserFeedbackModal/UserFeedbackModal.tsx b/src/components/UserFeedbackModal/UserFeedbackModal.tsx index 9e731b8691..f644ffdd57 100644 --- a/src/components/UserFeedbackModal/UserFeedbackModal.tsx +++ b/src/components/UserFeedbackModal/UserFeedbackModal.tsx @@ -124,7 +124,7 @@ export function UserFeedbackModal({ isVisible, setIsVisible }: Props) { <div className="mb-15 flex flex-col"> <TooltipWithPortal position="top-start" - content={<Trans>Leave your Telegram if you’re okay with being contacted for a quick follow-up</Trans>} + content={<Trans>Leave your Telegram if you’re okay with being contacted for a quick follow-up.</Trans>} > <Trans>Telegram contact (optional)</Trans> </TooltipWithPortal> diff --git a/src/components/VersionSwitch/VersionSwitch.scss b/src/components/VersionSwitch/VersionSwitch.scss index aa7f5ec28d..22791e15c3 100644 --- a/src/components/VersionSwitch/VersionSwitch.scss +++ b/src/components/VersionSwitch/VersionSwitch.scss @@ -31,7 +31,7 @@ } } -@media (max-width: 1100px) { +@media (max-width: 1024px) { .VersionSwitch-option { padding: 0.75rem 1.2rem; } diff --git a/src/config/events.tsx b/src/config/events.tsx index 247bdcdf46..77002d7486 100644 --- a/src/config/events.tsx +++ b/src/config/events.tsx @@ -52,6 +52,70 @@ export const appEventsData: EventData[] = [ </> ), }, + { + id: "botanix-launch-event", + title: "GMX is live on Botanix", + isActive: true, + startDate: "2 Jul 2025, 0:00", + endDate: "10 Jul 2025, 0:00", + bodyText: ( + <> + GMX is now natively deployed on the Botanix network. Use the network switcher to connect. + <br /> + <br /> + <ExternalLink href="https://x.com/GMX_IO/status/1940367677190762617"> + Learn how to trade and provide liquidity + </ExternalLink> + . + </> + ), + }, + { + id: "listing-xmr-crv-moodeng-pi", + title: "CRV, MOODENG, PI and XMR markets added on Arbitrum", + isActive: true, + startDate: "20 Jun 2025, 00:00", + endDate: "27 Jun 2025, 00:00", + bodyText: ( + <> + Trade{" "} + <Link to="/trade/long/?mode=market&to=CRV"> + <TokenSymbolWithIcon symbol="CRV" /> + /USD + </Link> + ,{" "} + <Link to="/trade/long/?mode=market&to=MOODENG"> + <TokenSymbolWithIcon symbol="MOODENG" /> + /USD + </Link> + ,{" "} + <Link to="/trade/long/?mode=market&to=PI"> + <TokenSymbolWithIcon symbol="PI" /> + /USD + </Link> + , and{" "} + <Link to="/trade/long/?mode=market&to=XMR"> + <TokenSymbolWithIcon symbol="XMR" /> + /USD + </Link> + , or <Link to="/pools">provide liquidity</Link> to these pools by using <TokenSymbolWithIcon symbol="WETH" />,{" "} + <TokenSymbolWithIcon symbol="WBTC" /> or <TokenSymbolWithIcon symbol="USDC" />. + </> + ), + }, + { + id: "twap-announcement", + title: "TWAP orders on GMX", + bodyText: ( + <> + Time-Weighted Average Price (TWAP) orders are now available for both perps and spot. Execute large trades with + less price impact. + </> + ), + isActive: true, + startDate: "16 Jun 2025, 00:00", + endDate: "26 Jun 2025, 00:00", + }, { id: "v1-trading-disabled", title: "GMX V1 disabled", diff --git a/src/config/localStorage.ts b/src/config/localStorage.ts index bb86c29b50..c9c40a6d6d 100644 --- a/src/config/localStorage.ts +++ b/src/config/localStorage.ts @@ -29,6 +29,8 @@ export const ORACLE_KEEPER_INSTANCES_CONFIG_KEY = "oracle-keeper-instances-confi export const SORTED_MARKETS_KEY = "sorted-markets-key"; export const TWAP_NUMBER_OF_PARTS_KEY = "twap-number-of-parts"; export const TWAP_INFO_CARD_CLOSED_KEY = "twap-info-card-closed"; +// key updated with chart overrides, to update tv chart with new release +export const WAS_TV_CHART_OVERRIDDEN_KEY = "was-tv-chart-overridden-1"; export const SYNTHETICS_TRADE_OPTIONS = "synthetics-trade-options"; export const SYNTHETICS_ACCEPTABLE_PRICE_IMPACT_BUFFER_KEY = "synthetics-acceptable-price-impact-buffer"; diff --git a/src/context/SyntheticsStateContext/selectors/leaderboardSelectors.ts b/src/context/SyntheticsStateContext/selectors/leaderboardSelectors.ts index b2f5b56880..9d2aced502 100644 --- a/src/context/SyntheticsStateContext/selectors/leaderboardSelectors.ts +++ b/src/context/SyntheticsStateContext/selectors/leaderboardSelectors.ts @@ -28,6 +28,10 @@ export const selectLeaderboardIsStartInFuture = (s: SyntheticsState) => s.leader export const selectLeaderboardIsLoading = (s: SyntheticsState) => s.leaderboard.isLoading; +export const selectLeaderboardSearchAddress = (s: SyntheticsState) => s.leaderboard.searchAddress; + +export const selectLeaderboardSetSearchAddress = (s: SyntheticsState) => s.leaderboard.setSearchAddress; + export const selectLeaderboardIsCompetition = createSelector(function selectLeaderboardIsCompetition(q) { const pageKey = q((s) => s.leaderboard.leaderboardPageKey); return LEADERBOARD_PAGES[pageKey].isCompetition; diff --git a/src/context/SyntheticsStateContext/useLeaderboardState.ts b/src/context/SyntheticsStateContext/useLeaderboardState.ts index d7563f39db..a7f6880dc1 100644 --- a/src/context/SyntheticsStateContext/useLeaderboardState.ts +++ b/src/context/SyntheticsStateContext/useLeaderboardState.ts @@ -31,6 +31,7 @@ export const useLeaderboardState = (account: string | undefined, enabled: boolea return page.chainId; }, [leaderboardPageKey]); const chainId = competitionChainId ?? activeChainId; + const [searchAddress, setSearchAddress] = useState(""); const { data, @@ -59,6 +60,8 @@ export const useLeaderboardState = (account: string | undefined, enabled: boolea leaderboardPageKey, chainId, isLoading, + searchAddress, + setSearchAddress, }), [ data?.accounts, @@ -72,6 +75,8 @@ export const useLeaderboardState = (account: string | undefined, enabled: boolea leaderboardPageKey, chainId, isLoading, + searchAddress, + setSearchAddress, ] ); }; diff --git a/src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx b/src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx index 48c52b3f56..f544632e67 100644 --- a/src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +++ b/src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx @@ -173,7 +173,7 @@ export const tokensFavoritesTabOptions: TokenFavoritesTabOption[] = [ export const tokensFavoritesTabOptionLabels: Record<TokenFavoritesTabOption, MessageDescriptor> = { all: msg({ - message: "All", + message: "All Markets", comment: "Filter option for tokens favorites", }), favorites: msg`Favorites`, diff --git a/src/domain/synthetics/markets/usePoolsTimeRange.ts b/src/domain/synthetics/markets/usePoolsTimeRange.ts index ee0eafbb44..786cc2fa76 100644 --- a/src/domain/synthetics/markets/usePoolsTimeRange.ts +++ b/src/domain/synthetics/markets/usePoolsTimeRange.ts @@ -2,7 +2,7 @@ import { getTimestampByDaysAgo, normalizeDateRange } from "lib/dates"; import { useLocalStorageSerializeKey } from "lib/localStorage"; import { ApyPeriod } from "lib/oracleKeeperFetcher"; -export const POOLS_TIME_RANGE_OPTIONS = ["total", "180d", "90d", "30d"] as const; +export const POOLS_TIME_RANGE_OPTIONS = ["30d", "90d", "180d", "total"] as const; export type PoolsTimeRange = (typeof POOLS_TIME_RANGE_OPTIONS)[number]; diff --git a/src/domain/synthetics/userFeedback/useInterviewNotification.tsx b/src/domain/synthetics/userFeedback/useInterviewNotification.tsx index 79548ca4f3..3c769109ac 100644 --- a/src/domain/synthetics/userFeedback/useInterviewNotification.tsx +++ b/src/domain/synthetics/userFeedback/useInterviewNotification.tsx @@ -32,7 +32,7 @@ export function useInterviewNotification() { setInterviewInvitationShownTime(toastTimestamp); - helperToast.error( + helperToast.info( <InterviewToast type="trader" onButtonClick={() => { diff --git a/src/domain/synthetics/userFeedback/useLpInterviewNotification.tsx b/src/domain/synthetics/userFeedback/useLpInterviewNotification.tsx index 37b13792b8..01896c211c 100644 --- a/src/domain/synthetics/userFeedback/useLpInterviewNotification.tsx +++ b/src/domain/synthetics/userFeedback/useLpInterviewNotification.tsx @@ -51,7 +51,7 @@ export function useLpInterviewNotification() { setLpInterviewInvitationShownTime(toastTimestamp); - helperToast.error( + helperToast.info( <InterviewToast type="lp" onButtonClick={() => { diff --git a/src/domain/synthetics/userFeedback/useNpsSurvey.tsx b/src/domain/synthetics/userFeedback/useNpsSurvey.tsx index 47f1f979f5..79395ada1d 100644 --- a/src/domain/synthetics/userFeedback/useNpsSurvey.tsx +++ b/src/domain/synthetics/userFeedback/useNpsSurvey.tsx @@ -95,7 +95,7 @@ export function useNpsSurvey() { const toastTimestamp = Date.now(); setNpsSurveyShownTime(toastTimestamp); - helperToast.error( + helperToast.info( <RatingToast onRatingClick={(rating) => { setIsModalVisible(true); diff --git a/src/fonts/tthoves/tt-hoves-pro-mono-trial-medium.ttf b/src/fonts/tthoves/tt-hoves-pro-mono-trial-medium.ttf new file mode 100644 index 0000000000..d678acc693 Binary files /dev/null and b/src/fonts/tthoves/tt-hoves-pro-mono-trial-medium.ttf differ diff --git a/src/fonts/tthoves/tt-hoves-pro-mono-trial-regular.ttf b/src/fonts/tthoves/tt-hoves-pro-mono-trial-regular.ttf new file mode 100644 index 0000000000..f78ace7b89 Binary files /dev/null and b/src/fonts/tthoves/tt-hoves-pro-mono-trial-regular.ttf differ diff --git a/src/fonts/tthoves/tt-hoves-pro-trial-bold.ttf b/src/fonts/tthoves/tt-hoves-pro-trial-bold.ttf new file mode 100644 index 0000000000..c4aaf67d13 Binary files /dev/null and b/src/fonts/tthoves/tt-hoves-pro-trial-bold.ttf differ diff --git a/src/fonts/tthoves/tt-hoves-pro-trial-light.ttf b/src/fonts/tthoves/tt-hoves-pro-trial-light.ttf new file mode 100644 index 0000000000..02d2381fee Binary files /dev/null and b/src/fonts/tthoves/tt-hoves-pro-trial-light.ttf differ diff --git a/src/fonts/tthoves/tt-hoves-pro-trial-medium.ttf b/src/fonts/tthoves/tt-hoves-pro-trial-medium.ttf new file mode 100644 index 0000000000..6ebedb59e4 Binary files /dev/null and b/src/fonts/tthoves/tt-hoves-pro-trial-medium.ttf differ diff --git a/src/fonts/tthoves/tt-hoves-pro-trial-regular.ttf b/src/fonts/tthoves/tt-hoves-pro-trial-regular.ttf new file mode 100644 index 0000000000..87f5fd24e3 Binary files /dev/null and b/src/fonts/tthoves/tt-hoves-pro-trial-regular.ttf differ diff --git a/src/img/collapse.svg b/src/img/collapse.svg new file mode 100644 index 0000000000..c592e0f148 --- /dev/null +++ b/src/img/collapse.svg @@ -0,0 +1,3 @@ +<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M2 18C1.45 18 0.979334 17.8043 0.588 17.413C0.196667 17.0217 0.000666667 16.5507 0 16V2C0 1.45 0.196 0.979334 0.588 0.588C0.98 0.196667 1.45067 0.000666667 2 0H16C16.55 0 17.021 0.196 17.413 0.588C17.805 0.98 18.0007 1.45067 18 2V16C18 16.55 17.8043 17.021 17.413 17.413C17.0217 17.805 16.5507 18.0007 16 18H2ZM9 16H16V2H9V16Z" fill="currentColor"/> +</svg> diff --git a/src/img/dashboard.svg b/src/img/dashboard.svg new file mode 100644 index 0000000000..f7e40dd6aa --- /dev/null +++ b/src/img/dashboard.svg @@ -0,0 +1,3 @@ +<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M14.625 18C14.3062 18 14.0392 17.892 13.824 17.676C13.6087 17.46 13.5007 17.193 13.5 16.875V11.25C13.5 10.9312 13.608 10.6642 13.824 10.449C14.04 10.2337 14.307 10.1257 14.625 10.125H16.875C17.1937 10.125 17.4611 10.233 17.6771 10.449C17.8931 10.665 18.0007 10.932 18 11.25V16.875C18 17.1937 17.892 17.4611 17.676 17.6771C17.46 17.8931 17.193 18.0007 16.875 18H14.625ZM7.875 18C7.55625 18 7.28925 17.892 7.074 17.676C6.85875 17.46 6.75075 17.193 6.75 16.875V1.125C6.75 0.80625 6.858 0.53925 7.074 0.324C7.29 0.10875 7.557 0.00075 7.875 0H10.125C10.4437 0 10.7111 0.108 10.9271 0.324C11.1431 0.54 11.2507 0.807 11.25 1.125V16.875C11.25 17.1937 11.142 17.4611 10.926 17.6771C10.71 17.8931 10.443 18.0007 10.125 18H7.875ZM1.125 18C0.80625 18 0.53925 17.892 0.324 17.676C0.10875 17.46 0.00075 17.193 0 16.875V6.75C0 6.43125 0.108 6.16425 0.324 5.949C0.54 5.73375 0.807 5.62575 1.125 5.625H3.375C3.69375 5.625 3.96112 5.733 4.17712 5.949C4.39312 6.165 4.50075 6.432 4.5 6.75V16.875C4.5 17.1937 4.392 17.4611 4.176 17.6771C3.96 17.8931 3.693 18.0007 3.375 18H1.125Z" fill="currentColor"/> +</svg> diff --git a/src/img/database.svg b/src/img/database.svg new file mode 100644 index 0000000000..f2a6cf7690 --- /dev/null +++ b/src/img/database.svg @@ -0,0 +1,3 @@ +<svg width="15" height="18" viewBox="0 0 15 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M0 3.97645C0 2.68583 1.02994 1.68641 2.30863 1.04707C3.62489 0.388939 5.39933 0 7.32505 0C9.25076 0 11.0252 0.388939 12.3415 1.04707C13.6202 1.68641 14.6501 2.68583 14.6501 3.97645V14.0222C14.6501 15.3129 13.6202 16.3123 12.3415 16.9516C11.0252 17.6097 9.25076 17.9987 7.32505 17.9987C5.39933 17.9987 3.62489 17.6097 2.30863 16.9516C1.02994 16.3123 0 15.3129 0 14.0222V3.97645ZM1.25572 3.97645C1.25572 3.4177 1.725 2.74282 2.87021 2.17022C3.97786 1.61639 5.55201 1.25572 7.32505 1.25572C9.09809 1.25572 10.6722 1.61639 11.7799 2.17022C12.9251 2.74282 13.3944 3.4177 13.3944 3.97645C13.3944 4.53521 12.9251 5.21009 11.7799 5.78269C10.6722 6.33652 9.09809 6.69719 7.32505 6.69719C5.55201 6.69719 3.97786 6.33652 2.87021 5.78269C1.725 5.21009 1.25572 4.53521 1.25572 3.97645ZM1.25572 14.0222C1.25572 14.581 1.725 15.2559 2.87021 15.8285C3.97786 16.3823 5.55201 16.743 7.32505 16.743C9.09809 16.743 10.6722 16.3823 11.7799 15.8285C12.9251 15.2559 13.3944 14.581 13.3944 14.0222V11.2657C13.079 11.5173 12.7212 11.7389 12.3415 11.9287C11.0252 12.5869 9.25076 12.9758 7.32505 12.9758C5.39933 12.9758 3.62489 12.5869 2.30863 11.9287C1.92891 11.7389 1.57112 11.5173 1.25572 11.2657V14.0222ZM13.3944 6.2428V8.99934C13.3944 9.5581 12.9251 10.233 11.7799 10.8056C10.6722 11.3594 9.09809 11.7201 7.32505 11.7201C5.55201 11.7201 3.97786 11.3594 2.87021 10.8056C1.725 10.233 1.25572 9.5581 1.25572 8.99934V6.2428C1.57112 6.49436 1.92891 6.71598 2.30863 6.90584C3.62489 7.56397 5.39933 7.95291 7.32505 7.95291C9.25076 7.95291 11.0252 7.56397 12.3415 6.90584C12.7212 6.71598 13.079 6.49436 13.3944 6.2428Z" fill="currentColor"/> +</svg> diff --git a/src/img/docs.svg b/src/img/docs.svg new file mode 100644 index 0000000000..76bc95bd70 --- /dev/null +++ b/src/img/docs.svg @@ -0,0 +1,3 @@ +<svg width="16" height="20" viewBox="0 0 16 20" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M5 11H11C11.2833 11 11.521 10.904 11.713 10.712C11.905 10.52 12.0007 10.2827 12 10C11.9993 9.71733 11.9033 9.48 11.712 9.288C11.5207 9.096 11.2833 9 11 9H5C4.71667 9 4.47933 9.096 4.288 9.288C4.09667 9.48 4.00067 9.71733 4 10C3.99933 10.2827 4.09533 10.5203 4.288 10.713C4.48067 10.9057 4.718 11.0013 5 11ZM5 14H11C11.2833 14 11.521 13.904 11.713 13.712C11.905 13.52 12.0007 13.2827 12 13C11.9993 12.7173 11.9033 12.48 11.712 12.288C11.5207 12.096 11.2833 12 11 12H5C4.71667 12 4.47933 12.096 4.288 12.288C4.09667 12.48 4.00067 12.7173 4 13C3.99933 13.2827 4.09533 13.5203 4.288 13.713C4.48067 13.9057 4.718 14.0013 5 14ZM5 17H8C8.28333 17 8.521 16.904 8.713 16.712C8.905 16.52 9.00067 16.2827 9 16C8.99933 15.7173 8.90333 15.48 8.712 15.288C8.52067 15.096 8.28333 15 8 15H5C4.71667 15 4.47933 15.096 4.288 15.288C4.09667 15.48 4.00067 15.7173 4 16C3.99933 16.2827 4.09533 16.5203 4.288 16.713C4.48067 16.9057 4.718 17.0013 5 17ZM2 20C1.45 20 0.979333 19.8043 0.588 19.413C0.196666 19.0217 0.000666667 18.5507 0 18V2C0 1.45 0.196 0.979333 0.588 0.588C0.98 0.196667 1.45067 0.000666667 2 0H9.175C9.44167 0 9.696 0.0500001 9.938 0.15C10.18 0.25 10.3923 0.391667 10.575 0.575L15.425 5.425C15.6083 5.60833 15.75 5.821 15.85 6.063C15.95 6.305 16 6.559 16 6.825V18C16 18.55 15.8043 19.021 15.413 19.413C15.0217 19.805 14.5507 20.0007 14 20H2ZM9 6C9 6.28333 9.096 6.521 9.288 6.713C9.48 6.905 9.71733 7.00067 10 7H14L9 2V6Z" fill="currentColor"/> +</svg> diff --git a/src/img/earn.svg b/src/img/earn.svg new file mode 100644 index 0000000000..517690e98a --- /dev/null +++ b/src/img/earn.svg @@ -0,0 +1,3 @@ +<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M14 10C14.2827 9.99934 14.5202 10.0954 14.7129 10.2881C14.9056 10.4808 15.0013 10.718 15 11V13H17C17.2833 13 17.5209 13.0961 17.7129 13.2881C17.9049 13.4801 18.0007 13.7173 18 14C17.9993 14.2827 17.9032 14.5202 17.7119 14.7129C17.5206 14.9056 17.2833 15.0013 17 15H15V17C15 17.2833 14.9039 17.5209 14.7119 17.7129C14.5199 17.9049 14.2827 18.0007 14 18C13.7173 17.9993 13.4801 17.9032 13.2881 17.7119C13.0961 17.5206 13 17.2833 13 17V15H11C10.7167 15 10.4794 14.9039 10.2881 14.7119C10.0968 14.5199 10.0007 14.2827 10 14C9.99933 13.7173 10.0954 13.4801 10.2881 13.2881C10.4808 13.0961 10.718 13 11 13H13V11C13 10.7167 13.0961 10.4794 13.2881 10.2881C13.4801 10.0968 13.7173 10.0007 14 10ZM9 3.16029e-06C10.232 -0.000663506 11.3949 0.104146 12.4883 0.31348C13.5813 0.522773 14.5351 0.8096 15.3496 1.17481C16.1643 1.54014 16.8108 1.96553 17.2881 2.4502C17.7653 2.93482 18.0027 3.45139 18 4C17.9973 4.54861 17.76 5.06518 17.2881 5.54981C16.8161 6.03447 16.1696 6.45987 15.3496 6.8252C14.5297 7.19042 13.5757 7.47852 12.4873 7.68848C11.3986 7.89848 10.236 8.002 9 8C7.58341 8 6.27514 7.87498 5.0752 7.625C3.87527 7.37502 2.84997 7.00868 2 6.52539V9.04981C2.56657 9.56638 3.25371 9.96668 4.06152 10.25C4.86952 10.5333 5.70786 10.7329 6.5752 10.8496C6.85844 10.883 7.0874 11.0003 7.2627 11.2002C7.43799 11.4002 7.52602 11.6416 7.52539 11.9248C7.52539 12.1915 7.43333 12.4213 7.25 12.6133C7.06672 12.8051 6.84173 12.8836 6.5752 12.8496C5.79195 12.7663 4.98362 12.6123 4.15039 12.3877C3.31713 12.1631 2.59997 11.876 2 11.5254V14C2.19999 14.3833 2.79993 14.7459 3.7998 15.0879C4.79972 15.4299 6.14981 15.6836 7.84961 15.8496C8.13286 15.8829 8.36277 16.0081 8.53809 16.2246C8.71334 16.4412 8.80039 16.6914 8.7998 16.9746C8.79914 17.2579 8.708 17.5002 8.52539 17.7002C8.34276 17.9002 8.10912 17.9912 7.8252 17.9746C6.7752 17.9413 5.77922 17.8163 4.83789 17.5996C4.7203 17.5725 4.60433 17.5449 4.49023 17.5156C3.69004 17.311 2.97621 17.0522 2.34961 16.7383C2.03032 16.5783 1.74097 16.406 1.47949 16.2246C1.22738 16.0499 1.00165 15.8664 0.803711 15.6719L0.637695 15.5C0.212456 15.0334 0 14.5333 0 14V4C1.87179e-06 3.45006 0.237658 2.93349 0.712891 2.4502C1.18822 1.96687 1.83439 1.54147 2.65039 1.17481C3.46621 0.80827 4.42037 0.52144 5.5127 0.31348C6.60536 0.10548 7.768 0.000669827 9 3.16029e-06ZM9 2C7.48339 2 5.99603 2.2124 4.53809 2.6377C3.08009 3.06303 2.234 3.52606 2 4.02539C2.25021 4.50861 3.12159 4.95842 4.61328 5.375C6.10519 5.79162 7.56742 6 9 6C10.4666 6 11.9543 5.78761 13.4629 5.36231C14.9712 4.93707 15.8171 4.49159 16 4.02637C15.8167 3.54308 14.9794 3.08467 13.4883 2.65137C11.9969 2.21804 10.5007 2.00067 9 2Z" fill="currentColor"/> +</svg> diff --git a/src/img/ecosystem.svg b/src/img/ecosystem.svg new file mode 100644 index 0000000000..cb32bbc276 --- /dev/null +++ b/src/img/ecosystem.svg @@ -0,0 +1,3 @@ +<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M5.4 7.2H1.8C1.305 7.2 0.8814 7.0239 0.5292 6.6717C0.177 6.3195 0.0006 5.8956 0 5.4V1.8C0 1.305 0.1764 0.8814 0.5292 0.5292C0.882 0.177 1.3056 0.0006 1.8 0H5.4C5.895 0 6.3189 0.1764 6.6717 0.5292C7.0245 0.882 7.2006 1.3056 7.2 1.8V5.4C7.2 5.895 7.0239 6.3189 6.6717 6.6717C6.3195 7.0245 5.8956 7.2006 5.4 7.2ZM5.4 18H1.8C1.305 18 0.8814 17.8239 0.5292 17.4717C0.177 17.1195 0.0006 16.6956 0 16.2V12.6C0 12.105 0.1764 11.6814 0.5292 11.3292C0.882 10.977 1.3056 10.8006 1.8 10.8H5.4C5.895 10.8 6.3189 10.9764 6.6717 11.3292C7.0245 11.682 7.2006 12.1056 7.2 12.6V16.2C7.2 16.695 7.0239 17.1189 6.6717 17.4717C6.3195 17.8245 5.8956 18.0006 5.4 18ZM16.2 7.2H12.6C12.105 7.2 11.6814 7.0239 11.3292 6.6717C10.977 6.3195 10.8006 5.8956 10.8 5.4V1.8C10.8 1.305 10.9764 0.8814 11.3292 0.5292C11.682 0.177 12.1056 0.0006 12.6 0H16.2C16.695 0 17.1189 0.1764 17.4717 0.5292C17.8245 0.882 18.0006 1.3056 18 1.8V5.4C18 5.895 17.8239 6.3189 17.4717 6.6717C17.1195 7.0245 16.6956 7.2006 16.2 7.2ZM16.2 18H12.6C12.105 18 11.6814 17.8239 11.3292 17.4717C10.977 17.1195 10.8006 16.6956 10.8 16.2V12.6C10.8 12.105 10.9764 11.6814 11.3292 11.3292C11.682 10.977 12.1056 10.8006 12.6 10.8H16.2C16.695 10.8 17.1189 10.9764 17.4717 11.3292C17.8245 11.682 18.0006 12.1056 18 12.6V16.2C18 16.695 17.8239 17.1189 17.4717 17.4717C17.1195 17.8245 16.6956 18.0006 16.2 18Z" fill="currentColor"/> +</svg> diff --git a/src/img/ic_arrowleft16.svg b/src/img/ic_arrowleft16.svg deleted file mode 100644 index 783fe8e1d5..0000000000 --- a/src/img/ic_arrowleft16.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> - <g id="ic_arrowleft16" transform="translate(-494.25 -372.25)"> - <rect id="Rectangle_486" data-name="Rectangle 486" width="16" height="16" transform="translate(494.25 372.25)" fill="rgba(255,255,255,0)"/> - <path id="Path_4460" data-name="Path 4460" d="M5.906,0a1.089,1.089,0,0,1-.794-.342L1.175-4.5a1.092,1.092,0,0,1,0-1.5l3.937-4.156A1.091,1.091,0,0,1,6.659-10.2,1.093,1.093,0,0,1,6.7-8.654L3.475-5.25,6.7-1.846A1.093,1.093,0,0,1,6.659-.3,1.089,1.089,0,0,1,5.906,0Z" transform="translate(498.313 385.5)" fill="#a0a3c4"/> - </g> -</svg> diff --git a/src/img/ic_calendar.svg b/src/img/ic_calendar.svg index 91a94bd2c8..3807383a61 100644 --- a/src/img/ic_calendar.svg +++ b/src/img/ic_calendar.svg @@ -1,6 +1,9 @@ -<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> - <path d="M4.99999 10V8H7.99999V10H4.99999Z" fill="white" /> - <path fill-rule="evenodd" clip-rule="evenodd" - d="M6.49999 2H4.49999V3.60001H3.15987L3.1555 3.6C2.97855 3.5994 2.80536 3.62774 2.64588 3.709C2.45772 3.80488 2.30474 3.95786 2.20887 4.14602C2.12761 4.3055 2.09926 4.47869 2.09986 4.65564L2.09987 4.66001V13.34L2.09986 13.3444C2.09926 13.5213 2.12761 13.6945 2.20887 13.854C2.30474 14.0422 2.45772 14.1951 2.64588 14.291C2.80536 14.3723 2.97855 14.4006 3.1555 14.4L3.15987 14.4H12.8399L12.8442 14.4C13.0212 14.4006 13.1944 14.3723 13.3539 14.291C13.542 14.1951 13.695 14.0422 13.7909 13.854C13.8721 13.6945 13.9005 13.5213 13.8999 13.3444L13.8999 13.34V4.66001L13.8999 4.65564C13.9005 4.47869 13.8721 4.30549 13.7909 4.14602C13.695 3.95786 13.542 3.80488 13.3539 3.709C13.1944 3.62774 13.0212 3.5994 12.8442 3.6L12.8399 3.60001H11.5V2H9.49999V3.60001H6.49999V2ZM3.89987 6.75L12.0999 6.75V12.6H3.89987V6.75Z" - fill="white" /> -</svg> \ No newline at end of file +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M6.66683 2.66699V3.16699H9.3335V2.66699V2.16699H6.66683V2.66699ZM14.6668 8.00033H14.1668V9.33366H14.6668H15.1668V8.00033H14.6668ZM9.3335 14.667V14.167H6.66683V14.667V15.167H9.3335V14.667ZM1.3335 9.33366H1.8335V8.00033H1.3335H0.833496V9.33366H1.3335ZM6.66683 14.667V14.167C5.39562 14.167 4.4925 14.1659 3.8074 14.0738C3.13667 13.9836 2.75024 13.8145 2.4681 13.5324L2.11454 13.8859L1.76099 14.2395C2.2599 14.7384 2.89253 14.9598 3.67415 15.0649C4.44138 15.1681 5.42389 15.167 6.66683 15.167V14.667ZM1.3335 9.33366H0.833496C0.833496 10.5766 0.832434 11.5591 0.935586 12.3263C1.04067 13.108 1.26208 13.7406 1.76099 14.2395L2.11454 13.8859L2.4681 13.5324C2.18596 13.2502 2.01685 12.8638 1.92667 12.1931C1.83456 11.508 1.8335 10.6049 1.8335 9.33366H1.3335ZM14.6668 9.33366H14.1668C14.1668 10.6049 14.1658 11.508 14.0737 12.1931C13.9835 12.8638 13.8144 13.2502 13.5322 13.5324L13.8858 13.8859L14.2393 14.2395C14.7382 13.7406 14.9597 13.108 15.0647 12.3263C15.1679 11.5591 15.1668 10.5766 15.1668 9.33366H14.6668ZM9.3335 14.667V15.167C10.5764 15.167 11.5589 15.1681 12.3262 15.0649C13.1078 14.9598 13.7404 14.7384 14.2393 14.2395L13.8858 13.8859L13.5322 13.5324C13.2501 13.8145 12.8637 13.9836 12.1929 14.0738C11.5078 14.1659 10.6047 14.167 9.3335 14.167V14.667ZM9.3335 2.66699V3.16699C10.6047 3.16699 11.5078 3.16805 12.1929 3.26016C12.8637 3.35034 13.2501 3.51945 13.5322 3.80159L13.8858 3.44804L14.2393 3.09449C13.7404 2.59558 13.1078 2.37417 12.3262 2.26908C11.5589 2.16593 10.5764 2.16699 9.3335 2.16699V2.66699ZM14.6668 8.00033H15.1668C15.1668 6.75738 15.1679 5.77487 15.0647 5.00764C14.9597 4.22603 14.7382 3.5934 14.2393 3.09449L13.8858 3.44804L13.5322 3.80159C13.8144 4.08373 13.9835 4.47017 14.0737 5.14089C14.1658 5.826 14.1668 6.72911 14.1668 8.00033H14.6668ZM6.66683 2.66699V2.16699C5.42389 2.16699 4.44138 2.16593 3.67415 2.26908C2.89253 2.37417 2.2599 2.59558 1.76099 3.09449L2.11454 3.44804L2.4681 3.80159C2.75024 3.51945 3.13667 3.35034 3.8074 3.26016C4.4925 3.16805 5.39562 3.16699 6.66683 3.16699V2.66699ZM1.3335 8.00033H1.8335C1.8335 6.72911 1.83456 5.826 1.92667 5.14089C2.01685 4.47017 2.18596 4.08373 2.4681 3.80159L2.11454 3.44804L1.76099 3.09449C1.26208 3.5934 1.04067 4.22603 0.935586 5.00764C0.832434 5.77487 0.833496 6.75738 0.833496 8.00033H1.3335Z" + fill="currentColor" /> + <path d="M4.6665 2.66699V1.66699" stroke="currentColor" stroke-linecap="round" /> + <path d="M11.3335 2.66699V1.66699" stroke="currentColor" stroke-linecap="round" /> + <path d="M1.6665 6H14.3332" stroke="currentColor" stroke-linecap="round" /> +</svg> + diff --git a/src/img/ic_chevron_edge_left.svg b/src/img/ic_chevron_edge_left.svg new file mode 100644 index 0000000000..8de7923466 --- /dev/null +++ b/src/img/ic_chevron_edge_left.svg @@ -0,0 +1,4 @@ +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M12 3L7 8L12 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" /> + <path d="M4 3L4 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" /> +</svg> diff --git a/src/img/ic_chevron_edge_right.svg b/src/img/ic_chevron_edge_right.svg new file mode 100644 index 0000000000..a7d6517c9c --- /dev/null +++ b/src/img/ic_chevron_edge_right.svg @@ -0,0 +1,4 @@ +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M4 3L9 8L4 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" /> + <path d="M12 3L12 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" /> +</svg> diff --git a/src/img/ic_chevron_left.svg b/src/img/ic_chevron_left.svg new file mode 100644 index 0000000000..2943a4f93e --- /dev/null +++ b/src/img/ic_chevron_left.svg @@ -0,0 +1,3 @@ +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M10 3L5 8L10 13" stroke="#A0A3C4" stroke-width="1.5" stroke-linecap="round"/> +</svg> diff --git a/src/img/ic_copy_20.svg b/src/img/ic_copy_20.svg index da1f0bbac6..3e600237ee 100644 --- a/src/img/ic_copy_20.svg +++ b/src/img/ic_copy_20.svg @@ -1,5 +1,7 @@ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> -<g id="copy"> -<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M4.9999 2.90039C3.8401 2.90039 2.8999 3.84059 2.8999 5.00039V11.0004C2.8999 12.1602 3.8401 13.1004 4.9999 13.1004C5.33127 13.1004 5.5999 12.8318 5.5999 12.5004C5.5999 12.169 5.33127 11.9004 4.9999 11.9004C4.50285 11.9004 4.0999 11.4974 4.0999 11.0004V5.00039C4.0999 4.50333 4.50285 4.10039 4.9999 4.10039H10.9999C11.497 4.10039 11.8999 4.50333 11.8999 5.00039C11.8999 5.33176 12.1685 5.60039 12.4999 5.60039C12.8313 5.60039 13.0999 5.33176 13.0999 5.00039C13.0999 3.84059 12.1597 2.90039 10.9999 2.90039H4.9999ZM8.9999 6.90039C7.8401 6.90039 6.8999 7.84059 6.8999 9.00039V15.0004C6.8999 16.1602 7.8401 17.1004 8.9999 17.1004H14.9999C16.1597 17.1004 17.0999 16.1602 17.0999 15.0004V9.00039C17.0999 7.84059 16.1597 6.90039 14.9999 6.90039H8.9999ZM8.0999 9.00039C8.0999 8.50333 8.50285 8.10039 8.9999 8.10039H14.9999C15.497 8.10039 15.8999 8.50333 15.8999 9.00039V15.0004C15.8999 15.4974 15.497 15.9004 14.9999 15.9004H8.9999C8.50285 15.9004 8.0999 15.4974 8.0999 15.0004V9.00039Z" fill="#9EA4C2"/> -</g> + <g id="copy"> + <path id="Union" fill-rule="evenodd" clip-rule="evenodd" + d="M4.9999 2.90039C3.8401 2.90039 2.8999 3.84059 2.8999 5.00039V11.0004C2.8999 12.1602 3.8401 13.1004 4.9999 13.1004C5.33127 13.1004 5.5999 12.8318 5.5999 12.5004C5.5999 12.169 5.33127 11.9004 4.9999 11.9004C4.50285 11.9004 4.0999 11.4974 4.0999 11.0004V5.00039C4.0999 4.50333 4.50285 4.10039 4.9999 4.10039H10.9999C11.497 4.10039 11.8999 4.50333 11.8999 5.00039C11.8999 5.33176 12.1685 5.60039 12.4999 5.60039C12.8313 5.60039 13.0999 5.33176 13.0999 5.00039C13.0999 3.84059 12.1597 2.90039 10.9999 2.90039H4.9999ZM8.9999 6.90039C7.8401 6.90039 6.8999 7.84059 6.8999 9.00039V15.0004C6.8999 16.1602 7.8401 17.1004 8.9999 17.1004H14.9999C16.1597 17.1004 17.0999 16.1602 17.0999 15.0004V9.00039C17.0999 7.84059 16.1597 6.90039 14.9999 6.90039H8.9999ZM8.0999 9.00039C8.0999 8.50333 8.50285 8.10039 8.9999 8.10039H14.9999C15.497 8.10039 15.8999 8.50333 15.8999 9.00039V15.0004C15.8999 15.4974 15.497 15.9004 14.9999 15.9004H8.9999C8.50285 15.9004 8.0999 15.4974 8.0999 15.0004V9.00039Z" + fill="currentColor" /> + </g> </svg> diff --git a/src/img/ic_discord.svg b/src/img/ic_discord.svg index 55f1240f81..6404ce9e58 100644 --- a/src/img/ic_discord.svg +++ b/src/img/ic_discord.svg @@ -1 +1,3 @@ -<svg height="27" viewBox="0 0 23.625 27" width="23.625" xmlns="http://www.w3.org/2000/svg"><path d="m15.673-10.8a1.438 1.438 0 0 0 -1.373-1.5 1.438 1.438 0 0 0 -1.377 1.5 1.447 1.447 0 0 0 1.377 1.5 1.438 1.438 0 0 0 1.373-1.5zm-6.3-1.5a1.438 1.438 0 0 0 -1.377 1.5 1.447 1.447 0 0 0 1.373 1.5 1.438 1.438 0 0 0 1.377-1.5 1.43 1.43 0 0 0 -1.377-1.5zm14.256-8.545a2.774 2.774 0 0 0 -2.768-2.781h-18.093a2.774 2.774 0 0 0 -2.768 2.782v18.252a2.774 2.774 0 0 0 2.768 2.781h15.309l-.716-2.5c3.951 3.673 2.863 2.678 6.264 5.684zm-3.847 12.8a4.935 4.935 0 0 1 -4.131 2.052s-.486-.58-.891-1.094a4.26 4.26 0 0 0 2.44-1.607 7.724 7.724 0 0 1 -1.552.8 9.841 9.841 0 0 1 -8.426-.476c-.027-.018-.355-.2-.554-.338a4.2 4.2 0 0 0 2.363 1.593c-.4.513-.9 1.121-.9 1.121a4.895 4.895 0 0 1 -4.121-2.052 18.079 18.079 0 0 1 1.944-7.871 6.676 6.676 0 0 1 3.793-1.417l.135.162a9.107 9.107 0 0 0 -3.55 1.772s.3-.162.8-.391a11.471 11.471 0 0 1 10.085.391 8.985 8.985 0 0 0 -3.362-1.715l.189-.216a6.676 6.676 0 0 1 3.793 1.417 18.079 18.079 0 0 1 1.941 7.868z" fill="#a0a3c4" transform="translate(0 23.625)"/></svg> +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M13.5535 2.84197C12.5178 2.35739 11.4104 2.00522 10.2526 1.80469C10.1104 2.06176 9.94429 2.40753 9.82976 2.68259C8.599 2.4975 7.37956 2.4975 6.17144 2.68259C6.05693 2.40753 5.88704 2.06176 5.74357 1.80469C4.58454 2.00522 3.47584 2.35869 2.44013 2.84454C0.351095 6.00134 -0.215207 9.07974 0.0679444 12.1144C1.4535 13.1491 2.79627 13.7777 4.11638 14.189C4.44233 13.7404 4.73302 13.2635 4.98345 12.761C4.5065 12.5797 4.04969 12.3561 3.61805 12.0964C3.73256 12.0116 3.84457 11.9229 3.95279 11.8316C6.58546 13.063 9.44593 13.063 12.0472 11.8316C12.1566 11.9229 12.2686 12.0116 12.3819 12.0964C11.949 12.3573 11.4909 12.581 11.014 12.7622C11.2644 13.2635 11.5538 13.7417 11.881 14.1902C13.2024 13.7789 14.5464 13.1504 15.932 12.1144C16.2642 8.59645 15.3644 5.54633 13.5535 2.84197ZM5.34212 10.2481C4.55181 10.2481 3.9037 9.51032 3.9037 8.61187C3.9037 7.71341 4.53797 6.97435 5.34212 6.97435C6.14628 6.97435 6.79437 7.71212 6.78053 8.61187C6.78178 9.51032 6.14628 10.2481 5.34212 10.2481ZM10.6578 10.2481C9.86752 10.2481 9.21941 9.51032 9.21941 8.61187C9.21941 7.71341 9.85366 6.97435 10.6578 6.97435C11.462 6.97435 12.1101 7.71212 12.0962 8.61187C12.0962 9.51032 11.462 10.2481 10.6578 10.2481Z" fill="currentColor"/> +</svg> diff --git a/src/img/ic_download2.svg b/src/img/ic_download2.svg new file mode 100644 index 0000000000..da845457d4 --- /dev/null +++ b/src/img/ic_download2.svg @@ -0,0 +1,15 @@ +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> + <g clip-path="url(#clip0_3046_27227)"> + <path d="M8 4.66699L8 9.33366M8 9.33366L10 7.33366M8 9.33366L6 7.33366" stroke="currentColor" + stroke-linecap="round" stroke-linejoin="round" /> + <path d="M10.6668 11.333H8.00016H5.3335" stroke="currentColor" /> + <path + d="M8.00016 14.6663V14.1663C6.41468 14.1663 5.27587 14.1653 4.40921 14.0488C3.55695 13.9342 3.04313 13.7162 2.66336 13.3365L2.30981 13.69L1.95625 14.0436C2.55279 14.6401 3.31281 14.9104 4.27597 15.0398C5.22474 15.1674 6.44295 15.1663 8.00016 15.1663V14.6663ZM1.3335 7.99967H0.833496C0.833496 9.55689 0.832434 10.7751 0.959994 11.7239C1.08949 12.687 1.35971 13.447 1.95625 14.0436L2.30981 13.69L2.66336 13.3365C2.28359 12.9567 2.06566 12.4429 1.95108 11.5906C1.83456 10.724 1.8335 9.58516 1.8335 7.99967H1.3335ZM14.6668 7.99967H14.1668C14.1668 9.58516 14.1658 10.724 14.0492 11.5906C13.9347 12.4429 13.7167 12.9567 13.337 13.3365L13.6905 13.69L14.0441 14.0436C14.6406 13.447 14.9108 12.687 15.0403 11.7239C15.1679 10.7751 15.1668 9.55689 15.1668 7.99967H14.6668ZM8.00016 14.6663V15.1663C9.55738 15.1663 10.7756 15.1674 11.7244 15.0398C12.6875 14.9104 13.4475 14.6401 14.0441 14.0436L13.6905 13.69L13.337 13.3365C12.9572 13.7162 12.4434 13.9342 11.5911 14.0488C10.7245 14.1653 9.58565 14.1663 8.00016 14.1663V14.6663ZM8.00016 1.33301V1.83301C9.58565 1.83301 10.7245 1.83407 11.5911 1.95059C12.4434 2.06517 12.9572 2.2831 13.337 2.66287L13.6905 2.30932L14.0441 1.95577C13.4475 1.35923 12.6875 1.089 11.7244 0.959505C10.7756 0.831946 9.55738 0.833008 8.00016 0.833008V1.33301ZM14.6668 7.99967H15.1668C15.1668 6.44246 15.1679 5.22425 15.0403 4.27548C14.9108 3.31232 14.6406 2.55231 14.0441 1.95577L13.6905 2.30932L13.337 2.66287C13.7167 3.04264 13.9347 3.55646 14.0492 4.40873C14.1658 5.27538 14.1668 6.41419 14.1668 7.99967H14.6668ZM8.00016 1.33301V0.833008C6.44295 0.833008 5.22474 0.831946 4.27597 0.959505C3.31281 1.089 2.55279 1.35923 1.95625 1.95577L2.30981 2.30932L2.66336 2.66287C3.04313 2.2831 3.55695 2.06517 4.40921 1.95059C5.27587 1.83407 6.41468 1.83301 8.00016 1.83301V1.33301ZM1.3335 7.99967H1.8335C1.8335 6.41419 1.83456 5.27538 1.95108 4.40873C2.06566 3.55646 2.28359 3.04264 2.66336 2.66287L2.30981 2.30932L1.95625 1.95577C1.35971 2.55231 1.08949 3.31232 0.959994 4.27548C0.832434 5.22425 0.833496 6.44246 0.833496 7.99967H1.3335Z" + fill="currentColor" /> + </g> + <defs> + <clipPath id="clip0_3046_27227"> + <rect width="16" height="16" rx="5" fill="white" /> + </clipPath> + </defs> +</svg> diff --git a/src/img/ic_edit.svg b/src/img/ic_edit.svg new file mode 100644 index 0000000000..0e7e1e9ea7 --- /dev/null +++ b/src/img/ic_edit.svg @@ -0,0 +1,5 @@ +<svg viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M8.59236 5.87977L4.36287 10.1093C4.08263 10.3895 3.72483 10.5791 3.33552 10.6532L2.94294 10.7284C2.24993 10.86 1.64207 10.2515 1.774 9.55848L1.84822 9.16688C1.92234 8.77751 2.11189 8.41883 2.39216 8.13856L6.62166 3.90907L8.59236 5.87977ZM8.12068 2.41102C8.66478 1.86722 9.5463 1.86723 10.0904 2.41102C10.6346 2.9552 10.6346 3.83755 10.0904 4.38172L9.65291 4.81922L7.6822 2.84852L8.12068 2.41102Z" + fill="currentColor" /> +</svg> diff --git a/src/img/ic_express.svg b/src/img/ic_express.svg index 96120d38be..bf803f4e04 100644 --- a/src/img/ic_express.svg +++ b/src/img/ic_express.svg @@ -1,3 +1,5 @@ -<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path fill-rule="evenodd" clip-rule="evenodd" d="M16.2853 4.13058C16.3449 3.86241 16.2147 3.58802 15.9693 3.4645C15.724 3.34097 15.426 3.39987 15.2461 3.60746L8.7462 11.1075C8.59235 11.285 8.55625 11.536 8.65382 11.7496C8.7514 11.9633 8.9647 12.1004 9.19961 12.1004H11.9516L11.1138 15.8703C11.0542 16.1384 11.1844 16.4128 11.4298 16.5363C11.6751 16.6599 11.973 16.601 12.153 16.3934L18.6529 8.89338C18.8068 8.71586 18.8429 8.46488 18.7453 8.2512C18.6477 8.03751 18.4344 7.90042 18.1995 7.90042H15.4475L16.2853 4.13058ZM12.6995 10.9004H10.5136L14.5992 6.18622L14.1138 8.37026C14.0744 8.54792 14.1176 8.7339 14.2315 8.87586C14.3454 9.01782 14.5176 9.10042 14.6995 9.10042H16.8855L12.7999 13.8146L13.2853 11.6306C13.3247 11.4529 13.2814 11.2669 13.1676 11.125C13.0537 10.983 12.8815 10.9004 12.6995 10.9004ZM3.6 6.30039C3.26863 6.30039 3 6.56902 3 6.90039C3 7.23176 3.26863 7.50039 3.6 7.50039H9.6C9.93137 7.50039 10.2 7.23176 10.2 6.90039C10.2 6.56902 9.93137 6.30039 9.6 6.30039H3.6ZM0.6 9.80039C0.268629 9.80039 0 10.069 0 10.4004C0 10.7318 0.268629 11.0004 0.6 11.0004H6.1C6.43137 11.0004 6.7 10.7318 6.7 10.4004C6.7 10.069 6.43137 9.80039 6.1 9.80039H0.6ZM3.1 13.3004C2.76863 13.3004 2.5 13.569 2.5 13.9004C2.5 14.2318 2.76863 14.5004 3.1 14.5004H7.1C7.43137 14.5004 7.7 14.2318 7.7 13.9004C7.7 13.569 7.43137 13.3004 7.1 13.3004H3.1Z" fill="white"/> +<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M16.2853 4.13058C16.3449 3.86241 16.2147 3.58802 15.9693 3.4645C15.724 3.34097 15.426 3.39987 15.2461 3.60746L8.7462 11.1075C8.59235 11.285 8.55625 11.536 8.65382 11.7496C8.7514 11.9633 8.9647 12.1004 9.19961 12.1004H11.9516L11.1138 15.8703C11.0542 16.1384 11.1844 16.4128 11.4298 16.5363C11.6751 16.6599 11.973 16.601 12.153 16.3934L18.6529 8.89338C18.8068 8.71586 18.8429 8.46488 18.7453 8.2512C18.6477 8.03751 18.4344 7.90042 18.1995 7.90042H15.4475L16.2853 4.13058ZM12.6995 10.9004H10.5136L14.5992 6.18622L14.1138 8.37026C14.0744 8.54792 14.1176 8.7339 14.2315 8.87586C14.3454 9.01782 14.5176 9.10042 14.6995 9.10042H16.8855L12.7999 13.8146L13.2853 11.6306C13.3247 11.4529 13.2814 11.2669 13.1676 11.125C13.0537 10.983 12.8815 10.9004 12.6995 10.9004ZM3.6 6.30039C3.26863 6.30039 3 6.56902 3 6.90039C3 7.23176 3.26863 7.50039 3.6 7.50039H9.6C9.93137 7.50039 10.2 7.23176 10.2 6.90039C10.2 6.56902 9.93137 6.30039 9.6 6.30039H3.6ZM0.6 9.80039C0.268629 9.80039 0 10.069 0 10.4004C0 10.7318 0.268629 11.0004 0.6 11.0004H6.1C6.43137 11.0004 6.7 10.7318 6.7 10.4004C6.7 10.069 6.43137 9.80039 6.1 9.80039H0.6ZM3.1 13.3004C2.76863 13.3004 2.5 13.569 2.5 13.9004C2.5 14.2318 2.76863 14.5004 3.1 14.5004H7.1C7.43137 14.5004 7.7 14.2318 7.7 13.9004C7.7 13.569 7.43137 13.3004 7.1 13.3004H3.1Z" + fill="currentColor" /> </svg> diff --git a/src/img/ic_feedback.svg b/src/img/ic_feedback.svg new file mode 100644 index 0000000000..d92434d114 --- /dev/null +++ b/src/img/ic_feedback.svg @@ -0,0 +1,4 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M2 14V3.2C2 2.87 2.1176 2.5876 2.3528 2.3528C2.588 2.118 2.8704 2.0004 3.2 2H9.26C9.22 2.2 9.2 2.4 9.2 2.6C9.2 2.8 9.22 3 9.26 3.2C9.31 3.43 9.38 3.645 9.47 3.845C9.56 4.045 9.67 4.23 9.8 4.4H5C4.66863 4.4 4.4 4.66863 4.4 5C4.4 5.33137 4.66863 5.6 5 5.6H12.2C12.52 5.6 12.835 5.55 13.145 5.45C13.455 5.35 13.74 5.2 14 5V10.4C14 10.73 13.8826 11.0126 13.6478 11.2478C13.413 11.483 13.1304 11.6004 12.8 11.6H4.4L2 14ZM4.4 6.8C4.4 7.13137 4.66863 7.4 5 7.4H11C11.3314 7.4 11.6 7.13137 11.6 6.8C11.6 6.46863 11.3314 6.2 11 6.2H5C4.66863 6.2 4.4 6.46863 4.4 6.8ZM4.4 8.6C4.4 8.93137 4.66863 9.2 5 9.2H8.6C8.93137 9.2 9.2 8.93137 9.2 8.6C9.2 8.26863 8.93137 8 8.6 8H5C4.66863 8 4.4 8.26863 4.4 8.6Z" fill="currentColor"/> +<path d="M11.1526 3.51519C11.4767 3.83926 11.8702 4.0013 12.3332 4.0013C12.7961 4.0013 13.1897 3.83926 13.5137 3.51519C13.8378 3.19112 13.9998 2.7976 13.9998 2.33464C13.9998 1.87167 13.8378 1.47815 13.5137 1.15408C13.1897 0.830006 12.7961 0.667969 12.3332 0.667969C11.8702 0.667969 11.4767 0.830006 11.1526 1.15408C10.8285 1.47815 10.6665 1.87167 10.6665 2.33464C10.6665 2.7976 10.8285 3.19112 11.1526 3.51519Z" fill="#7885FF"/> +</svg> diff --git a/src/img/ic_filter.svg b/src/img/ic_filter.svg index 0c720807e5..d858b90d3c 100644 --- a/src/img/ic_filter.svg +++ b/src/img/ic_filter.svg @@ -1,4 +1,6 @@ -<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> - <path fill-rule="evenodd" clip-rule="evenodd" - d="M9.15388 8.38456V12L6.84619 14V8.38467L3 3H13L9.15388 8.38456Z" fill="currentColor" /> -</svg> \ No newline at end of file +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M11.5 4H4.5C3.79289 4 3.43934 4 3.21967 4.1832C3 4.3664 3 4.66125 3 5.25096V5.55755C3 6.01881 3 6.24944 3.1298 6.44063C3.2596 6.63182 3.49674 6.75048 3.97101 6.9878L5.42752 7.71661C5.74573 7.87584 5.90483 7.95545 6.01876 8.04337C6.25599 8.22644 6.40204 8.44156 6.46822 8.70541C6.5 8.83211 6.5 8.98036 6.5 9.27686L6.5 10.4633C6.5 10.8675 6.5 11.0697 6.62596 11.2272C6.75192 11.3848 6.97564 11.4625 7.42308 11.618C8.36239 11.9444 8.83205 12.1076 9.16603 11.9219C9.5 11.7363 9.5 11.3119 9.5 10.4633V9.27686C9.5 8.98036 9.5 8.83211 9.53178 8.70541C9.59796 8.44156 9.74401 8.22644 9.98124 8.04337C10.0952 7.95545 10.2543 7.87584 10.5725 7.71661L12.029 6.9878C12.5033 6.75048 12.7404 6.63182 12.8702 6.44063C13 6.24944 13 6.01881 13 5.55755V5.25096C13 4.66125 13 4.3664 12.7803 4.1832C12.5607 4 12.2071 4 11.5 4Z" + fill="currentColor" /> +</svg> + diff --git a/src/img/ic_github.svg b/src/img/ic_github.svg index 2c1526a887..8937b7dd7c 100644 --- a/src/img/ic_github.svg +++ b/src/img/ic_github.svg @@ -1 +1,10 @@ -<svg height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h32v32h-32z" fill="none"/><path d="m8.749-2.668c0-.121-.137-.206-.3-.19-.153 0-.274.084-.274.19 0 .121.121.206.3.19.152-.001.274-.085.274-.19zm-1.64-.237c-.037.105.069.227.227.258a.247.247 0 0 0 .327-.105c.032-.105-.069-.227-.227-.274a.271.271 0 0 0 -.327.12zm2.33-.095c-.153.037-.258.137-.243.258.016.105.153.174.311.137s.258-.137.243-.243-.158-.163-.311-.152zm3.47-20.2a12.645 12.645 0 0 0 -12.909 12.864 13.221 13.221 0 0 0 8.938 12.614c.675.121.912-.3.912-.638 0-.327-.016-2.13-.016-3.238 0 0-3.691.791-4.467-1.571 0 0-.6-1.535-1.466-1.93 0 0-1.208-.828.084-.812a2.784 2.784 0 0 1 2.037 1.36 2.788 2.788 0 0 0 3.844 1.1 2.931 2.931 0 0 1 .844-1.777c-2.948-.327-5.922-.754-5.922-5.827a4 4 0 0 1 1.245-3.106 4.982 4.982 0 0 1 .137-3.579c1.1-.343 3.639 1.424 3.639 1.424a12.391 12.391 0 0 1 3.312-.448 12.391 12.391 0 0 1 3.312.448s2.537-1.772 3.639-1.424a4.98 4.98 0 0 1 .137 3.581 4.1 4.1 0 0 1 1.361 3.106c0 5.089-3.106 5.495-6.054 5.827a3.118 3.118 0 0 1 .9 2.447c-.005 1.779-.016 3.979-.016 4.409 0 .343.243.759.912.638a13.1 13.1 0 0 0 8.849-12.6 12.93 12.93 0 0 0 -13.252-12.868zm-7.783 18.185c-.069.053-.053.174.037.274.084.084.206.121.274.053.069-.053.053-.174-.037-.274-.084-.085-.206-.122-.274-.053zm-.57-.427c-.037.069.016.153.121.206a.157.157 0 0 0 .223-.037c.037-.069-.016-.153-.121-.206-.101-.032-.186-.016-.223.037zm1.709 1.877c-.084.069-.053.227.069.327.121.121.274.137.343.053.069-.069.037-.227-.069-.327-.116-.121-.275-.137-.343-.053zm-.6-.775c-.084.053-.084.19 0 .311s.227.174.3.121a.241.241 0 0 0 0-.327c-.08-.121-.217-.174-.301-.105z" fill="#a0a3c4" transform="translate(3 26.203)"/></svg> +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g clip-path="url(#clip0_1226_20843)"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M7.9997 0.198013C3.58232 0.198013 0 3.77974 0 8.19769C0 11.7325 2.29195 14.7301 5.47065 15.7884C5.87075 15.8625 6.0178 15.6145 6.0178 15.4031C6.0178 15.2123 6.00983 14.5822 6.00658 13.9143C3.78078 14.3983 3.31157 12.97 3.31157 12.97C2.94777 12.0452 2.42335 11.7992 2.42335 11.7992C1.69755 11.3022 2.47857 11.3132 2.47857 11.3132C3.28172 11.3693 3.70458 12.137 3.70458 12.137C4.41857 13.3601 5.57665 13.006 6.03285 12.802C6.1049 12.2849 6.3116 11.9318 6.54073 11.7319C4.76372 11.5302 2.8958 10.844 2.8958 7.77839C2.8958 6.90524 3.2088 6.19126 3.71992 5.63139C3.63667 5.42944 3.36265 4.61624 3.797 3.51454C3.797 3.51454 4.46875 3.29929 5.99773 4.33454C6.63553 4.15766 7.31967 4.06849 7.99913 4.06554C8.67912 4.06849 9.36448 4.15736 10.0032 4.33454C11.5301 3.29989 12.2012 3.51454 12.2012 3.51454C12.6362 4.61654 12.3633 5.43031 12.2801 5.63141C12.793 6.19126 13.1033 6.90524 13.1033 7.77839C13.1033 10.8511 11.2312 11.5266 9.4504 11.7248C9.73742 11.9728 9.99372 12.4597 9.99372 13.2056C9.99372 14.2754 9.98458 15.1376 9.98458 15.4007C9.98458 15.6136 10.1287 15.8625 10.5344 15.7846C13.7113 14.7257 16.0003 11.7277 16.0003 8.19501C16.0003 3.77764 12.4186 0.195312 8.0003 0.195312L7.99973 0.197988L7.9997 0.198013Z" fill="currentColor"/> +</g> +<defs> +<clipPath id="clip0_1226_20843"> +<rect width="16" height="16" fill="white"/> +</clipPath> +</defs> +</svg> diff --git a/src/img/ic_hourglass.svg b/src/img/ic_hourglass.svg index f743b68bab..4ab5677e0f 100644 --- a/src/img/ic_hourglass.svg +++ b/src/img/ic_hourglass.svg @@ -1,3 +1,5 @@ -<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> - <path d="M14.3086 1.90723C14.6366 1.93986 14.9455 2.0842 15.1807 2.31934C15.4494 2.58806 15.5995 2.95298 15.5996 3.33301V5C15.5996 6.48521 15.0102 7.90976 13.96 8.95996C13.5344 9.38555 13.0462 9.73333 12.5186 9.99902C13.0465 10.2648 13.5342 10.6142 13.96 11.04C15.0102 12.0902 15.5996 13.5148 15.5996 15V16.667C15.5995 17.047 15.4494 17.4119 15.1807 17.6807C14.9119 17.9494 14.547 18.0995 14.167 18.0996H5.83301C5.45298 18.0995 5.08806 17.9494 4.81934 17.6807C4.55061 17.4119 4.40048 17.047 4.40039 16.667V15C4.40039 13.5148 4.98984 12.0902 6.04004 11.04C6.46574 10.6143 6.95363 10.2657 7.48145 10C6.95363 9.73428 6.46574 9.38566 6.04004 8.95996C5.0554 7.97532 4.47582 6.66157 4.40723 5.27734L4.40039 5V3.33301C4.40048 2.95298 4.55061 2.58806 4.81934 2.31934C5.08806 2.05061 5.45298 1.90048 5.83301 1.90039H14.167L14.3086 1.90723ZM10 10.5996C8.83305 10.5996 7.71383 11.0635 6.88867 11.8887C6.30355 12.4738 5.90105 13.207 5.71582 14H14.2842C14.0991 13.207 13.6965 12.4738 13.1113 11.8887C12.3376 11.115 11.3054 10.6593 10.2178 10.6055L10 10.5996ZM5.83301 3.09961C5.77124 3.0997 5.71165 3.12429 5.66797 3.16797C5.62429 3.21165 5.5997 3.27124 5.59961 3.33301V5L5.60547 5.21777C5.65933 6.30544 6.11499 7.33764 6.88867 8.11133C7.71383 8.93649 8.83305 9.40039 10 9.40039C11.167 9.40039 12.2862 8.93649 13.1113 8.11133C13.9365 7.28617 14.4004 6.16695 14.4004 5V3.33301C14.4003 3.27124 14.3757 3.21165 14.332 3.16797C14.2991 3.13503 14.2569 3.1134 14.2119 3.10449L14.167 3.09961H5.83301Z" fill="#fff"/> +<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M14.3086 1.90723C14.6366 1.93986 14.9455 2.0842 15.1807 2.31934C15.4494 2.58806 15.5995 2.95298 15.5996 3.33301V5C15.5996 6.48521 15.0102 7.90976 13.96 8.95996C13.5344 9.38555 13.0462 9.73333 12.5186 9.99902C13.0465 10.2648 13.5342 10.6142 13.96 11.04C15.0102 12.0902 15.5996 13.5148 15.5996 15V16.667C15.5995 17.047 15.4494 17.4119 15.1807 17.6807C14.9119 17.9494 14.547 18.0995 14.167 18.0996H5.83301C5.45298 18.0995 5.08806 17.9494 4.81934 17.6807C4.55061 17.4119 4.40048 17.047 4.40039 16.667V15C4.40039 13.5148 4.98984 12.0902 6.04004 11.04C6.46574 10.6143 6.95363 10.2657 7.48145 10C6.95363 9.73428 6.46574 9.38566 6.04004 8.95996C5.0554 7.97532 4.47582 6.66157 4.40723 5.27734L4.40039 5V3.33301C4.40048 2.95298 4.55061 2.58806 4.81934 2.31934C5.08806 2.05061 5.45298 1.90048 5.83301 1.90039H14.167L14.3086 1.90723ZM10 10.5996C8.83305 10.5996 7.71383 11.0635 6.88867 11.8887C6.30355 12.4738 5.90105 13.207 5.71582 14H14.2842C14.0991 13.207 13.6965 12.4738 13.1113 11.8887C12.3376 11.115 11.3054 10.6593 10.2178 10.6055L10 10.5996ZM5.83301 3.09961C5.77124 3.0997 5.71165 3.12429 5.66797 3.16797C5.62429 3.21165 5.5997 3.27124 5.59961 3.33301V5L5.60547 5.21777C5.65933 6.30544 6.11499 7.33764 6.88867 8.11133C7.71383 8.93649 8.83305 9.40039 10 9.40039C11.167 9.40039 12.2862 8.93649 13.1113 8.11133C13.9365 7.28617 14.4004 6.16695 14.4004 5V3.33301C14.4003 3.27124 14.3757 3.21165 14.332 3.16797C14.2991 3.13503 14.2569 3.1134 14.2119 3.10449L14.167 3.09961H5.83301Z" + fill="currentColor" /> </svg> diff --git a/src/img/ic_info_circle.svg b/src/img/ic_info_circle.svg index f202a3f80d..c8e61d9919 100644 --- a/src/img/ic_info_circle.svg +++ b/src/img/ic_info_circle.svg @@ -1 +1,3 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="12" height="13" fill="none"><path fill="#fff" fill-rule="evenodd" d="M6 .627a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm.59 4.72c-.14-.223-.393-.335-.757-.335-.238 0-.451.056-.64.168a1.875 1.875 0 0 0-.483.43 2.49 2.49 0 0 0-.326.536c-.084.189-.14.357-.168.504l.567.168c.091-.315.179-.532.263-.651.084-.12.164-.179.241-.179a.16.16 0 0 1 .116.053c.035.028.052.101.052.22 0 .168-.017.382-.052.64-.035.253-.077.526-.126.82-.042.294-.08.58-.116.86a5.96 5.96 0 0 0-.052.725c0 .371.07.662.21.872.147.21.413.315.798.315.238 0 .448-.056.63-.168.189-.112.35-.252.483-.42.133-.175.238-.357.315-.546.084-.19.14-.357.168-.504l-.567-.168c-.091.315-.179.532-.263.65-.084.12-.168.18-.252.18-.035 0-.07-.018-.105-.053-.035-.035-.052-.109-.052-.22 0-.12.017-.309.052-.568l.116-.86c.042-.316.08-.617.115-.904.035-.287.053-.514.053-.682 0-.371-.074-.665-.22-.882Zm.167-2.73a.688.688 0 0 0-.556-.251.783.783 0 0 0-.567.252.92.92 0 0 0-.273.62.878.878 0 0 0 .2.608c.146.161.339.242.577.242.23 0 .423-.08.577-.242a.911.911 0 0 0 .242-.609.831.831 0 0 0-.2-.62Z" clip-rule="evenodd" opacity=".5"/></svg> \ No newline at end of file +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M8.00016 11.3281C8.18905 11.3281 8.3475 11.2641 8.4755 11.1361C8.6035 11.0081 8.66727 10.8499 8.66683 10.6615V7.99479C8.66683 7.8059 8.60283 7.64768 8.47483 7.52012C8.34683 7.39257 8.18861 7.32857 8.00016 7.32812C7.81172 7.32768 7.6535 7.39168 7.5255 7.52012C7.3975 7.64857 7.3335 7.80679 7.3335 7.99479V10.6615C7.3335 10.8503 7.3975 11.0088 7.5255 11.1368C7.6535 11.2648 7.81172 11.3286 8.00016 11.3281ZM8.00016 5.99479C8.18905 5.99479 8.3475 5.93079 8.4755 5.80279C8.6035 5.67479 8.66727 5.51657 8.66683 5.32812C8.66639 5.13968 8.60239 4.98146 8.47483 4.85346C8.34727 4.72546 8.18905 4.66146 8.00016 4.66146C7.81127 4.66146 7.65305 4.72546 7.5255 4.85346C7.39794 4.98146 7.33394 5.13968 7.3335 5.32812C7.33305 5.51657 7.39705 5.67501 7.5255 5.80346C7.65394 5.9319 7.81216 5.99568 8.00016 5.99479ZM8.00016 14.6615C7.07794 14.6615 6.21127 14.4863 5.40016 14.1361C4.58905 13.7859 3.8835 13.311 3.2835 12.7115C2.6835 12.1119 2.20861 11.4063 1.85883 10.5948C1.50905 9.78324 1.33394 8.91657 1.3335 7.99479C1.33305 7.07301 1.50816 6.20635 1.85883 5.39479C2.2095 4.58324 2.68439 3.87768 3.2835 3.27813C3.88261 2.67857 4.58816 2.20368 5.40016 1.85346C6.21216 1.50324 7.07883 1.32813 8.00016 1.32812C8.9215 1.32812 9.78816 1.50324 10.6002 1.85346C11.4122 2.20368 12.1177 2.67857 12.7168 3.27813C13.3159 3.87768 13.7911 4.58324 14.1422 5.39479C14.4933 6.20635 14.6682 7.07301 14.6668 7.99479C14.6655 8.91657 14.4904 9.78324 14.1415 10.5948C13.7926 11.4063 13.3177 12.1119 12.7168 12.7115C12.1159 13.311 11.4104 13.7861 10.6002 14.1368C9.78994 14.4875 8.92327 14.6623 8.00016 14.6615Z" fill="currentColor"/> +</svg> diff --git a/src/img/ic_info_circle_outline.svg b/src/img/ic_info_circle_outline.svg deleted file mode 100644 index 1117f81d6c..0000000000 --- a/src/img/ic_info_circle_outline.svg +++ /dev/null @@ -1,10 +0,0 @@ -<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> -<g clip-path="url(#clip0_2767_12226)"> -<path d="M21.5 12V12.0004C21.502 14.4946 20.523 16.8895 18.7744 18.6681C17.0257 20.4467 14.6478 21.4663 12.1539 21.5067C9.66005 21.5471 7.25032 20.6051 5.445 18.8841C3.64064 17.164 2.58472 14.8037 2.50488 12.3122L2.50006 11.9997L2.5039 11.7305C2.64618 6.60891 6.84266 2.5 12 2.5C17.2469 2.5 21.5 6.75314 21.5 12ZM12.0299 10.5009L12.0149 10.5H12.0138L12.0275 10.4992L12.1545 10.4922L12.1703 10.4914L12.1861 10.4895C12.5506 10.4461 12.8866 10.2706 13.1304 9.99605C13.3742 9.72154 13.5089 9.36714 13.5089 9C13.5089 8.63286 13.3742 8.27846 13.1304 8.00395C12.8866 7.72943 12.5506 7.55387 12.1861 7.5105L12.1715 7.50877L12.1569 7.50789L12.0399 7.50089L12.0112 7.49918L11.9825 7.50076L11.8555 7.50776L11.8397 7.50863L11.8239 7.5105C11.4594 7.55387 11.1234 7.72943 10.8796 8.00395C10.6358 8.27846 10.5011 8.63285 10.5011 9C10.5011 9.36715 10.6358 9.72154 10.8796 9.99605C11.1234 10.2706 11.4594 10.4461 11.8239 10.4895L11.8385 10.4912L11.8531 10.4921L11.9701 10.4991L11.9851 10.5H11H10.9851L10.9701 10.5009L10.8531 10.5079L10.8385 10.5088L10.8239 10.5105C10.4594 10.5539 10.1234 10.7294 9.87956 11.0039C9.63577 11.2785 9.50111 11.6329 9.50111 12C9.50111 12.3671 9.63577 12.7215 9.87956 12.9961C10.049 13.1868 10.2629 13.3298 10.5 13.4138V16V16.0149L10.5009 16.0299L10.5079 16.1469L10.5088 16.1612L10.5104 16.1756C10.5499 16.5104 10.7011 16.8221 10.9395 17.0605C11.1779 17.2989 11.4896 17.4501 11.8244 17.4896L11.8388 17.4912L11.8531 17.4921L11.9701 17.4991L11.9851 17.5H12H13H13.0149L13.0299 17.4991L13.1469 17.4921L13.1612 17.4912L13.1756 17.4896C13.5104 17.4501 13.8221 17.2989 14.0605 17.0605C14.2989 16.8221 14.4501 16.5104 14.4896 16.1756L14.4912 16.1612L14.4921 16.1469L14.4991 16.0299L14.5009 16L14.4991 15.9701L14.4921 15.8531L14.4913 15.8389L14.4896 15.8248C14.4537 15.5188 14.3245 15.2312 14.1195 15.0012C13.9507 14.8119 13.7374 14.6692 13.5 14.5852V12V11.9851L13.4991 11.9701L13.4921 11.8531L13.4912 11.8388L13.4896 11.8244C13.4501 11.4896 13.2989 11.1779 13.0605 10.9395C12.8221 10.7011 12.5104 10.5499 12.1756 10.5104L12.1612 10.5088L12.1469 10.5079L12.0299 10.5009Z" stroke="currentColor"/> -</g> -<defs> -<clipPath id="clip0_2767_12226"> -<rect width="24" height="24"/> -</clipPath> -</defs> -</svg> diff --git a/src/img/ic_info_circle_stroke.svg b/src/img/ic_info_circle_stroke.svg new file mode 100644 index 0000000000..78bca961b9 --- /dev/null +++ b/src/img/ic_info_circle_stroke.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"> + <circle cx="8.00016" cy="7.99967" r="6.16667" stroke="currentColor" stroke-linecap="round" /> + <path d="M8 11.333V7.33301" stroke="currentColor" stroke-linecap="round" /> + <circle cx="0.666667" cy="0.666667" r="0.666667" transform="matrix(1 0 0 -1 7.33325 6)" fill="currentColor" /> +</svg> diff --git a/src/img/ic_language24.svg b/src/img/ic_language24.svg index 83d2163e2d..1c0ac5292a 100644 --- a/src/img/ic_language24.svg +++ b/src/img/ic_language24.svg @@ -1,6 +1,5 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 16 16"> - <g id="ic_language16" transform="translate(-494.25 -372.25)"> - <rect id="Rectangle_486" data-name="Rectangle 486" width="24" height="24" transform="translate(494.25 372.25)" fill="rgba(255,255,255,0)"/> - <path id="Path_4459" data-name="Path 4459" d="M7-11.812A6.562,6.562,0,0,0,.438-5.25,6.562,6.562,0,0,0,7,1.313,6.562,6.562,0,0,0,13.563-5.25,6.562,6.562,0,0,0,7-11.812ZM6.381-1.931a.881.881,0,0,1-.255-.619v-.875a.875.875,0,0,0-.45-.766c-.394-.219-.954-.52-1.334-.714A3.908,3.908,0,0,1,3.474-5.5l-.02-.021a3.024,3.024,0,0,1-.493-.564c-.217-.319-.543-.8-.8-1.189A5.275,5.275,0,0,1,5.1-10.138l.391.2a.438.438,0,0,0,.636-.39v-.089A5.236,5.236,0,0,1,7-10.5l.567.567a.441.441,0,0,1,0,.619l-.129.126L7.156-8.9a.215.215,0,0,0,0,.308l.126.13a.215.215,0,0,1,0,.308l-.219.219a.215.215,0,0,1-.152.065H6.662a.217.217,0,0,0-.152.062l-.272.263a.23.23,0,0,0-.043.256l.427.851a.219.219,0,0,1-.2.318H6.275a.227.227,0,0,1-.146-.055L5.878-6.4a.441.441,0,0,0-.427-.085L4.6-6.2a.327.327,0,0,0-.225.311.322.322,0,0,0,.182.291l.3.154a1.894,1.894,0,0,0,.831.195c.288,0,.616.745.874.875H8.387a.879.879,0,0,1,.619.256l.374.373a.841.841,0,0,1,.245.591,1.28,1.28,0,0,1-.374.9c-.109.106-.219.215-.311.308a.654.654,0,0,0-.169.294,4.534,4.534,0,0,1-.129.461L8.258-.159A5.226,5.226,0,0,1,7,0V-.53A2.044,2.044,0,0,0,6.381-1.931Zm5.242-2.82a.656.656,0,0,1-.387-.273l-.493-.738a.655.655,0,0,1,0-.725l.536-.807a.669.669,0,0,1,.252-.222l.16-.08a5.21,5.21,0,0,1,.56,2.346,5.251,5.251,0,0,1-.044.644Z" transform="translate(495.254 385.25)" fill="#a0a3c4"/> - </g> +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M7.50972 12C7.50972 11.4624 7.52795 10.9337 7.56253 10.4175C6.8898 10.5338 6.27732 10.6732 5.74091 10.8341C4.95238 11.0706 4.37326 11.3357 4.00997 11.5934C3.83055 11.7207 3.72923 11.8281 3.67713 11.9043C3.65237 11.9406 3.64194 11.9663 3.63727 11.9801C3.63296 11.9928 3.63229 11.9985 3.63229 12L3.63727 12.0199C3.64194 12.0337 3.65237 12.0594 3.67713 12.0957C3.72923 12.1719 3.83055 12.2793 4.00997 12.4066C4.37326 12.6643 4.95238 12.9294 5.74091 13.1659C6.27727 13.3268 6.88986 13.4652 7.56253 13.5815C7.528 13.0656 7.50972 12.5372 7.50972 12ZM14.575 15.4609C13.7527 15.5307 12.8891 15.5715 12 15.5715C11.1106 15.5715 10.2466 15.5308 9.42402 15.4609C9.60103 16.4991 9.85398 17.4241 10.1604 18.1903C10.47 18.9643 10.818 19.5366 11.1629 19.9013C11.4632 20.2188 11.7175 20.3379 11.9173 20.3627L12 20.3677C12.2104 20.3677 12.4937 20.2644 12.8371 19.9013C13.182 19.5366 13.53 18.9643 13.8396 18.1903C14.146 17.4241 14.398 16.499 14.575 15.4609ZM3.93622 14.2322C4.65929 16.85 6.62038 18.9531 9.15197 19.8695C8.96679 19.538 8.79722 19.1784 8.64474 18.7972C8.24303 17.7929 7.93337 16.5903 7.73991 15.2636C6.83042 15.1256 5.99761 14.9483 5.27155 14.7304C4.78827 14.5855 4.33815 14.4189 3.93622 14.2322ZM20.0628 14.2322C19.6611 14.4188 19.2114 14.5856 18.7285 14.7304C18.0021 14.9483 17.169 15.1256 16.2591 15.2636C16.0656 16.5902 15.757 17.793 15.3553 18.7972C15.2027 19.1786 15.0323 19.5378 14.847 19.8695C17.379 18.9533 19.3396 16.8502 20.0628 14.2322ZM9.15197 4.12955C6.62052 5.04576 4.65953 7.14928 3.93622 9.76682C4.33805 9.58016 4.78843 9.41449 5.27155 9.26956C5.99765 9.05174 6.83036 8.87339 7.73991 8.73543C7.93338 7.40912 8.24313 6.20683 8.64474 5.20279C8.79734 4.82132 8.96662 4.46126 9.15197 4.12955ZM14.847 4.12955C15.0325 4.46138 15.2026 4.82115 15.3553 5.20279C15.7569 6.20679 16.0656 7.40918 16.2591 8.73543C17.169 8.8734 18.0021 9.05166 18.7285 9.26956C19.2112 9.4144 19.6612 9.58032 20.0628 9.76682C19.3393 7.1491 17.3788 5.04557 14.847 4.12955ZM12 3.63229C11.7896 3.63229 11.5063 3.73562 11.1629 4.09865C10.818 4.46342 10.47 5.03567 10.1604 5.80967C9.85408 6.57566 9.60102 7.50034 9.42402 8.53812C10.2466 8.46825 11.1106 8.4285 12 8.4285C12.889 8.4285 13.7527 8.4683 14.575 8.53812C14.398 7.50041 14.1459 6.57562 13.8396 5.80967C13.53 5.03567 13.182 4.46342 12.8371 4.09865C12.4937 3.73562 12.2104 3.63229 12 3.63229ZM9.143 12C9.143 12.6204 9.16773 13.2237 9.21574 13.8037C10.087 13.8894 11.0227 13.9392 12 13.9392C12.9769 13.9392 13.9123 13.8894 14.7833 13.8037C14.8313 13.2237 14.857 12.6205 14.857 12C14.857 11.3792 14.8313 10.7756 14.7833 10.1953C13.9123 10.1097 12.9769 10.0608 12 10.0608C11.0227 10.0608 10.087 10.1096 9.21574 10.1953C9.16767 10.7756 9.143 11.3792 9.143 12ZM16.4903 12C16.4903 12.5372 16.471 13.0655 16.4365 13.5815C17.1095 13.4652 17.7225 13.3269 18.2591 13.1659C19.0476 12.9294 19.6267 12.6643 19.99 12.4066C20.1695 12.2793 20.2708 12.1719 20.3229 12.0957C20.3476 12.0594 20.3581 12.0337 20.3627 12.0199C20.367 12.0072 20.3677 12.0015 20.3677 12C20.3677 11.9985 20.367 11.9928 20.3627 11.9801C20.3581 11.9663 20.3476 11.9406 20.3229 11.9043C20.2708 11.8281 20.1695 11.7207 19.99 11.5934C19.6267 11.3357 19.0476 11.0706 18.2591 10.8341C17.7224 10.6731 17.1096 10.5338 16.4365 10.4175C16.4711 10.9338 16.4903 11.4624 16.4903 12ZM21.987 12.5142C21.7194 17.7982 17.3505 22 12 22C6.6495 22 2.28059 17.7982 2.01295 12.5142L2 12L2.01295 11.4858C2.28059 6.20181 6.6495 2 12 2L12.5142 2.01295C17.6279 2.27196 21.728 6.37212 21.987 11.4858L22 12L21.987 12.5142Z" + fill="currentColor" /> </svg> diff --git a/src/img/ic_new_link.svg b/src/img/ic_new_link.svg new file mode 100644 index 0000000000..702c3fcaab --- /dev/null +++ b/src/img/ic_new_link.svg @@ -0,0 +1,8 @@ +<svg viewBox="0 0 10 11" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M4.55012 0.999999C2.72528 1.00329 1.76971 1.04808 1.15903 1.65877C0.5 2.3178 0.5 3.37849 0.5 5.49987C0.499999 7.62125 0.499999 8.68194 1.15903 9.34097C1.81806 10 2.87875 10 5.00013 10C7.12151 10 8.1822 10 8.84123 9.34097C9.45191 8.73029 9.49671 7.77472 9.5 5.94988" + stroke="currentColor" stroke-linecap="round" /> + <path d="M5 5.5L9.5 1M9.5 1L6.4375 1M9.5 1L9.5 4" stroke="currentColor" stroke-linecap="round" + stroke-linejoin="round" /> +</svg> + diff --git a/src/img/ic_new_link_20.svg b/src/img/ic_new_link_20.svg index 7ba9ba51c7..acaf417f1c 100644 --- a/src/img/ic_new_link_20.svg +++ b/src/img/ic_new_link_20.svg @@ -1,5 +1,7 @@ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> -<g id="external"> -<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M7.32559 11.8281C7.0913 12.0625 7.09135 12.4424 7.32569 12.6767C7.56003 12.9109 7.93993 12.9109 8.17422 12.6766L15.1499 5.69917L15.1499 8.75039C15.1499 9.08176 15.4185 9.35039 15.7499 9.35039C16.0813 9.35039 16.3499 9.08176 16.3499 8.75039L16.3499 4.25039V3.65039L15.7499 3.65039L11.2499 3.65039C10.9185 3.65039 10.6499 3.91902 10.6499 4.25039C10.6499 4.58176 10.9185 4.85039 11.2499 4.85039L14.3016 4.85039L7.32559 11.8281ZM6.2499 6.35234H9.2499C9.58127 6.35234 9.8499 6.08371 9.8499 5.75234C9.8499 5.42097 9.58127 5.15234 9.2499 5.15234L6.2499 5.15234C4.81396 5.15234 3.6499 6.3164 3.6499 7.75234L3.6499 13.7523C3.6499 15.1883 4.81396 16.3523 6.2499 16.3523H12.2499C13.6858 16.3523 14.8499 15.1883 14.8499 13.7523V10.7523C14.8499 10.421 14.5813 10.1523 14.2499 10.1523C13.9185 10.1523 13.6499 10.421 13.6499 10.7523V13.7523C13.6499 14.5255 13.0231 15.1523 12.2499 15.1523H6.2499C5.4767 15.1523 4.8499 14.5255 4.8499 13.7523L4.8499 7.75234C4.8499 6.97915 5.4767 6.35234 6.2499 6.35234Z" fill="#9EA4C2"/> -</g> + <g id="external"> + <path id="Union" fill-rule="evenodd" clip-rule="evenodd" + d="M7.32559 11.8281C7.0913 12.0625 7.09135 12.4424 7.32569 12.6767C7.56003 12.9109 7.93993 12.9109 8.17422 12.6766L15.1499 5.69917L15.1499 8.75039C15.1499 9.08176 15.4185 9.35039 15.7499 9.35039C16.0813 9.35039 16.3499 9.08176 16.3499 8.75039L16.3499 4.25039V3.65039L15.7499 3.65039L11.2499 3.65039C10.9185 3.65039 10.6499 3.91902 10.6499 4.25039C10.6499 4.58176 10.9185 4.85039 11.2499 4.85039L14.3016 4.85039L7.32559 11.8281ZM6.2499 6.35234H9.2499C9.58127 6.35234 9.8499 6.08371 9.8499 5.75234C9.8499 5.42097 9.58127 5.15234 9.2499 5.15234L6.2499 5.15234C4.81396 5.15234 3.6499 6.3164 3.6499 7.75234L3.6499 13.7523C3.6499 15.1883 4.81396 16.3523 6.2499 16.3523H12.2499C13.6858 16.3523 14.8499 15.1883 14.8499 13.7523V10.7523C14.8499 10.421 14.5813 10.1523 14.2499 10.1523C13.9185 10.1523 13.6499 10.421 13.6499 10.7523V13.7523C13.6499 14.5255 13.0231 15.1523 12.2499 15.1523H6.2499C5.4767 15.1523 4.8499 14.5255 4.8499 13.7523L4.8499 7.75234C4.8499 6.97915 5.4767 6.35234 6.2499 6.35234Z" + fill="currentColor" /> + </g> </svg> diff --git a/src/img/ic_one_click.svg b/src/img/ic_one_click.svg index 4bacd87f31..e5d2aa166e 100644 --- a/src/img/ic_one_click.svg +++ b/src/img/ic_one_click.svg @@ -1,3 +1,5 @@ -<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M15.041 8.21973C15.1723 8.05255 15.3894 8.00508 15.5684 8.10449C15.7474 8.20399 15.8423 8.42462 15.7988 8.64062L15.1875 11.6768H17.1963C17.3676 11.6768 17.5235 11.7879 17.5947 11.96C17.6658 12.132 17.6396 12.3346 17.5273 12.4775L12.7842 18.5186C12.6528 18.6857 12.4348 18.7333 12.2559 18.6338C12.0769 18.5343 11.9819 18.3126 12.0254 18.0967L12.6367 15.0605H10.6289C10.4575 15.0605 10.3017 14.9495 10.2305 14.7773C10.1595 14.6055 10.1859 14.4036 10.2979 14.2607L15.041 8.21973ZM10 1.40039C13.8829 1.40039 17.1633 3.97283 18.2324 7.50586L18.3291 7.85059L18.3477 7.9707C18.3616 8.24938 18.1782 8.50879 17.8975 8.58105C17.6167 8.65329 17.3313 8.51443 17.209 8.26367L17.167 8.14941L17.084 7.85254C16.1638 4.81253 13.3395 2.59961 10 2.59961C5.91309 2.59961 2.59961 5.91309 2.59961 10C2.59961 13.9592 5.70922 17.1924 9.61914 17.3906L10 17.4004L10.1211 17.4121C10.3944 17.4681 10.5996 17.7101 10.5996 18C10.5996 18.2899 10.3944 18.5319 10.1211 18.5879L10 18.5996L9.55762 18.5889C5.01355 18.3586 1.40039 14.6013 1.40039 10C1.40039 5.25035 5.25035 1.40039 10 1.40039ZM9.36621 5.16406C10.8307 4.94073 12.2422 5.40063 13.2754 6.30371L13.4766 6.49023L13.5547 6.58398C13.7104 6.8151 13.6878 7.13091 13.4854 7.33789C13.2825 7.54501 12.9659 7.5751 12.7314 7.42383L12.6367 7.34668L12.4854 7.20703C11.7072 6.52659 10.647 6.18184 9.54688 6.34961C7.56515 6.65211 6.20359 8.50458 6.50586 10.4863C6.67384 11.5864 7.31873 12.4953 8.2002 13.0352L8.37891 13.1387L8.48047 13.2061C8.69478 13.3847 8.7612 13.6958 8.62402 13.9512C8.48684 14.2063 8.19094 14.322 7.92383 14.2422L7.81152 14.1953L7.57324 14.0586C6.40322 13.3418 5.54401 12.1322 5.32031 10.668C4.91788 8.03091 6.72916 5.56649 9.36621 5.16406Z" fill="white"/> +<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M15.041 8.21973C15.1723 8.05255 15.3894 8.00508 15.5684 8.10449C15.7474 8.20399 15.8423 8.42462 15.7988 8.64062L15.1875 11.6768H17.1963C17.3676 11.6768 17.5235 11.7879 17.5947 11.96C17.6658 12.132 17.6396 12.3346 17.5273 12.4775L12.7842 18.5186C12.6528 18.6857 12.4348 18.7333 12.2559 18.6338C12.0769 18.5343 11.9819 18.3126 12.0254 18.0967L12.6367 15.0605H10.6289C10.4575 15.0605 10.3017 14.9495 10.2305 14.7773C10.1595 14.6055 10.1859 14.4036 10.2979 14.2607L15.041 8.21973ZM10 1.40039C13.8829 1.40039 17.1633 3.97283 18.2324 7.50586L18.3291 7.85059L18.3477 7.9707C18.3616 8.24938 18.1782 8.50879 17.8975 8.58105C17.6167 8.65329 17.3313 8.51443 17.209 8.26367L17.167 8.14941L17.084 7.85254C16.1638 4.81253 13.3395 2.59961 10 2.59961C5.91309 2.59961 2.59961 5.91309 2.59961 10C2.59961 13.9592 5.70922 17.1924 9.61914 17.3906L10 17.4004L10.1211 17.4121C10.3944 17.4681 10.5996 17.7101 10.5996 18C10.5996 18.2899 10.3944 18.5319 10.1211 18.5879L10 18.5996L9.55762 18.5889C5.01355 18.3586 1.40039 14.6013 1.40039 10C1.40039 5.25035 5.25035 1.40039 10 1.40039ZM9.36621 5.16406C10.8307 4.94073 12.2422 5.40063 13.2754 6.30371L13.4766 6.49023L13.5547 6.58398C13.7104 6.8151 13.6878 7.13091 13.4854 7.33789C13.2825 7.54501 12.9659 7.5751 12.7314 7.42383L12.6367 7.34668L12.4854 7.20703C11.7072 6.52659 10.647 6.18184 9.54688 6.34961C7.56515 6.65211 6.20359 8.50458 6.50586 10.4863C6.67384 11.5864 7.31873 12.4953 8.2002 13.0352L8.37891 13.1387L8.48047 13.2061C8.69478 13.3847 8.7612 13.6958 8.62402 13.9512C8.48684 14.2063 8.19094 14.322 7.92383 14.2422L7.81152 14.1953L7.57324 14.0586C6.40322 13.3418 5.54401 12.1322 5.32031 10.668C4.91788 8.03091 6.72916 5.56649 9.36621 5.16406Z" + fill="currentColor" /> </svg> diff --git a/src/img/ic_plain.svg b/src/img/ic_plain.svg new file mode 100644 index 0000000000..c50a3d1557 --- /dev/null +++ b/src/img/ic_plain.svg @@ -0,0 +1,6 @@ +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M11.2985 11.8891L13.1768 6.25428C13.9259 4.00729 14.3004 2.88379 13.7073 2.29074C13.1142 1.69768 11.9907 2.07218 9.7436 2.82118L4.14486 4.68736C2.89577 5.1037 2.27122 5.31188 2.08165 5.76987C2.03709 5.87751 2.01015 5.99162 2.00186 6.10782C1.9666 6.60224 2.43211 7.06773 3.36313 7.99872L3.5327 8.16829C3.68552 8.3211 3.76193 8.39751 3.81969 8.48256C3.93361 8.65031 3.99828 8.8466 4.00636 9.04921C4.01046 9.15194 3.99442 9.2588 3.96234 9.47251C3.84493 10.2548 3.78622 10.6459 3.85538 10.9469C3.99323 11.5468 4.45759 12.0177 5.05554 12.164C5.35553 12.2374 5.74746 12.1842 6.53132 12.0778L6.57418 12.072C6.79515 12.042 6.90564 12.027 7.01172 12.0334C7.2043 12.0451 7.3903 12.1078 7.55058 12.2152C7.63888 12.2743 7.71772 12.3531 7.8754 12.5108L8.02615 12.6616C8.93232 13.5677 9.38541 14.0208 9.86606 13.9972C9.99855 13.9907 10.1287 13.9599 10.2502 13.9065C10.6906 13.7127 10.8932 13.1048 11.2985 11.8891Z" + stroke="currentColor" stroke-width="1.5" stroke-linecap="round" /> + <path d="M5 11L13 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" /> +</svg> diff --git a/src/img/ic_pnl_analysis.svg b/src/img/ic_pnl_analysis.svg new file mode 100644 index 0000000000..786bca2f5a --- /dev/null +++ b/src/img/ic_pnl_analysis.svg @@ -0,0 +1,15 @@ +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> + <g clip-path="url(#clip0_3046_26771)"> + <path + d="M5.40401 1.85952L5.59872 2.32005L5.40401 1.85952ZM4.29636 2.45679L4.01858 2.04105L4.01858 2.04105L4.29636 2.45679ZM1.84097 5.44869L1.37903 5.25735H1.37903L1.84097 5.44869ZM3.28612 12.714L3.63967 12.3604L3.28612 12.714ZM13.5433 11.7037L13.959 11.9815V11.9815L13.5433 11.7037ZM14.1406 10.5961L13.68 10.4014V10.4014L14.1406 10.5961ZM12.0002 7.99992V8.49992V7.99992ZM10.6668 7.99992V7.49992V7.99992ZM8.00016 5.33325H7.50016H8.00016ZM8.00016 3.99992H8.50016H8.00016ZM8.39069 7.60939L8.74424 7.25584L8.74424 7.25584L8.39069 7.60939ZM14.3382 8.59654L13.9214 8.87281L13.9214 8.87281L14.3382 8.59654ZM7.40354 1.66189L7.12727 2.07864L7.12727 2.07864L7.40354 1.66189ZM5.40401 1.85952L5.2093 1.39899C4.79498 1.57416 4.39615 1.78877 4.01858 2.04105L4.29636 2.45679L4.57415 2.87252C4.89904 2.65543 5.24222 2.47078 5.59872 2.32005L5.40401 1.85952ZM4.29636 2.45679L4.01858 2.04105C2.84003 2.82854 1.92146 3.94781 1.37903 5.25735L1.84097 5.44869L2.30291 5.64004C2.76965 4.51322 3.56005 3.55012 4.57415 2.87252L4.29636 2.45679ZM1.84097 5.44869L1.37903 5.25735C0.836601 6.56689 0.694677 8.00787 0.971205 9.39806L1.4616 9.30052L1.95199 9.20297C1.71405 8.00676 1.83617 6.76685 2.30291 5.64004L1.84097 5.44869ZM1.4616 9.30052L0.971205 9.39806C1.24773 10.7883 1.93029 12.0652 2.93257 13.0675L3.28612 12.714L3.63967 12.3604C2.77725 11.498 2.18993 10.3992 1.95199 9.20297L1.4616 9.30052ZM3.28612 12.714L2.93257 13.0675C3.93484 14.0698 5.21182 14.7523 6.60202 15.0289L6.69956 14.5385L6.79711 14.0481C5.60089 13.8101 4.5021 13.2228 3.63967 12.3604L3.28612 12.714ZM6.69956 14.5385L6.60202 15.0289C7.99222 15.3054 9.43319 15.1635 10.7427 14.6211L10.5514 14.1591L10.36 13.6972C9.23324 14.1639 7.99332 14.286 6.79711 14.0481L6.69956 14.5385ZM10.5514 14.1591L10.7427 14.6211C12.0523 14.0786 13.1715 13.1601 13.959 11.9815L13.5433 11.7037L13.1276 11.4259C12.45 12.44 11.4869 13.2304 10.36 13.6972L10.5514 14.1591ZM13.5433 11.7037L13.959 11.9815C14.2113 11.6039 14.4259 11.2051 14.6011 10.7908L14.1406 10.5961L13.68 10.4014C13.5293 10.7579 13.3446 11.101 13.1276 11.4259L13.5433 11.7037ZM12.0002 7.99992V7.49992H10.6668V7.99992V8.49992H12.0002V7.99992ZM8.00016 5.33325H8.50016V3.99992H8.00016H7.50016V5.33325H8.00016ZM10.6668 7.99992V7.49992C10.0242 7.49992 9.59245 7.49885 9.27043 7.45556C8.96278 7.4142 8.83112 7.34272 8.74424 7.25584L8.39069 7.60939L8.03714 7.96294C8.34078 8.26659 8.71865 8.39037 9.13718 8.44664C9.54132 8.50098 10.0524 8.49992 10.6668 8.49992V7.99992ZM8.00016 5.33325H7.50016C7.50016 5.94765 7.4991 6.45876 7.55344 6.8629C7.60971 7.28143 7.73349 7.6593 8.03714 7.96295L8.39069 7.60939L8.74424 7.25584C8.65736 7.16896 8.58588 7.0373 8.54452 6.72965C8.50123 6.40763 8.50016 5.97592 8.50016 5.33325H8.00016ZM14.1406 10.5961L14.6011 10.7908C14.7896 10.345 14.9685 9.93037 15.0297 9.54842C15.099 9.11574 15.0218 8.72288 14.7549 8.32027L14.3382 8.59654L13.9214 8.87281C14.0501 9.06683 14.0718 9.20609 14.0423 9.3902C14.0046 9.62504 13.887 9.91191 13.68 10.4014L14.1406 10.5961ZM12.0002 7.99992V8.49992C12.6684 8.49992 13.0953 8.50221 13.4085 8.5648C13.6812 8.61929 13.8125 8.70853 13.9214 8.87281L14.3382 8.59654L14.7549 8.32027C14.4683 7.88792 14.0782 7.67886 13.6045 7.58419C13.1713 7.49762 12.6269 7.49992 12.0002 7.49992V7.99992ZM5.40401 1.85952L5.59872 2.32005C6.08817 2.11312 6.37504 1.99544 6.60988 1.95781C6.79399 1.92831 6.93325 1.95002 7.12727 2.07864L7.40354 1.66189L7.67981 1.24515C7.2772 0.978258 6.88434 0.901072 6.45166 0.970406C6.06971 1.03161 5.65512 1.2105 5.2093 1.39899L5.40401 1.85952ZM8.00016 3.99992H8.50016C8.50016 3.37316 8.50246 2.82881 8.41589 2.39561C8.32122 1.92188 8.11216 1.53176 7.67981 1.24515L7.40354 1.66189L7.12727 2.07864C7.29155 2.18754 7.38079 2.31892 7.43528 2.59158C7.49787 2.90476 7.50016 3.33166 7.50016 3.99992H8.00016Z" + fill="currentColor" /> + <path d="M9.6665 1.54297C12.0092 2.14593 13.8535 3.99026 14.4565 6.33294" stroke="currentColor" + stroke-linecap="round" /> + </g> + <defs> + <clipPath id="clip0_3046_26771"> + <rect width="16" height="16" fill="white" /> + </clipPath> + </defs> +</svg> + diff --git a/src/img/ic_settings.svg b/src/img/ic_settings.svg new file mode 100644 index 0000000000..e358dad9fd --- /dev/null +++ b/src/img/ic_settings.svg @@ -0,0 +1,3 @@ +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M8.65997 1.77344C9.389 1.77344 9.98009 2.33025 9.98028 3.01758C9.98028 3.8043 10.8225 4.30485 11.5135 3.92871L11.5828 3.89062C12.2142 3.54695 13.0219 3.7506 13.3865 4.3457L14.0467 5.42383C14.4113 6.0192 14.1947 6.78126 13.5633 7.125C12.8725 7.50141 12.8725 8.49273 13.5633 8.86914C14.1947 9.21288 14.4113 9.97494 14.0467 10.5703L13.3865 11.6484C13.0219 12.2435 12.2142 12.4472 11.5828 12.1035L11.5135 12.0654C10.8225 11.6893 9.98028 12.1898 9.98028 12.9766C9.9801 13.6639 9.389 14.2207 8.65997 14.2207H7.33966C6.6107 14.2206 6.01953 13.6638 6.01934 12.9766C6.01934 12.1899 5.17805 11.6895 4.48712 12.0654L4.41681 12.1035C3.78542 12.4472 2.97773 12.2436 2.61309 11.6484L1.95294 10.5703C1.58836 9.97494 1.80488 9.21288 2.43634 8.86914C3.12736 8.49278 3.12736 7.50136 2.43634 7.125C1.80488 6.78126 1.58836 6.0192 1.95294 5.42383L2.61309 4.3457C2.97773 3.7505 3.78542 3.54693 4.41681 3.89062L4.48712 3.92871C5.17805 4.30462 6.01934 3.80421 6.01934 3.01758C6.01953 2.3303 6.6107 1.77352 7.33966 1.77344H8.65997ZM7.99981 5.66309C6.71079 5.66309 5.66583 6.70805 5.66583 7.99707C5.66593 9.28601 6.71085 10.3311 7.99981 10.3311C9.28875 10.331 10.3337 9.28599 10.3338 7.99707C10.3338 6.70807 9.28881 5.66312 7.99981 5.66309Z" fill="currentColor"/> +</svg> diff --git a/src/img/ic_settings_24.svg b/src/img/ic_settings_24.svg deleted file mode 100644 index 1eb8068215..0000000000 --- a/src/img/ic_settings_24.svg +++ /dev/null @@ -1,13 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"> - <g clip-path="url(#ic_settings_24)"> - <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" - d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.723 1.723 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37 1 .608 2.296.07 2.572-1.065Z" /> - <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" - d="M9 12a3 3 0 1 0 6 0 3 3 0 0 0-6 0Z" /> - </g> - <defs> - <clipPath id="ic_settings_24"> - <path fill="#fff" d="M0 0h24v24H0z" /> - </clipPath> - </defs> -</svg> \ No newline at end of file diff --git a/src/img/ic_sign_out_20.svg b/src/img/ic_sign_out_20.svg index 4a4a3a57af..426ac5e0b2 100644 --- a/src/img/ic_sign_out_20.svg +++ b/src/img/ic_sign_out_20.svg @@ -1,5 +1,7 @@ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> -<g id="exit"> -<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M16.1608 14.5004C16.1608 15.9363 14.9967 17.1004 13.5608 17.1004L10.5608 17.1004C9.12481 17.1004 7.96076 15.9363 7.96076 14.5004V13.0004C7.96076 12.669 8.22938 12.4004 8.56076 12.4004C8.89213 12.4004 9.16076 12.669 9.16076 13.0004V14.5004C9.16076 15.2736 9.78756 15.9004 10.5608 15.9004H13.5608C14.334 15.9004 14.9608 15.2736 14.9608 14.5004L14.9608 5.50039C14.9608 4.72719 14.334 4.10039 13.5608 4.10039L10.5606 4.10039C9.78746 4.10039 9.16067 4.72713 9.16062 5.50029L9.16051 7.00043C9.16049 7.3318 8.89184 7.60041 8.56047 7.60039C8.2291 7.60037 7.96049 7.33172 7.96051 7.00035L7.96062 5.50021C7.96072 4.06434 9.12475 2.90039 10.5606 2.90039L13.5608 2.90039C14.9967 2.90039 16.1608 4.06445 16.1608 5.50039V14.5004ZM12.5605 10.6004C12.8918 10.6004 13.1605 10.3318 13.1605 10.0004C13.1605 9.66902 12.8918 9.40039 12.5605 9.40039L4.50909 9.40039L5.98495 7.92468C6.21928 7.69037 6.2193 7.31047 5.98499 7.07615C5.75069 6.84182 5.37079 6.8418 5.13646 7.07611L2.63622 9.57611L2.21191 10.0004L2.6362 10.4247L5.1362 12.9247C5.37051 13.159 5.75041 13.159 5.98473 12.9247C6.21904 12.6903 6.21904 12.3104 5.98473 12.0761L4.50899 10.6004H12.5605Z" fill="#9EA4C2"/> -</g> + <g id="exit"> + <path id="Union" fill-rule="evenodd" clip-rule="evenodd" + d="M16.1608 14.5004C16.1608 15.9363 14.9967 17.1004 13.5608 17.1004L10.5608 17.1004C9.12481 17.1004 7.96076 15.9363 7.96076 14.5004V13.0004C7.96076 12.669 8.22938 12.4004 8.56076 12.4004C8.89213 12.4004 9.16076 12.669 9.16076 13.0004V14.5004C9.16076 15.2736 9.78756 15.9004 10.5608 15.9004H13.5608C14.334 15.9004 14.9608 15.2736 14.9608 14.5004L14.9608 5.50039C14.9608 4.72719 14.334 4.10039 13.5608 4.10039L10.5606 4.10039C9.78746 4.10039 9.16067 4.72713 9.16062 5.50029L9.16051 7.00043C9.16049 7.3318 8.89184 7.60041 8.56047 7.60039C8.2291 7.60037 7.96049 7.33172 7.96051 7.00035L7.96062 5.50021C7.96072 4.06434 9.12475 2.90039 10.5606 2.90039L13.5608 2.90039C14.9967 2.90039 16.1608 4.06445 16.1608 5.50039V14.5004ZM12.5605 10.6004C12.8918 10.6004 13.1605 10.3318 13.1605 10.0004C13.1605 9.66902 12.8918 9.40039 12.5605 9.40039L4.50909 9.40039L5.98495 7.92468C6.21928 7.69037 6.2193 7.31047 5.98499 7.07615C5.75069 6.84182 5.37079 6.8418 5.13646 7.07611L2.63622 9.57611L2.21191 10.0004L2.6362 10.4247L5.1362 12.9247C5.37051 13.159 5.75041 13.159 5.98473 12.9247C6.21904 12.6903 6.21904 12.3104 5.98473 12.0761L4.50899 10.6004H12.5605Z" + fill="currentColor" /> + </g> </svg> diff --git a/src/img/ic_sortable.svg b/src/img/ic_sortable.svg index 66b275c947..cad0453857 100644 --- a/src/img/ic_sortable.svg +++ b/src/img/ic_sortable.svg @@ -1,3 +1,3 @@ -<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M5 6.04354L8.00405 1.57263L11 6.04354L8.91749 6.04354V11.1017H11L8.00405 15.5726L5 11.1017H7.08251V6.04354H5Z" fill="currentColor"/> +<svg viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M6 13.0029L6 3.00293M6 13.0029L3 10.0029M6 13.0029L9 10.0029M6 3.00293L3 6.00293M6 3.00293L9 6.00293" stroke="currentColor" stroke-linecap="round"/> </svg> diff --git a/src/img/ic_sorted_asc.svg b/src/img/ic_sorted_asc.svg index 9f51031c2c..981219a9bd 100644 --- a/src/img/ic_sorted_asc.svg +++ b/src/img/ic_sorted_asc.svg @@ -1,3 +1,3 @@ -<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M8.00404 2.57263L4 8.04354L7.08251 8.04354L7.08251 14.5726L8.91749 14.5726L8.91749 8.04354L12 8.04354L8.00404 2.57263Z" fill="currentColor"/> +<svg viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M6 3.00003L6 13M6 3.00003L9 6.00003M6 3.00003L3 6.00003" stroke="currentColor" stroke-linecap="round"/> </svg> diff --git a/src/img/ic_sorted_desc.svg b/src/img/ic_sorted_desc.svg index a44dfd9367..55ae456f87 100644 --- a/src/img/ic_sorted_desc.svg +++ b/src/img/ic_sorted_desc.svg @@ -1,3 +1,3 @@ -<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M8.00404 14.5726L4 9.10172L7.08251 9.10172L7.08251 2.57263L8.91749 2.57263L8.91749 9.10172L12 9.10172L8.00404 14.5726Z" fill="currentColor"/> +<svg viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M6 13V3M6 13L3 9.99997M6 13L9 9.99997" stroke="currentColor" stroke-linecap="round"/> </svg> diff --git a/src/img/ic_star.svg b/src/img/ic_star.svg new file mode 100644 index 0000000000..74f8029a0a --- /dev/null +++ b/src/img/ic_star.svg @@ -0,0 +1,6 @@ +<svg viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M5.81969 1.76285C6.3025 0.745719 7.6975 0.745717 8.18031 1.76285L9.01474 3.52071C9.20646 3.92461 9.57707 4.20456 10.0058 4.26933L11.8716 4.55122C12.9512 4.71432 13.3823 6.09373 12.6011 6.88545L11.251 8.25375C10.9407 8.56815 10.7992 9.02112 10.8724 9.46505L11.1911 11.3971C11.3755 12.5151 10.247 13.3676 9.28134 12.8398L7.6125 11.9276C7.22905 11.718 6.77095 11.718 6.3875 11.9276L4.71866 12.8398C3.75304 13.3676 2.62445 12.5151 2.80887 11.3971L3.12759 9.46505C3.20083 9.02112 3.05927 8.56815 2.74905 8.25375L1.39893 6.88545C0.61772 6.09373 1.0488 4.71432 2.1284 4.55122L3.99422 4.26933C4.42293 4.20456 4.79354 3.92461 4.98526 3.52071L5.81969 1.76285Z" + stroke="currentColor" + /> +</svg> diff --git a/src/img/ic_star_filled.svg b/src/img/ic_star_filled.svg new file mode 100644 index 0000000000..4c976d1ae1 --- /dev/null +++ b/src/img/ic_star_filled.svg @@ -0,0 +1,6 @@ +<svg viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M5.81969 1.76285C6.3025 0.745719 7.6975 0.745717 8.18031 1.76285L9.01474 3.52071C9.20646 3.92461 9.57707 4.20456 10.0058 4.26933L11.8716 4.55122C12.9512 4.71432 13.3823 6.09373 12.6011 6.88545L11.251 8.25375C10.9407 8.56815 10.7992 9.02112 10.8724 9.46505L11.1911 11.3971C11.3755 12.5151 10.247 13.3676 9.28134 12.8398L7.6125 11.9276C7.22905 11.718 6.77095 11.718 6.3875 11.9276L4.71866 12.8398C3.75304 13.3676 2.62445 12.5151 2.80887 11.3971L3.12759 9.46505C3.20083 9.02112 3.05927 8.56815 2.74905 8.25375L1.39893 6.88545C0.61772 6.09373 1.0488 4.71432 2.1284 4.55122L3.99422 4.26933C4.42293 4.20456 4.79354 3.92461 4.98526 3.52071L5.81969 1.76285Z" + fill="currentColor" + /> +</svg> diff --git a/src/img/ic_substack.svg b/src/img/ic_substack.svg index 3a1d584a67..7a7a3dc8b4 100644 --- a/src/img/ic_substack.svg +++ b/src/img/ic_substack.svg @@ -1 +1,3 @@ -<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M26.079 12.242H5V9.406h21.08l-.001 2.836ZM5 14.812V28l10.54-5.89L26.08 28V14.811H5v.001ZM26.08 4H5v2.836h21.08V4Z" fill="#a0a3c4"/></svg> +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M1 0H15V1.96465H1V0ZM1 7.16625H15V16L7.99856 12.069L1 16V7.16625ZM1 3.58311H15V5.54776H1V3.58311Z" fill="currentColor"/> +</svg> diff --git a/src/img/ic_telegram.svg b/src/img/ic_telegram.svg index 514ee70fc2..10c1bfcec5 100644 --- a/src/img/ic_telegram.svg +++ b/src/img/ic_telegram.svg @@ -1 +1,10 @@ -<svg height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h32v32h-32z" fill="none"/><path d="m13.078-23.2a13.076 13.076 0 0 0 -13.078 13.075 13.076 13.076 0 0 0 13.078 13.078 13.076 13.076 0 0 0 13.078-13.078 13.076 13.076 0 0 0 -13.078-13.075zm6.423 8.96-2.146 10.111c-.158.717-.585.891-1.181.554l-3.274-2.41-1.573 1.518a.825.825 0 0 1 -.659.322l.232-3.327 6.059-5.474c.264-.232-.058-.364-.406-.132l-7.488 4.714-3.227-1.007c-.7-.221-.717-.7.148-1.039l12.609-4.862c.585-.211 1.096.142.905 1.028z" fill="#a0a3c4" transform="translate(3 26.203)"/></svg> +<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g clip-path="url(#clip0_1226_20848)"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M12.2563 14.522C12.4709 14.674 12.7476 14.712 12.9943 14.6187C13.2409 14.5247 13.4223 14.314 13.4769 14.0587C14.0563 11.336 15.4616 4.4447 15.9889 1.96804C16.0289 1.78137 15.9623 1.58737 15.8156 1.4627C15.6689 1.33804 15.4656 1.30204 15.2843 1.36937C12.4889 2.40404 3.88026 5.63403 0.361599 6.93603C0.138265 7.0187 -0.0070681 7.23337 0.000265236 7.4687C0.00826524 7.7047 0.166932 7.90937 0.395599 7.97803C1.9736 8.45003 4.04493 9.1067 4.04493 9.1067C4.04493 9.1067 5.01293 12.03 5.5176 13.5167C5.58093 13.7034 5.72693 13.85 5.9196 13.9007C6.1116 13.9507 6.31693 13.898 6.46026 13.7627C7.27093 12.9974 8.52426 11.814 8.52426 11.814C8.52426 11.814 10.9056 13.56 12.2563 14.522ZM4.91627 8.73737L6.0356 12.4294L6.28426 10.0914C6.28426 10.0914 10.6089 6.1907 13.0743 3.96737C13.1463 3.90204 13.1563 3.7927 13.0963 3.71604C13.0369 3.63937 12.9276 3.62137 12.8456 3.67337C9.98827 5.49804 4.91627 8.73737 4.91627 8.73737Z" fill="currentColor"/> +</g> +<defs> +<clipPath id="clip0_1226_20848"> +<rect width="16" height="16" fill="white"/> +</clipPath> +</defs> +</svg> diff --git a/src/img/ic_v1.svg b/src/img/ic_v1.svg new file mode 100644 index 0000000000..ff9fb3d1a7 --- /dev/null +++ b/src/img/ic_v1.svg @@ -0,0 +1,5 @@ +<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M19 3C19.55 3 20.0211 3.1959 20.4131 3.58789C20.8051 3.97989 21.0007 4.45067 21 5V19C21 19.55 20.8044 20.0211 20.4131 20.4131C20.0218 20.8051 19.5507 21.0007 19 21H5C4.45 21 3.97922 20.8044 3.58789 20.4131C3.19657 20.0218 3.00067 19.5507 3 19V5C3 4.45 3.19589 3.97922 3.58789 3.58789C3.97989 3.19656 4.45067 3.00067 5 3H19ZM6.25879 8.2998L8.8877 16H10.9668L13.5957 8.2998H12.0449L10.043 14.2734H9.82324L7.81055 8.2998H6.25879ZM15.541 8.2998V8.78418C15.541 9.01872 15.4309 9.13574 15.2109 9.13574H13.9678V10.4668H15.541V16H16.9707V8.2998H15.541Z" + fill="currentColor" /> +</svg> diff --git a/src/img/ic_v2.svg b/src/img/ic_v2.svg new file mode 100644 index 0000000000..aeb981bc2d --- /dev/null +++ b/src/img/ic_v2.svg @@ -0,0 +1,5 @@ +<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M19 3C19.55 3 20.0211 3.1959 20.4131 3.58789C20.8051 3.97989 21.0007 4.45067 21 5V19C21 19.55 20.8044 20.0211 20.4131 20.4131C20.0218 20.8051 19.5507 21.0007 19 21H5C4.45 21 3.97922 20.8044 3.58789 20.4131C3.19657 20.0218 3.00067 19.5507 3 19V5C3 4.45 3.19589 3.97922 3.58789 3.58789C3.97989 3.19656 4.45067 3.00067 5 3H19ZM5.2168 8.2998L7.8457 16H9.9248L12.5537 8.2998H11.0029L9.00098 14.2734H8.78125L6.76855 8.2998H5.2168ZM15.709 8.19043C15.203 8.19043 14.7515 8.30392 14.3555 8.53125C13.9597 8.75123 13.6516 9.06265 13.4316 9.46582C13.2117 9.86904 13.1016 10.3311 13.1016 10.8516H14.5322C14.5323 10.4778 14.6424 10.1696 14.8623 9.92773C15.0896 9.68595 15.3718 9.56543 15.709 9.56543C16.0388 9.56544 16.3099 9.67136 16.5225 9.88379C16.7351 10.0891 16.8418 10.3497 16.8418 10.665C16.8418 10.8997 16.8014 11.0941 16.7207 11.248C16.64 11.3947 16.5119 11.5565 16.3359 11.7324L13.1895 14.7568V16H18.3818V14.6475H15.2803V14.5918L17.1504 12.7656C17.5388 12.3918 17.8245 12.0545 18.0078 11.7539C18.1985 11.4459 18.2939 11.0752 18.2939 10.6426C18.2939 10.1734 18.1838 9.75182 17.9639 9.37793C17.7512 9.00397 17.4468 8.71411 17.0508 8.50879C16.6622 8.2962 16.2149 8.19044 15.709 8.19043Z" + fill="currentColor" /> +</svg> diff --git a/src/img/ic_x.svg b/src/img/ic_x.svg index 2090bb805b..c1ed1cfbf8 100644 --- a/src/img/ic_x.svg +++ b/src/img/ic_x.svg @@ -1 +1,3 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="none" d="M0 0h32v32H0z"/><path fill="#a0a3c4" d="m18.187 14.202 8.554-9.943h-2.029l-7.426 8.634-5.932-8.634H4.512l8.971 13.056-8.971 10.427h2.027l7.844-9.117 6.265 9.117h6.842l-9.3-13.539Zm-2.775 3.228-.909-1.3L7.27 5.785h3.113l5.836 8.348.909 1.3 7.584 10.852h-3.111l-6.189-8.855Z" data-name="ic_x"/></svg> +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M12.3919 1H14.7339L9.61746 6.93026L15.6365 15H10.9236L7.23236 10.1057L3.00869 15H0.665359L6.13786 8.65692L0.36377 1H5.19628L8.53287 5.47354L12.3919 1ZM11.57 13.5785H12.8677L4.49115 2.34687H3.0986L11.57 13.5785Z" fill="currentColor"/> +</svg> diff --git a/src/img/leaderboard.svg b/src/img/leaderboard.svg new file mode 100644 index 0000000000..0d0cc36d2c --- /dev/null +++ b/src/img/leaderboard.svg @@ -0,0 +1,3 @@ +<svg width="18" height="17" viewBox="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M4.11179 16.7361C3.9514 16.5685 3.8712 16.3551 3.8712 16.0959C3.8712 15.8368 3.9514 15.6234 4.11179 15.4558L8.28919 11.066C8.62454 10.7154 9.0401 10.5401 9.53584 10.5401C10.0316 10.5401 10.4471 10.7154 10.7825 11.066L12.5978 12.9636L16.5128 8.87106C16.6877 8.68815 16.8919 8.59669 17.1252 8.59669C17.3584 8.59669 17.5626 8.68815 17.7375 8.87106C17.9125 9.05397 18 9.27132 18 9.52313C18 9.77493 17.9125 9.99198 17.7375 10.1743L13.8445 14.2669C13.5091 14.6174 13.0974 14.7927 12.6092 14.7927C12.121 14.7927 11.709 14.6174 11.373 14.2669L9.53584 12.3463L5.33657 16.7361C5.17618 16.9038 4.97584 16.9916 4.73555 16.9995C4.49526 17.0074 4.28734 16.9196 4.11179 16.7361ZM1.7497 16.4618C1.26853 16.4618 0.856768 16.2828 0.514411 15.9249C0.172054 15.567 0.000583232 15.1363 0 14.6327V1.82908C0 1.32609 0.17147 0.895642 0.514411 0.537751C0.857351 0.17986 1.26911 0.000609695 1.7497 0H13.9976C14.4787 0 14.8908 0.17925 15.2337 0.537751C15.5767 0.896251 15.7478 1.3267 15.7473 1.82908V5.48725C15.7473 5.74637 15.6633 5.96373 15.4953 6.13932C15.3273 6.31491 15.1197 6.4024 14.8724 6.40179H1.7497V16.4618Z" fill="currentColor"/> +</svg> diff --git a/src/img/logo-icon.svg b/src/img/logo-icon.svg new file mode 100644 index 0000000000..dbd7ffaedc --- /dev/null +++ b/src/img/logo-icon.svg @@ -0,0 +1,9 @@ +<svg width="28" height="23" viewBox="0 0 28 23" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M27.9999 22.3449L14.0213 0L0 22.3449H19.5349L14.0213 13.8169L11.2863 18.248H8.37958L14.0232 9.33898L22.1817 22.346L27.9999 22.3449Z" fill="url(#paint0_linear_1029_86636)"/> +<defs> +<linearGradient id="paint0_linear_1029_86636" x1="15.008" y1="0.580995" x2="4.81184" y2="24.2834" gradientUnits="userSpaceOnUse"> +<stop stop-color="#03D1CF" stop-opacity="0.988"/> +<stop offset="1" stop-color="#4E09F8"/> +</linearGradient> +</defs> +</svg> diff --git a/src/img/logo-text.svg b/src/img/logo-text.svg new file mode 100644 index 0000000000..c5bde1433d --- /dev/null +++ b/src/img/logo-text.svg @@ -0,0 +1,3 @@ +<svg width="49" height="19" viewBox="0 0 49 19" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M7.97335 8.99072C7.80532 8.99072 7.73331 9.06692 7.73331 9.2447V10.7685C7.73331 10.9463 7.80532 11.0225 7.97335 11.0225H12.7502V13.6935C12.2298 14.5376 11.5063 15.2197 10.654 15.6698C9.80184 16.1199 8.8517 16.3217 7.90134 16.2544C4.32473 16.2544 2.11636 13.8205 2.11636 9.14311C2.11636 4.49536 4.7088 2.0318 7.6613 2.0318C9.96169 2.0318 11.838 2.99691 12.4381 5.33348C12.4482 5.4059 12.4831 5.47186 12.5363 5.51872C12.5894 5.56558 12.657 5.59006 12.7262 5.58746H14.2584C14.4264 5.58746 14.5225 5.51126 14.5225 5.33348C13.8744 1.77783 10.9939 0 7.6573 0C3.91266 0 0 3.0477 0 9.14311C0 15.1623 3.70063 18.2862 7.99336 18.2862C9.28794 18.3279 10.5705 18.0126 11.7152 17.3715C12.8598 16.7303 13.8273 15.7852 14.5225 14.629C14.6942 14.341 14.7781 14.004 14.7625 13.6639V9.24893C14.7625 9.07115 14.6905 8.99496 14.5225 8.99496L7.97335 8.99072ZM32.8896 0.507952C32.8896 0.330169 32.8176 0.253977 32.6495 0.253977H30.3692C30.2876 0.245327 30.2056 0.265574 30.1361 0.31154C30.0666 0.357507 30.0135 0.426591 29.9851 0.507952L25.3283 11.8098L20.6715 0.507952C20.6431 0.426591 20.59 0.357507 20.5205 0.31154C20.451 0.265574 20.369 0.245327 20.2874 0.253977H18.0071C17.839 0.253977 17.767 0.330169 17.767 0.507952V17.7783C17.767 17.956 17.839 18.0322 18.0071 18.0322H19.5433C19.7113 18.0322 19.7834 17.956 19.7834 17.7783V3.58105L24.4842 14.8322C24.5077 14.8995 24.5503 14.9576 24.6061 14.9985C24.662 15.0393 24.7283 15.0611 24.7962 15.0607H25.8604C25.9283 15.0611 25.9946 15.0393 26.0504 14.9985C26.1063 14.9576 26.1489 14.8995 26.1724 14.8322L30.8732 3.58105V17.7783C30.8732 17.956 30.9453 18.0322 31.1133 18.0322H32.6495C32.8176 18.0322 32.8896 17.956 32.8896 17.7783V0.507952ZM38.1225 0.507952C37.9544 0.279374 37.9544 0.253977 37.7864 0.253977H35.9381C35.7701 0.253977 35.6981 0.380964 35.7701 0.507952L40.8589 8.65632L35.146 17.7783C35.074 17.9053 35.146 18.0322 35.314 18.0322H37.1143C37.2823 18.0322 37.3303 18.0068 37.4984 17.7783L42.0631 10.5188L46.6199 17.7783C46.7879 18.0068 46.836 18.0322 47.004 18.0322H48.8043C48.9723 18.0322 49.0443 17.9053 48.9723 17.7783L43.2633 8.66056L48.3522 0.512185C48.4242 0.385197 48.3522 0.25821 48.1842 0.25821H46.3319C46.1638 0.25821 46.1638 0.283607 45.9958 0.512185L42.0631 6.78114L38.1225 0.507952Z" fill="white"/> +</svg> diff --git a/src/img/logo_GMX_small.svg b/src/img/logo_GMX_small.svg index cab0ba7668..5034e310ca 100644 --- a/src/img/logo_GMX_small.svg +++ b/src/img/logo_GMX_small.svg @@ -1 +1,9 @@ -<svg height="21.462" viewBox="0 0 29.515 21.462" width="29.515" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="objectBoundingBox" x1=".536" x2=".011" y1=".026" y2="1"><stop offset="0" stop-color="#03d1cf" stop-opacity=".988"/><stop offset="1" stop-color="#4e09f8"/></linearGradient><path d="m555.182 717.462-14.735-21.462-14.78 21.462h20.592l-5.812-8.191-2.883 4.256h-3.064l5.949-8.557 8.6 12.493z" fill="url(#a)" transform="translate(-525.667 -696)"/></svg> \ No newline at end of file +<svg width="29" height="23" viewBox="0 0 29 23" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M28.3952 22.0789L14.583 0L0.728516 22.0789H20.0309L14.583 13.6525L11.8805 18.0308H9.00837L14.5848 9.22783L22.6463 22.08L28.3952 22.0789Z" fill="url(#paint0_linear_3239_80319)"/> +<defs> +<linearGradient id="paint0_linear_3239_80319" x1="15.5578" y1="0.57408" x2="5.48309" y2="23.9944" gradientUnits="userSpaceOnUse"> +<stop stop-color="#03D1CF" stop-opacity="0.988"/> +<stop offset="1" stop-color="#4E09F8"/> +</linearGradient> +</defs> +</svg> diff --git a/src/img/long.svg b/src/img/long.svg index 27137b4c16..b2f26e50b2 100644 --- a/src/img/long.svg +++ b/src/img/long.svg @@ -1 +1,3 @@ -<svg height="9.856" viewBox="0 0 15.704 9.856" width="15.704" xmlns="http://www.w3.org/2000/svg"><path d="m529-488.59v5.67l-2.113-2.109-5.326 5.319-2.924-2.921-3.9 3.9-1.444-1.448 5.341-5.341 2.924 2.924 3.882-3.882-2.113-2.109z" fill="currentColor" transform="translate(-513.3 488.59)"/></svg> +<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1 9L9 1M9 1H3M9 1V7" stroke="#0FDE8D" stroke-linecap="round"/> +</svg> diff --git a/src/img/new-bell.svg b/src/img/new-bell.svg new file mode 100644 index 0000000000..c0f07b0334 --- /dev/null +++ b/src/img/new-bell.svg @@ -0,0 +1,4 @@ +<svg width="16" height="18" viewBox="0 0 16 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M4.95983 15.8656C5.66073 16.7566 6.76182 17.3307 8 17.3307C9.23819 17.3307 10.3393 16.7566 11.0402 15.8656C9.02203 16.139 6.97798 16.139 4.95983 15.8656Z" fill="currentColor"/> +<path d="M13.6243 6.49739V7.08415C13.6243 7.7883 13.8252 8.47671 14.2018 9.0626L15.1247 10.4984C15.9676 11.8098 15.3241 13.5923 13.858 14.007C10.0227 15.0919 5.97728 15.0919 2.14197 14.007C0.675872 13.5923 0.0323529 11.8098 0.875299 10.4984L1.79816 9.0626C2.17476 8.47671 2.37573 7.7883 2.37573 7.08415V6.49739C2.37573 3.27573 4.8938 0.664062 8 0.664062C11.1062 0.664062 13.6243 3.27573 13.6243 6.49739Z" fill="currentColor"/> +</svg> diff --git a/src/img/new-long.svg b/src/img/new-long.svg new file mode 100644 index 0000000000..b2f26e50b2 --- /dev/null +++ b/src/img/new-long.svg @@ -0,0 +1,3 @@ +<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1 9L9 1M9 1H3M9 1V7" stroke="#0FDE8D" stroke-linecap="round"/> +</svg> diff --git a/src/img/new-short.svg b/src/img/new-short.svg new file mode 100644 index 0000000000..74e40cdaad --- /dev/null +++ b/src/img/new-short.svg @@ -0,0 +1,3 @@ +<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1 1L9 9M9 9L9 3M9 9L3 9" stroke="#FF506A" stroke-linecap="round"/> +</svg> diff --git a/src/img/referrals.svg b/src/img/referrals.svg new file mode 100644 index 0000000000..e8771266b1 --- /dev/null +++ b/src/img/referrals.svg @@ -0,0 +1,3 @@ +<svg width="22" height="16" viewBox="0 0 22 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M17 7H15C14.7167 7 14.4793 6.904 14.288 6.712C14.0967 6.52 14.0007 6.28267 14 6C13.9993 5.71733 14.0953 5.48 14.288 5.288C14.4807 5.096 14.718 5 15 5H17V3C17 2.71667 17.096 2.47933 17.288 2.288C17.48 2.09667 17.7173 2.00067 18 2C18.2827 1.99933 18.5203 2.09533 18.713 2.288C18.9057 2.48067 19.0013 2.718 19 3V5H21C21.2833 5 21.521 5.096 21.713 5.288C21.905 5.48 22.0007 5.71733 22 6C21.9993 6.28267 21.9033 6.52033 21.712 6.713C21.5207 6.90567 21.2833 7.00133 21 7H19V9C19 9.28333 18.904 9.521 18.712 9.713C18.52 9.905 18.2827 10.0007 18 10C17.7173 9.99933 17.48 9.90333 17.288 9.712C17.096 9.52067 17 9.28333 17 9V7ZM8 8C6.9 8 5.95833 7.60833 5.175 6.825C4.39167 6.04167 4 5.1 4 4C4 2.9 4.39167 1.95833 5.175 1.175C5.95833 0.391667 6.9 0 8 0C9.1 0 10.0417 0.391667 10.825 1.175C11.6083 1.95833 12 2.9 12 4C12 5.1 11.6083 6.04167 10.825 6.825C10.0417 7.60833 9.1 8 8 8ZM0 14V13.2C0 12.6333 0.146 12.1127 0.438 11.638C0.73 11.1633 1.11733 10.8007 1.6 10.55C2.63333 10.0333 3.68333 9.646 4.75 9.388C5.81667 9.13 6.9 9.00067 8 9C9.1 8.99933 10.1833 9.12867 11.25 9.388C12.3167 9.64733 13.3667 10.0347 14.4 10.55C14.8833 10.8 15.271 11.1627 15.563 11.638C15.855 12.1133 16.0007 12.634 16 13.2V14C16 14.55 15.8043 15.021 15.413 15.413C15.0217 15.805 14.5507 16.0007 14 16H2C1.45 16 0.979333 15.8043 0.588 15.413C0.196667 15.0217 0.000666667 14.5507 0 14Z" fill="currentColor"/> +</svg> diff --git a/src/img/short.svg b/src/img/short.svg index 108e1143a0..74e40cdaad 100644 --- a/src/img/short.svg +++ b/src/img/short.svg @@ -1 +1,3 @@ -<svg height="9.856" viewBox="0 0 15.704 9.856" width="15.704" xmlns="http://www.w3.org/2000/svg"><path d="m0 0v5.67l2.113-2.11 5.326 5.32 2.924-2.921 3.9 3.9 1.437-1.451-5.337-5.341-2.924 2.924-3.882-3.882 2.113-2.109z" fill="currentColor" transform="matrix(-1 0 0 -1 15.704 9.856)"/></svg> +<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1 1L9 9M9 9L9 3M9 9L3 9" stroke="#FF506A" stroke-linecap="round"/> +</svg> diff --git a/src/img/trade.svg b/src/img/trade.svg new file mode 100644 index 0000000000..ac1a8f1aac --- /dev/null +++ b/src/img/trade.svg @@ -0,0 +1,3 @@ +<svg width="14" height="16" viewBox="0 0 14 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M2 15V14H1C0.716667 14 0.479333 13.904 0.288 13.712C0.0966668 13.52 0.000666667 13.2827 0 13V3C0 2.71667 0.0960001 2.47934 0.288 2.288C0.48 2.09667 0.717333 2.00067 1 2H2V1C2 0.71667 2.096 0.479337 2.288 0.288004C2.48 0.0966702 2.71733 0.000670115 3 3.44827e-06C3.28267 -0.000663218 3.52033 0.0953369 3.713 0.288004C3.90567 0.48067 4.00133 0.718003 4 1V2H5C5.28333 2 5.521 2.096 5.713 2.288C5.905 2.48 6.00067 2.71734 6 3V13C6 13.2833 5.904 13.521 5.712 13.713C5.52 13.905 5.28267 14.0007 5 14H4V15C4 15.2833 3.904 15.521 3.712 15.713C3.52 15.905 3.28267 16.0007 3 16C2.71733 15.9993 2.48 15.9033 2.288 15.712C2.096 15.5207 2 15.2833 2 15ZM10 15V11H9C8.71667 11 8.47933 10.904 8.288 10.712C8.09667 10.52 8.00067 10.2827 8 10V5C8 4.71667 8.096 4.47934 8.288 4.288C8.48 4.09667 8.71733 4.00067 9 4H10V1C10 0.71667 10.096 0.479337 10.288 0.288004C10.48 0.0966702 10.7173 0.000670115 11 3.44827e-06C11.2827 -0.000663218 11.5203 0.0953369 11.713 0.288004C11.9057 0.48067 12.0013 0.718003 12 1V4H13C13.2833 4 13.521 4.096 13.713 4.288C13.905 4.48 14.0007 4.71734 14 5V10C14 10.2833 13.904 10.521 13.712 10.713C13.52 10.905 13.2827 11.0007 13 11H12V15C12 15.2833 11.904 15.521 11.712 15.713C11.52 15.905 11.2827 16.0007 11 16C10.7173 15.9993 10.48 15.9033 10.288 15.712C10.096 15.5207 10 15.2833 10 15Z" fill="currentColor"/> +</svg> diff --git a/src/lib/breakpoints.ts b/src/lib/breakpoints.ts new file mode 100644 index 0000000000..cc3b31eee7 --- /dev/null +++ b/src/lib/breakpoints.ts @@ -0,0 +1,17 @@ +import { useMedia } from "react-use"; + +export const BREAKPOINTS = { + mobile: 768, // md + tablet: 1024, // lg + desktop: 1280, // xl + smallMobile: 400, // sm +}; + +export const useBreakpoints = () => { + const isMobile = useMedia(`(max-width: ${BREAKPOINTS.mobile}px)`); + const isTablet = useMedia(`(max-width: ${BREAKPOINTS.tablet}px)`); + const isSmallDesktop = useMedia(`(max-width: ${BREAKPOINTS.desktop}px)`); + const isSmallMobile = useMedia(`(max-width: ${BREAKPOINTS.smallMobile}px)`); + + return { isMobile, isTablet, isSmallDesktop, isSmallMobile }; +}; diff --git a/src/lib/errors/customErrors.ts b/src/lib/errors/customErrors.ts index 8c558b78e6..0efdc5cc20 100644 --- a/src/lib/errors/customErrors.ts +++ b/src/lib/errors/customErrors.ts @@ -25,7 +25,7 @@ export function getIsPermitSignatureErrorOnSimulation(error: ErrorLike) { data: parsedError.contractErrorArgs[0], }); - const errorArg = decodedExternalCallFailed?.args[0]; + const errorArg = decodedExternalCallFailed?.args?.[0]; return typeof errorArg === "string" && errorArg.includes("invalid signature"); } diff --git a/src/locales/de/messages.po b/src/locales/de/messages.po index 13961f8b62..1190074056 100644 --- a/src/locales/de/messages.po +++ b/src/locales/de/messages.po @@ -15,7 +15,7 @@ msgstr "" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Unrealized Base PnL" -msgstr "" +msgstr "Nicht realisierter Basis-Gewinn/Verlust" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/NftWallet/NftWallet.jsx @@ -24,11 +24,11 @@ msgstr "Wallet nicht verbunden" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pear Protocol" -msgstr "" +msgstr "Pear Protocol" #: src/components/RatingToast/RatingToast.tsx msgid "Not likely" -msgstr "" +msgstr "Nicht wahrscheinlich" #: src/pages/Home/Home.tsx msgid "Available on your preferred network" @@ -49,12 +49,12 @@ msgstr "Verbindung trennen" #: src/components/Glp/GlpSwap.jsx msgid "Buy GM tokens before the epoch resets in {0} to be eligible for the Bonus Rebate. Alternatively, wait for the epoch to reset to redeem GLP and buy GM within the same epoch." -msgstr "" +msgstr "Kaufe GM-Token vor dem Zurücksetzen der Epoche in {0}, um für den Bonus-Rabatt berechtigt zu sein. Alternativ warte auf das Zurücksetzen der Epoche, um GLP einzulösen und GM innerhalb derselben Epoche zu kaufen." #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" msgstr "PREIS" @@ -62,15 +62,15 @@ msgstr "PREIS" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "receive" -msgstr "" +msgstr "erhalten" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Referrals Dashboard" -msgstr "" +msgstr "GMX-Referrals-Dashboard" #: src/pages/Stake/ClaimModal.tsx msgid "Stake GMX Rewards" -msgstr "" +msgstr "Stake GMX-Rewards" #: src/components/Glp/SwapErrorModal.tsx msgid "There is not enough liquidity in a single token for your size. Please check the Save on Fees section and consider splitting your order into several different ones" @@ -78,27 +78,27 @@ msgstr "Die Liquidität in einem einzigen Token ist für deine Größe nicht aus #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx msgid "Decrease the withdraw size to match the max. <0>Read more</0>.<1/><2/><3>Set max withdrawal</3>" -msgstr "" +msgstr "Verringere die Abhebungsgröße, um dem Maximum zu entsprechen. <0>Mehr lesen</0>.<1/><2/><3>Max. Abhebung festlegen</3>" #: src/domain/synthetics/userFeedback/utils.ts msgid "What would have made your rating a 9 or 10?" -msgstr "" +msgstr "Was hätte deine Bewertung zu einer 9 oder 10 gemacht?" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" msgstr "{existingTriggerOrderLength, plural, one {Du hast eine aktiven Trigger-Order, die unmittelbar nach dem Öffnen dieser Position ausgeführt werden könnte. Bitte storniere den Auftrag oder akzeptiere die Bestätigung, um fortzufahren.} other {Du hast # aktive Trigger-Orders, die sofort ausgeführt werden könnten, nachdem du diese Position eröffnet hast. Bitte storniere die Aufträge oder akzeptieren die Bestätigung, um fortzufahren.}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" -msgstr "" +msgstr "Debug-Werte anzeigen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Loss" -msgstr "" +msgstr "Stop-Loss ausführen" #: src/pages/Exchange/Exchange.tsx msgid "Could not decrease {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." -msgstr "{tokenSymbol} {longOrShortText} konnte nicht innerhalb der erlaubten Zeitspanne verringert werden. Du kannst die erlaubte Zeitspanne in den Einstellungen oben rechts auf der Seite anpassen." +msgstr "{tokenSymbol} {longOrShortText} konnte nicht innerhalb der erlaubten Schlupf reduziert werden. Du kannst die erlaubte Schlupf in den Einstellungen oben rechts auf der Seite anpassen." #: src/components/ModalViews/RedirectModal.tsx msgid "Agree" @@ -106,15 +106,19 @@ msgstr "Zustimmen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "BonsaiDAO" -msgstr "" +msgstr "BonsaiDAO" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Approval signed" +msgstr "Genehmigung unterzeichnet" + +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" msgstr "" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" -msgstr "" +msgstr "Täglicher Verlust" #: src/pages/Home/Home.tsx msgid "GMX is currently live on Arbitrum and Avalanche." @@ -122,7 +126,7 @@ msgstr "GMX ist derzeit auf Arbitrum und Avalanche verfügbar." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP Swap" -msgstr "" +msgstr "TWAP-Swap erstellen" #: src/components/Glp/GlpSwap.jsx msgid "Max Pool Capacity" @@ -137,7 +141,7 @@ msgstr "Yield-Optimierer auf Avalanche" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum" -msgstr "" +msgstr "Arbitrum" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -149,11 +153,11 @@ msgstr "Orders ({0})" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "You have not deposited any tokens for vesting." -msgstr "" +msgstr "Du hast keine Token für das Vesting eingezahlt." #: src/domain/synthetics/positions/utils.ts msgid "stop loss" -msgstr "" +msgstr "Stop-Loss" #: src/components/Exchange/OrdersList.jsx #: src/components/Referrals/AffiliatesStats.tsx @@ -166,15 +170,15 @@ msgstr "Typ" #: src/components/Exchange/PositionSeller.jsx msgid "Order submitted!" -msgstr "" +msgstr "Order übermittelt!" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Updating {updateOrdersCount} TP/SL order(s)" -msgstr "" +msgstr "Aktualisiere {updateOrdersCount} TP/SL-Order(s)" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "RabbitHole" -msgstr "" +msgstr "RabbitHole" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is above its target weight.<0/><1/>Get lower fees to <2>swap</2> tokens for {1}." @@ -183,19 +187,19 @@ msgstr "{0} liegt über der Zielgewichtung.<0/><1/>Erhalte niedrigere Gebühren, #: src/domain/synthetics/markets/createGlvWithdrawalTxn.ts #: src/domain/synthetics/markets/createWithdrawalTxn.ts msgid "Withdrawal error." -msgstr "" +msgstr "Abhebungsfehler." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit" -msgstr "" +msgstr "Limit fehlgeschlagen" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Performance" -msgstr "" +msgstr "Leistung" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized return of the pool or vault over the selected period, compared to a benchmark that follows Uniswap V2–style rebalancing of the backing tokens in the same GM pool or GLV vault.<0/><1/>Annualized figures based on short periods may be distorted by short-term volatility.<2/><3/>For detailed stats and comparisons, see the <4>GMX V2 LP Dashboard</4>." -msgstr "" +msgstr "Annualisierter Return des Pools oder Vaults über den ausgewählten Zeitraum, verglichen mit einem Benchmark, der dem Uniswap V2-Stil-Rebalancing der Backing-Token im selben GM-Pool oder GLV-Vault folgt.<0/><1/>Annualisierte Zahlen basierend auf kurzen Perioden können durch kurzfristige Volatilität verzerrt sein.<2/><3/>Für detaillierte Statistiken und Vergleiche siehe das <4>GMX V2 LP Dashboard</4>." #: src/pages/Home/Home.tsx msgid "Decentralized<0/>Perpetual Exchange" @@ -203,52 +207,51 @@ msgstr "Dezentralisierte<0/>Perpetual Börse" #: src/pages/Stake/VesterDepositModal.tsx msgid "Current Reserved" -msgstr "" +msgstr "Aktuell reserviert" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Arbitrum" -msgstr "" +msgstr "V2 Arbitrum" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" -msgstr "" +msgstr "EIP-4844, 13-20 März" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Total size" -msgstr "" +msgstr "Gesamtgröße" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express Trading" -msgstr "" +msgstr "Versuche Express-Trading" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if there is not enough available liquidity." -msgstr "" +msgstr "Beachte, dass es seltene Fälle geben kann, in denen der Auftrag nicht ausgeführt werden kann, z. B. wenn die Chain down ist und keine Oracle-Berichte produziert werden oder wenn nicht genügend Liquidität verfügbar ist." #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Buy {gasPaymentTokensText}" -msgstr "" +msgstr "Kaufe {gasPaymentTokensText}" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Show error" -msgstr "" +msgstr "Fehler anzeigen" #: src/components/Exchange/SwapBox.jsx msgid "Trigger orders, increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions using market orders." -msgstr "" +msgstr "Trigger-Orders, Erhöhung von Positionen (Markt oder Limit), Hinzufügen von Kollateral und Swaps auf GMX V1 sind jetzt deaktiviert. Du kannst bestehende Positionen weiterhin mit Markt-Orders schließen." #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} kann verwendet werden, um GM für diesen Markt bis zu den angegebenen Kaufobergrenzen zu kaufen." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High TWAP Network Fee" -msgstr "" +msgstr "Hohe TWAP-Netzwerkgebühr" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Market Swap" @@ -256,12 +259,12 @@ msgstr "Market Swap ausführen" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit submitted!" -msgstr "" +msgstr "Einzahlung übermittelt!" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Volume" -msgstr "" +msgstr "Volumen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit Swap" @@ -269,7 +272,7 @@ msgstr "Limit Swap abbrechen" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{seconds}s" -msgstr "" +msgstr "{seconds}s" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Required" @@ -277,7 +280,7 @@ msgstr "{0} Erforderlich" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "No incentives distribution history yet." -msgstr "" +msgstr "Noch keine Historie der Incentives-Verteilung." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -301,19 +304,19 @@ msgstr "Siehe Status." #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Buyable" -msgstr "" +msgstr "Kaufbar" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" -msgstr "" +msgstr "TWAP-Anzahl der Teile" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee - UI Fee" -msgstr "" +msgstr "Nettowert: Initiales Kollateral + Gewinn/Verlust - Leihgebühr - Negative Funding-Gebühr - Schließgebühr - UI-Gebühr" #: src/components/Exchange/ConfirmationBox.jsx msgid "The spread is > 1%, please ensure the trade details are acceptable before confirming" -msgstr "" +msgstr "Der Spread beträgt > 1 %, stelle bitte sicher, dass die Handelsdetails akzeptabel sind, bevor du bestätigst" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}<0/><1/>Please mint GLP using another token" @@ -321,7 +324,7 @@ msgstr "Max. Pool-Kapazität für {0}<0/><1/> erreicht. Bitte minte GLP mit eine #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a value" -msgstr "" +msgstr "Wert eingeben" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT Address" @@ -335,24 +338,24 @@ msgstr "VERFÜGBAR" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "@username" -msgstr "" +msgstr "@Benutzername" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Short Inc." -msgstr "" +msgstr "Stop-Markt - Short Erhöhung" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Take Profit" -msgstr "" +msgstr "Take-Profit fehlgeschlagen" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Confirm Settle" -msgstr "" +msgstr "Abrechnung bestätigen" #: src/domain/synthetics/markets/createDepositTxn.ts #: src/domain/synthetics/markets/createGlvDepositTxn.ts msgid "Deposit error." -msgstr "" +msgstr "Einzahlungsfehler." #: src/pages/Exchange/Exchange.tsx msgid "Increased {tokenSymbol} {longOrShortText}, +{0} USD." @@ -360,19 +363,19 @@ msgstr "Erhöht {tokenSymbol} {longOrShortText}, +{0} USD." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{updateOrdersCount} TP/SL order(s) updated" -msgstr "" +msgstr "{updateOrdersCount} TP/SL-Order(s) aktualisiert" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price above mark price" -msgstr "" +msgstr "Stop-Marktpreis über Markpreis" #: src/pages/Stake/StakeModal.tsx msgid "Pending {stakingTokenSymbol} approval" -msgstr "" +msgstr "Ausstehende {stakingTokenSymbol}-Genehmigung" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions" -msgstr "" +msgstr "Offene Positionen" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstaking..." @@ -384,11 +387,11 @@ msgstr "Du kannst das obige Zeichen \"Kollateral in\" ändern, um niedrigere Geb #: src/domain/synthetics/trade/utils/validation.ts msgid "The sellable cap for the pool GM: {0} [{1}] has been reached, as the tokens are reserved by traders. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "Die verkaufbare Obergrenze für den Pool GM: {0} [{1}] ist erreicht, da die Token von Tradern reserviert sind. Bitte wähle einen anderen Pool, reduziere die Verkaufsgröße oder teile deine Abhebung auf mehrere Pools auf." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap TWAP: Swap tokens in evenly distributed parts over a specified time." -msgstr "" +msgstr "Swap TWAP: Tausche Token in gleichmäßig verteilten Teilen über einen festgelegten Zeitraum." #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} short exceeded" @@ -396,17 +399,17 @@ msgstr "Max {0} Short überschritten" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GM balance" -msgstr "" +msgstr "Unzureichendes GM-Guthaben" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token is a vault of automatically rebalanced GM tokens that accrue fees from leverage trading and swaps from the included markets. Backed by {0} and {1}." -msgstr "" +msgstr "Dieser Token ist ein Vault mit automatisch rebalancierten GM-Token, die Gebühren aus Leverage-Trading und Swaps der enthaltenen Märkte akkumulieren. Unterlegt mit {0} und {1}." #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool USD exceeded" -msgstr "" +msgstr "Max. Pool-USD überschritten" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -414,33 +417,35 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price below mark price" -msgstr "" +msgstr "Limitpreis unter Markpreis" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "sell" -msgstr "" +msgstr "verkaufen" #: src/components/Exchange/SwapBox.jsx #: src/config/events.tsx msgid "Please migrate your positions to GMX V2." -msgstr "" +msgstr "Bitte migriere deine Positionen zu GMX V2." +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "Positionen" #: src/domain/synthetics/trade/utils/validation.ts msgid "{0} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{0} kann nicht an Smart-Contract-Adressen gesendet werden. Wähle einen anderen Token." #: src/domain/synthetics/markets/claimFundingFeesTxn.ts msgid "Funding Claimed" -msgstr "" +msgstr "Funding beansprucht" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please enable <2>Express trading</2> under settings, which should offer a better experience." -msgstr "" +msgstr "Transaktion fehlgeschlagen aufgrund von RPC-Fehler.<0/><1/>Bitte aktiviere <2>Express-Trading</2> in den Einstellungen, was eine bessere Erfahrung bieten sollte." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code added!" @@ -448,11 +453,11 @@ msgstr "Referral Code hinzugefügt!" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELLABLE" -msgstr "" +msgstr "VERKAUFBAR" #: src/pages/Dashboard/StatsCard.tsx msgid "Treasury" -msgstr "" +msgstr "Treasury" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap {0} to {1} on 1inch" @@ -464,24 +469,22 @@ msgstr "Swappe {0} gegen {1} auf 1inch" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "No pools matched." -msgstr "" - -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "" +msgstr "Keine Pools passen." #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "Orders" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Increased {positionText}, +{0}" -msgstr "" +msgstr "Erhöht {positionText}, +{0}" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -489,27 +492,27 @@ msgid "Funding Fee" msgstr "Finanzierungsgebühr" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Unzureichende Liquidität im {0}-Marktpool. Wähle einen anderen Pool für diesen Markt. Die Wahl eines anderen Pools würde eine neue Position eröffnen, die sich von der bestehenden unterscheidet.<0><1>Wechsle zum {1}-Marktpool</1>.</0>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" -msgstr "" +msgstr "Limit-Order bestätigen" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirm Withdraw" -msgstr "" +msgstr "Abhebung bestätigen" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized PnL" -msgstr "" +msgstr "Realisierter Gewinn/Verlust" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX V2 Data Analytics within Telegram" -msgstr "" +msgstr "GMX V2-Datenanalysen in Telegram" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer ETH from other networks to Arbitrum using any of the below options:" @@ -517,13 +520,14 @@ msgstr "Du kannst ETH von anderen Netzwerken zu Arbitrum transferieren, indem du #: src/components/Exchange/SwapBox.jsx msgid "Created limit order for {0} {1}: {2} USD!" -msgstr "Erstellte Limit Order für {0} {1}: {2} USD!" +msgstr "Erstellte Limit-Order für {0} {1}: {2} USD!" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" msgstr "Ungültiger Token von Token: \"{0}\" zu Token: \"{toTokenAddress}\"" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" @@ -532,36 +536,36 @@ msgstr "Statistiken" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Price Impact Rebates" -msgstr "" +msgstr "Preisimpakt-Rabatte beanspruchen" #: src/pages/Stake/VesterDepositModal.tsx msgid "Max Capacity" -msgstr "" +msgstr "Max. Kapazität" #: src/domain/synthetics/orders/utils.tsx msgid "Market Swap" msgstr "Markt-Tausch" -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "Handelshistorie" - #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" -msgstr "" +msgstr "Mehr" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." +msgstr "Da dein Positionskollateral in {symbol} ist, mit einem anfänglichen Wert höher als die {indexName}-Short-Positionsgröße, wird der Kollateralwert steigen, um jeden negativen Gewinn/Verlust abzudecken, daher gibt es keinen Liquidationspreis." + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" msgstr "" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{actionsCount, plural, one {Order} other {# Orders}}" #: src/config/bridging.tsx msgid "Buy APE on Arbitrum with <0>Camelot</0>." -msgstr "" +msgstr "Kaufe APE auf Arbitrum mit <0>Camelot</0>." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You will need to be on this page to accept the transfer, <0>click here</0> to copy the link to this page if needed." @@ -579,6 +583,10 @@ msgstr "Verstecken" msgid "in liquidity" msgstr "In Liquidität" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "" + #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" msgstr "Exit-Preis" @@ -590,17 +598,17 @@ msgstr "Preis eingeben" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V2" -msgstr "" +msgstr "Rabatte auf V2" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives are airdropped weekly." -msgstr "" +msgstr "Incentives werden wöchentlich per Airdrop verteilt." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "Acceptable Price Impact" -msgstr "" +msgstr "Akzeptabler Preisimpakt" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add to Metamask" @@ -608,20 +616,20 @@ msgstr "Zu Metamask hinzufügen" #: src/pages/Stake/VesterDepositModal.tsx msgid "Insufficient staked tokens" -msgstr "" +msgstr "Unzureichend gestakete Token" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Telegram contact (optional)" -msgstr "" +msgstr "Telegram-Kontakt (optional)" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in {minutesText}{seconds}s." -msgstr "" +msgstr "Markt-Order wird in {minutesText}{seconds}s stornierbar sein." #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "providing liquidity" -msgstr "" +msgstr "Liquidität bereitstellen" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Tap [Create Wallet] to start using your Web3 Wallet." @@ -629,15 +637,15 @@ msgstr "Tippe auf [Wallet erstellen], um dein Web3 Wallet zu verwenden." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Plutus" -msgstr "" +msgstr "Plutus" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pairs Trading" -msgstr "" +msgstr "Pairs-Trading" #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX {versionName} {networkName} actions for all accounts." -msgstr "" +msgstr "GMX {versionName} {networkName}-Aktionen für alle Konten." #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel submitted" @@ -645,7 +653,7 @@ msgstr "Abbruch übermittelt" #: src/components/Exchange/PositionSeller.jsx msgid "Please uncheck \"Keep Leverage\", or close a larger position amount." -msgstr "" +msgstr "Bitte deaktiviere \"Leverage beibehalten\" oder schließe einen größeren Positionsbetrag." #: src/components/Exchange/PositionDropdown.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -654,7 +662,7 @@ msgstr "Kollateral bearbeiten" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Long Stop-Markt: {0} eine Short-Position, wenn der Preis unter dem Trigger-Preis liegt." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -662,7 +670,11 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price above mark price" -msgstr "" +msgstr "Limitpreis über Markpreis" + +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "Offenes Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" @@ -670,7 +682,7 @@ msgstr "Wallet erstellen oder importieren" #: src/pages/Stake/ClaimModal.tsx msgid "Stake esGMX Rewards" -msgstr "" +msgstr "Stake esGMX-Rewards" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks and Settings" @@ -678,63 +690,56 @@ msgstr "Netzwerke und Einstellungen" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max network fee buffer precision is 0.01%" -msgstr "" +msgstr "Max. Netzwerkgebühr-Puffer-Präzision beträgt 0,01 %" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Max. Leverage Exceeded" -msgstr "" +msgstr "Max. Leverage überschritten" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" msgstr "Token suchen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeltaPrime" -msgstr "" +msgstr "DeltaPrime" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using Decentralized Exchange Aggregators:" -msgstr "" +msgstr "Kaufe GMX mit dezentralen Exchange-Aggregatoren:" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Min. Required Collateral" -msgstr "" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "" +msgstr "Min. Erforderliches Kollateral" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" -msgstr "" +msgstr "Rang" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average position size." -msgstr "" +msgstr "Durchschnittliche Positionsgröße." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx msgid "{0} <0/><1> to </1>{1} <2/>" -msgstr "" +msgstr "{0} <0/><1> zu </1>{1} <2/>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Market: {0} a short position at the current price." -msgstr "" +msgstr "{typeString} Short-Markt: {0} eine Short-Position zum aktuellen Preis." #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "Claim {totalUsd}" -msgstr "" +msgstr "Beanspruche {totalUsd}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Swap" -msgstr "" +msgstr "Yield Yak Swap" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Vaultka" -msgstr "" +msgstr "Vaultka" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -745,24 +750,24 @@ msgstr "MARKT" #: src/domain/synthetics/userFeedback/utils.ts msgid "What did you like the most about our service?" -msgstr "" +msgstr "Was hat dir an unserem Service am besten gefallen?" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Paraswap" -msgstr "" +msgstr "Paraswap" #: src/components/TVChartContainer/constants.ts msgid "TP - Long Dec." -msgstr "" +msgstr "TP - Long Verringerung" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claimable Rebates" -msgstr "" +msgstr "Beanspruchbare Rabatte" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount reached" -msgstr "" +msgstr "Max. Pool-Betrag erreicht" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Market Orders" @@ -770,15 +775,15 @@ msgstr "Markt-Orders" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we address your concerns and improve your experience?" -msgstr "" +msgstr "Wie können wir deine Bedenken angehen und deine Erfahrung verbessern?" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value locked takes into account:" -msgstr "" +msgstr "Gesamtwert gesperrt berücksichtigt:" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending buy request" -msgstr "" +msgstr "Kaufanfrage senden" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can check your claim history <0>here</0>." @@ -786,7 +791,7 @@ msgstr "Du kannst deine Claim-Historie <0>hier</0> einsehen." #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable positive funding fees.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "Beanspruchbare positive Funding-Gebühren.<0/><1/>Sie werden verfügbar, nachdem die Position modifiziert wurde, indem sie erhöht oder verringert wird, Kollateral eingezahlt oder abgehoben wird oder die Gebühren mit der \"Abrechnen\"-Schaltfläche abgerechnet werden." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -799,11 +804,11 @@ msgstr "Akzeptabler Preis für den Auftrag." #: src/components/TVChartContainer/DynamicLine.tsx msgid "The order could not be updated" -msgstr "" +msgstr "Der Auftrag konnte nicht aktualisiert werden" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Cross-chain one-click deposits into GM" -msgstr "" +msgstr "Cross-Chain-One-Click-Einzahlungen in GM" #: src/pages/Home/Home.tsx msgid "Open positions through a simple swap interface. Conveniently swap from any supported asset into the position of your choice." @@ -811,10 +816,12 @@ msgstr "Eröffne Positionen über eine einfache Swap-Schnittstelle. Tausche bequ #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives Distribution History" -msgstr "" +msgstr "Incentives-Verteilungs-Historie" + +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "Keine Märkte passen" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" @@ -822,7 +829,7 @@ msgstr "MAX" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid slippage value" -msgstr "Ungültiger Slippagewert" +msgstr "Ungültiger Schlupfwert" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -831,7 +838,7 @@ msgstr "{0} Preis" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} buyable amount exceeded" -msgstr "" +msgstr "Max. {0} kaufbarer Betrag überschritten" #: src/components/Glp/GlpSwap.jsx msgid "Sell submitted!" @@ -839,7 +846,7 @@ msgstr "Verkauf übermittelt!" #: src/components/Exchange/PositionSeller.jsx msgid "Closing..." -msgstr "" +msgstr "Schließen..." #: src/components/Referrals/AddAffiliateCode.jsx msgid "Code already taken" @@ -847,31 +854,30 @@ msgstr "Code bereits vergeben" #: src/components/TVChartContainer/constants.ts msgid "SL - Short Dec." -msgstr "" +msgstr "SL - Short Verringerung" #: src/components/SettingsModal/SettingsModal.tsx msgid "Slippage should be less than -5%" -msgstr "" +msgstr "Schlupf sollte weniger als -5 % betragen" #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Acceptable Swap Impact" -msgstr "" +msgstr "Akzeptabler Swap-Impakt" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "Hinterlasse dein Telegram, wenn du einverstanden bist, für eine schnelle Nachverfolgung kontaktiert zu werden" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized PnL" -msgstr "" +msgstr "Nicht realisierter Gewinn/Verlust" #: src/pages/Dashboard/OverviewCard.tsx msgid "This value may be higher on other websites due to the collateral of positions being included in the calculation." -msgstr "" +msgstr "Dieser Wert könnte auf anderen Websites höher sein, da das Kollateral von Positionen in die Berechnung einbezogen wird." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/pages/Stake/GlpCard.tsx @@ -881,7 +887,7 @@ msgstr "Rewards" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Liq. {0} {longOrShortText}" -msgstr "" +msgstr "Liq. {0} {longOrShortText}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -905,36 +911,36 @@ msgstr "GMX Governance Seite" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Money Market" -msgstr "" +msgstr "Dezentraler Geldmarkt" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Stop Price" -msgstr "" +msgstr "Stop-Preis" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "using GLV and GM tokens. Buying or staking GMX, or using referrals, is not supported at this time." -msgstr "" +msgstr "mit GLV- und GM-Token. Der Kauf oder Staking von GMX oder die Nutzung von Referrals wird derzeit nicht unterstützt." #: src/pages/AccountDashboard/HistoricalLists.tsx msgid "Positions ({positionsCount})" -msgstr "" +msgstr "Positionen ({positionsCount})" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Trade GMX</0>" -msgstr "" +msgstr "<0>Trade GMX</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "As network fees have increased, an additional network fee is needed." -msgstr "" +msgstr "Da die Netzwerkgebühren gestiegen sind, ist eine zusätzliche Netzwerkgebühr erforderlich." #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited" -msgstr "" +msgstr "Eingezahlt" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Limit: Swap tokens when the trigger price is reached." -msgstr "" +msgstr "Swap-Limit: Tausche Token, wenn der Trigger-Preis erreicht wird." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP have been reserved for vesting." @@ -942,7 +948,7 @@ msgstr "{0} GLP sind für Vesting reserviert worden." #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Selling {symbol}..." -msgstr "" +msgstr "Verkaufe {symbol}..." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -951,7 +957,7 @@ msgstr "Kaufe mit {0}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Asset Management" -msgstr "" +msgstr "Asset-Management" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding..." @@ -959,7 +965,7 @@ msgstr "Hinzufügen..." #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX {VERSION_NAME} {networkName} actions for all accounts." -msgstr "" +msgstr "GMX {VERSION_NAME} {networkName}-Aktionen für alle Konten." #: src/components/Exchange/ConfirmationBox.jsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met" @@ -967,7 +973,7 @@ msgstr "Es kann sein, dass nicht genügend Liquidität vorhanden ist, um deinen #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow <0>BTCUSD</0> price in real-time, along with other currency pair rates. The interactive charts offer advanced tools and a user-friendly interface for easier market analysis and decision-making." -msgstr "" +msgstr "GMX verwendet TradingView, um Echtzeit-Kryptowährungscharts bereitzustellen, sodass du den <0>BTCUSD</0>-Preis in Echtzeit leicht verfolgen kannst, zusammen mit anderen Währungspaar-Kursen. Die interaktiven Charts bieten fortschrittliche Tools und eine benutzerfreundliche Oberfläche für eine einfachere Marktanalyse und Entscheidungsfindung." #: src/components/Glp/SwapErrorModal.tsx msgid "Swap on 1inch" @@ -975,15 +981,15 @@ msgstr "Swappe auf 1inch" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Coingecko" -msgstr "" +msgstr "Öffne {0} in Coingecko" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buy {operationTokenSymbol}" -msgstr "" +msgstr "Kaufe {operationTokenSymbol}" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy GM: {0}" -msgstr "" +msgstr "Kaufe GM: {0}" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx @@ -993,35 +999,35 @@ msgstr "Marktkapitalisierung" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settled" -msgstr "" +msgstr "{positionName}-Gebühren abgerechnet" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average leverage used." -msgstr "" +msgstr "Durchschnittlich genutzter Leverage." #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/TotalRewardsCard.tsx msgid "Escrowed GMX" -msgstr "" +msgstr "Escrowed GMX" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX for Liquidity Providers. For security reasons, we won't contact you first. Please send the message \"I’m a Liquidity Provider\" to our official telegram account:" -msgstr "" +msgstr "Wir wollen deine Einblicke, um GMX für Liquiditätsanbieter zu verbessern. Aus Sicherheitsgründen kontaktieren wir dich nicht zuerst. Bitte sende die Nachricht \"I’m a Liquidity Provider\" an unser offizielles Telegram-Konto:" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Insufficient Liquidity" -msgstr "" +msgstr "Unzureichende Liquidität" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "The max network fee is overestimated, including by the buffer set under settings. Upon execution, any excess network fee is sent back to your account." -msgstr "" +msgstr "Die max. Netzwerkgebühr wird überschätzt, einschließlich des Puffers in den Einstellungen. Bei Ausführung wird jede überschüssige Netzwerkgebühr an dein Konto zurückgesendet." #: src/components/Synthetics/GmList/GmListItem.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "TVL (Supply)" -msgstr "" +msgstr "TVL (Angebot)" #: src/components/ModalViews/RedirectModal.tsx msgid "Alternative links can be found in the <0>docs</0>.<1/><2/>By clicking Agree you accept the <3>T&Cs</3> and <4>Referral T&Cs</4>.<5/><6/>" @@ -1029,7 +1035,7 @@ msgstr "Alternative Links findest du in den <0>Dokumenten</0>.<1/><2/>Mit dem Kl #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "All Time" -msgstr "" +msgstr "Gesamte Zeit" #: src/components/Referrals/referralsHelper.js msgid "The referral code can't be more than {MAX_REFERRAL_CODE_LENGTH} characters." @@ -1048,26 +1054,26 @@ msgstr "GMX-Grundlagen" msgid "Referral Code" msgstr "Referral Code" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" -msgstr "" +msgstr "Charts von TradingView" #: src/pages/Stake/TotalRewardsCard.tsx msgid "GMX Staked Rewards" -msgstr "" +msgstr "GMX-Gestakete Rewards" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Staked Tokens" -msgstr "" +msgstr "Gestakete Token" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Beefy" -msgstr "" +msgstr "Beefy" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake completed!" -msgstr "" +msgstr "Unstaking abgeschlossen!" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1081,15 +1087,15 @@ msgstr "Geschätzte Gebührenerstattung" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Swaps" -msgstr "" +msgstr "GMX-Swaps" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivating..." -msgstr "" +msgstr "Deaktivieren..." #: src/components/Header/HomeHeaderLinks.tsx msgid "Protocol" -msgstr "" +msgstr "Protokoll" #: src/pages/Dashboard/OverviewCard.tsx msgid "Overview" @@ -1097,12 +1103,12 @@ msgstr "Übersicht" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Allow all my tokens to be transferred to a new account" -msgstr "" +msgstr "Erlaube, dass alle meine Token auf ein neues Konto transferiert werden" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche Max. APY: {0}" -msgstr "" +msgstr "Avalanche Max. APY: {0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrdersList.jsx @@ -1120,19 +1126,19 @@ msgstr "Kollateral" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Market" -msgstr "" +msgstr "Stop-Markt abbrechen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit" -msgstr "" +msgstr "Limit ausführen" #: src/components/AprInfo/AprInfo.tsx msgid "Base APY" -msgstr "" +msgstr "Basis-APY" #: src/components/TokenCard/TokenCard.tsx msgid "GMX V1 markets are disabled. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "GMX V1-Märkte sind deaktiviert. GLP wird schrittweise eingestellt und unterstützt keine GMX V1-Märkte mehr." #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -1150,26 +1156,32 @@ msgstr "GLP verkaufen" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." -msgstr "" +msgstr "Da dein Positionskollateral in {symbol} ist, mit einem anfänglichen Wert höher als die {indexName}-Long-Positionsgröße, wird der Kollateralwert jeden negativen Gewinn/Verlust abdecken, daher gibt es keinen Liquidationspreis." + +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "CSV" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." -msgstr "" +msgstr "Short Liq." #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Time limit expired." -msgstr "" +msgstr "One-Click-Trading ist deaktiviert. Zeitlimit abgelaufen." #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {composition} as per the composition displayed." -msgstr "" +msgstr "Dieser Token akkumuliert automatisch Gebühren aus Leverage-Trading und Swaps für den {0}-Markt. Er ist auch {composition} ausgesetzt, wie in der Zusammensetzung dargestellt." #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Buy Fee" -msgstr "" +msgstr "Kaufgebühr" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "Tokens" @@ -1179,27 +1191,23 @@ msgstr "Abhebungsanfrage" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "1inch" -msgstr "" - -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "" +msgstr "1inch" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" -msgstr "" +msgstr "Kopiert" #: src/components/Exchange/PositionEditor.jsx msgid "Requested deposit of {0} {1} into {2} {longOrShortText}." -msgstr "" +msgstr "Angeforderte Einzahlung von {0} {1} in {2} {longOrShortText}." #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid TWAP number of parts value" -msgstr "" +msgstr "Ungültiger TWAP-Anzahl-der-Teile-Wert" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid network fee buffer value" -msgstr "" +msgstr "Ungültiger Netzwerkgebühr-Puffer-Wert" #: src/components/Exchange/TradeHistory.jsx msgid "Request deposit into {0} {longOrShortText}" @@ -1207,41 +1215,41 @@ msgstr "Einzahlungsanfrage in {0} {longOrShortText}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "0x" -msgstr "" +msgstr "0x" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "FUNDING FEE" -msgstr "" +msgstr "FUNDING-GEBÜHR" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Markets" -msgstr "" +msgstr "Märkte" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Real-time rants about GMX Trades" -msgstr "" +msgstr "Echtzeit-Rants über GMX-Trades" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "The total realized and unrealized profit and loss for the period, considering price impact and fees but excluding swap fees." -msgstr "" +msgstr "Der gesamte realisierte und nicht realisierte Gewinn und Verlust für den Zeitraum, unter Berücksichtigung von Preisimpakt und Gebühren, aber ohne Swap-Gebühren." #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V2" -msgstr "" +msgstr "Volumen auf V2" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show less" -msgstr "" +msgstr "Weniger anzeigen" #: src/pages/Stake/Vesting.tsx msgid "Vest" -msgstr "" +msgstr "Vesten" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in the GLP pools." -msgstr "" +msgstr "Gesamtwert der Token in den GLP-Pools." #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Select pool" @@ -1281,14 +1289,14 @@ msgstr "Swap aktiv: {0}, ausgeführt: {1}, abgebrochen: {2}" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Buy token on:" -msgstr "" +msgstr "Kaufe Token auf:" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Price Impact" -msgstr "" +msgstr "Realisierter Preisimpakt" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit Swap" @@ -1296,7 +1304,11 @@ msgstr "Limit Swap fehlgeschlagen" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Liq. {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "Liq. {longOrShortText} - {marketIndexName}" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "Aktionen" #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." @@ -1308,11 +1320,11 @@ msgstr "Rabatte insgesamt" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {1} and {2} as per the composition displayed." -msgstr "" +msgstr "Dieser Token akkumuliert automatisch Gebühren aus Leverage-Trading und Swaps für den {0}-Markt. Er ist auch {1} und {2} ausgesetzt, wie in der Zusammensetzung dargestellt." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min order: {0}" -msgstr "" +msgstr "Min. Order: {0}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -1321,44 +1333,44 @@ msgstr "Wallet ist nicht verbunden" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "TWAP Swap" -msgstr "" +msgstr "TWAP-Swap" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GM is the liquidity provider token for GMX V2 markets. Accrues 63% of the V2 markets generated fees." -msgstr "" +msgstr "GM ist der Liquiditätsanbieter-Token für GMX V2-Märkte. Akkumuliert 63 % der generierten Gebühren der V2-Märkte." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider adding a buffer of 0.30% to it so the order is more likely to be processed." -msgstr "" +msgstr "Der aktuelle Preisimpakt beträgt {0}. Erwäge, einen Puffer von 0,30 % hinzuzufügen, damit der Auftrag wahrscheinlicher verarbeitet wird." #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Hide error" -msgstr "" +msgstr "Fehler verstecken" #: src/components/Referrals/TradersStats.tsx msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." -msgstr "" +msgstr "Der Eigentümer dieses Referral-Codes hat einen benutzerdefinierten Rabatt von {currentTierDiscount} % anstelle des Standard-{0} % für Tier {1} festgelegt." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "Deine Wallet, deine Keys. Du signierst jede Transaktion on-chain mit deinem eigenen RPC, typischerweise von deiner Wallet bereitgestellt. Gas-Zahlungen in ETH." #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" -msgstr "" +msgstr "Restposition unter 10 USD" #: src/config/bridging.tsx msgid "Mint tBTC using BTC with <0>Threshold</0>." -msgstr "" +msgstr "Minte tBTC mit BTC unter <0>Threshold</0>." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Price Impact" -msgstr "" +msgstr "Swap-Preisimpakt" #: src/domain/synthetics/userFeedback/utils.ts msgid "What issues did you encounter that led to your rating?" -msgstr "" +msgstr "Welche Probleme hast du erlebt, die zu deiner Bewertung geführt haben?" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Address" @@ -1366,41 +1378,41 @@ msgstr "NFT Adresse" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancelled." -msgstr "" +msgstr "{orderText} abgebrochen." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} GLV-Pools sind <0>inceniviert{sparkle}.</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Set Max Leverage" -msgstr "" +msgstr "Max. Leverage festlegen" #: src/components/Exchange/PositionSeller.jsx msgid "Insufficient Available Liquidity to swap to {0}:" -msgstr "" +msgstr "Unzureichende verfügbare Liquidität zum Swap zu {0}:" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Created At" -msgstr "" +msgstr "Erstellt am" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Symbiosis" -msgstr "" +msgstr "Symbiosis" #: src/components/TokenSelector/TokenSelector.tsx msgid "No tokens matched." -msgstr "" +msgstr "Keine Token passen." #: src/components/Exchange/TradeHistory.jsx msgid "Withdraw {0} USD from {1}{longOrShortText}" -msgstr "" +msgstr "Hebe {0} USD von {1}{longOrShortText} ab" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "{orderTypeLabel} {positionText}, -{0}" -msgstr "" +msgstr "{orderTypeLabel} {positionText}, -{0}" #: src/pages/PageNotFound/PageNotFound.jsx #: src/pages/PageNotFound/PageNotFound.jsx @@ -1415,9 +1427,14 @@ msgstr "Telegram-Bot für GMX-Positionsupdates" msgid "account" msgstr "Konto" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" +msgstr "" + #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Keep leverage at {0}" -msgstr "" +msgstr "Leverage bei {0} halten" #: src/components/Exchange/SwapBox.jsx msgid "If you have an existing position, the position will be closed at {0} USD.<0/><1/>This exit price will change with the price of the asset.<2/><3/><4>Read more</4>." @@ -1425,7 +1442,7 @@ msgstr "Wenn du eine bestehende Position hast, wird die Position für {0} USD ge #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAIL. LIQ." -msgstr "" +msgstr "VERFÜGB. LIQ." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer Submitted" @@ -1433,34 +1450,34 @@ msgstr "Transfer übermittelt" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Action limit exceeded." -msgstr "" +msgstr "One-Click-Trading ist deaktiviert. Aktionslimit überschritten." #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Shift GM" -msgstr "" +msgstr "GM verschieben" #: src/components/Exchange/PositionEditor.jsx msgid "Requested withdrawal of {0} USD from {1} {longOrShortText}." -msgstr "" +msgstr "Angeforderte Abhebung von {0} USD von {1} {longOrShortText}." #: src/pages/Exchange/Exchange.tsx msgid "Could not increase {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." -msgstr "Konnte {tokenSymbol} {longOrShortText} nicht innerhalb der erlaubten Zeitspanne erhöhen. Du kannst die erlaubte Zeitspanne in den Einstellungen oben rechts auf der Seite anpassen." +msgstr "Konnte {tokenSymbol} {longOrShortText} nicht innerhalb der erlaubten Schlupf erhöhen. Du kannst die erlaubte Schlupf in den Einstellungen oben rechts auf der Seite anpassen." #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swapped {0} for {1}" -msgstr "" +msgstr "Swappte {0} für {1}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Tier {0} ({currentRebatePercentage}% rebate)" -msgstr "" +msgstr "Tier {0} ({currentRebatePercentage} % Rabatt)" #: src/components/NotifyModal/NotifyModal.tsx msgid "Discover GMX Alerts" -msgstr "" +msgstr "Entdecke GMX-Alerts" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -1469,7 +1486,7 @@ msgstr "Preis auf Avalanche" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order creation failed." -msgstr "Swap Order Erstellung fehlgeschlagen." +msgstr "Swap-Order-Erstellung fehlgeschlagen." #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx @@ -1478,7 +1495,7 @@ msgstr "Chart-Positionen" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Unknown Order" -msgstr "" +msgstr "Unbekannte Order" #: src/components/Exchange/ConfirmationBox.jsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity" @@ -1486,7 +1503,7 @@ msgstr "Der Auftrag wird nur ausgeführt, wenn die Preisbedingungen erfüllt sin #: src/components/Exchange/FeesTooltip.tsx msgid "Swap Fee" -msgstr "" +msgstr "Swap-Gebühr" #: src/components/Glp/GlpSwap.jsx msgid "GLP sell disabled, pending {0} upgrade" @@ -1494,7 +1511,7 @@ msgstr "GLP-Verkauf deaktiviert, {0} Aktualisierung steht noch aus" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient receive token liquidity" -msgstr "" +msgstr "Unzureichende Empfangs-Token-Liquidität" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements and Updates" @@ -1513,34 +1530,34 @@ msgstr "Gebühren" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche Fuji" -msgstr "" +msgstr "V2 Avalanche Fuji" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order cancelled" -msgstr "" +msgstr "Shift-Order abgebrochen" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order executed" -msgstr "" +msgstr "Order ausgeführt" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Select Positions" -msgstr "" +msgstr "Positionen auswählen" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "Du wirst {indexSymbol} long von deiner Long-Position sein, während du {collateralSymbol} long von deinem {collateralSymbol}-Kollateral bist. Der Liquidationspreis variiert basierend auf dem Preis von {collateralSymbol}." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Failed to update order(s)" -msgstr "" +msgstr "Aktualisierung der Order(s) fehlgeschlagen" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche" -msgstr "" +msgstr "V2 Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Decrease" @@ -1548,7 +1565,7 @@ msgstr "Marktverringerung fehlgeschlagen" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Full market" -msgstr "" +msgstr "Voller Markt" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Wallet" @@ -1560,7 +1577,7 @@ msgstr "GMX-Vorschläge Abstimmungsseite" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy ETH directly on <0>Arbitrum</0> using these options:" -msgstr "" +msgstr "Du kannst ETH direkt auf <0>Arbitrum</0> mit diesen Optionen kaufen:" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -1584,7 +1601,7 @@ msgstr "DEX Aggregator" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the order." -msgstr "Marktpreis für die Order." +msgstr "Markpreis für die Order." #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -1598,15 +1615,15 @@ msgstr "Nettowert" #: src/components/Synthetics/TableMarketFilter/MarketFilterBase.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Search Market" -msgstr "" +msgstr "Markt suchen" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the current price impact and set allowed slippage. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "Der akzeptable Preis der Order umfasst den aktuellen Preisimpakt und die festgelegte erlaubte Schlupf. Der Ausführungspreis muss diese Bedingung erfüllen, damit die Order ausgeführt wird." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be higher than the limit price." -msgstr "" +msgstr "Sobald der Markpreis den Limitpreis erreicht, wird die Order versuchen auszuführen, unter Garantie des akzeptablen Preises, der den festgelegten akzeptablen Preisimpakt einschließt. Beachte, dass bei negativem Preisimpakt der Markpreis höher als der Limitpreis sein muss." #: src/components/Synthetics/Claims/ClaimsHistory.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx @@ -1620,58 +1637,67 @@ msgstr "Leihgebühr / Tag" #: src/components/SettingsModal/SettingsModal.tsx msgid "Number of parts must be between {MIN_TWAP_NUMBER_OF_PARTS} and {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Anzahl der Teile muss zwischen {MIN_TWAP_NUMBER_OF_PARTS} und {MAX_TWAP_NUMBER_OF_PARTS} liegen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Chinese)" -msgstr "" +msgstr "GMX (Chinesisch)" + +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "Suchen" #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" -msgstr "Preis ist unter Mark Preis" +msgstr "Preis ist unter Markpreis" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GMX Vault" -msgstr "" +msgstr "Aus GMX-Vault abheben" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal submitted." -msgstr "" +msgstr "Abhebung übermittelt." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Referral Discount" -msgstr "" +msgstr "Referral-Rabatt" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee or a borrow fee." -msgstr "" +msgstr "{longOrShort}-Positionen zahlen keine Funding-Gebühr oder Leihgebühr." #: src/pages/Dashboard/OverviewCard.tsx msgid "Fees for the past" -msgstr "" +msgstr "Gebühren für die Vergangenheit" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizations" -msgstr "" +msgstr "Yield-Optimierungen" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive (Approximate)" -msgstr "" +msgstr "Erhalten (Approximativ)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "No swap path found" -msgstr "" +msgstr "Kein Swap-Pfad gefunden" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "RPnL" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "Kombinierte Stop-Losses sind am Maximum (100 %). Verringere bestehende Werte, um mehr Orders hinzuzufügen." #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "4-18 Places" -msgstr "" +msgstr "4-18 Plätze" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "MARKETS" @@ -1680,15 +1706,15 @@ msgstr "MÄRKTE" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Max {0}" -msgstr "" +msgstr "Max. {0}" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {marketName} market. It is also exposed to {exposedToLabel} as per the composition displayed." -msgstr "" +msgstr "Dieser Token akkumuliert automatisch Gebühren aus Leverage-Trading und Swaps für den {marketName}-Markt. Er ist auch {exposedToLabel} ausgesetzt, wie in der Zusammensetzung dargestellt." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Withdrew {0} from {positionText}" -msgstr "" +msgstr "Abgehoben {0} von {positionText}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Create Order" @@ -1700,7 +1726,7 @@ msgstr "Nutzung" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {0} for {1}" -msgstr "" +msgstr "{orderTypeText} {0} für {1}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GLP Vesting Vault" @@ -1708,11 +1734,11 @@ msgstr "Sender hat alle Token aus dem GLP Vesting Vault abgehoben" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Profit Fee" -msgstr "" +msgstr "Hohe Swap-Gewinngebühr" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "WARNING: This position has a low amount of collateral after deducting fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "" +msgstr "WARNUNG: Diese Position weist nach Abzug der Gebühren einen geringen Betrag an Kollateral auf; hinterlege mehr Kollateral, um das Liquidationsrisiko der Position zu verringern." #: src/components/Exchange/SwapBox.jsx msgid "Max {0} long capacity" @@ -1720,7 +1746,7 @@ msgstr "Max. {0} Long-Kapazität" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "" +msgstr "Preis eingeben" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Account" @@ -1728,7 +1754,7 @@ msgstr "Konto" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available for wrapping or unwrapping native token {0}." -msgstr "" +msgstr "Express-Trading ist nicht verfügbar für Wrapping oder Unwrapping des nativen Tokens {0}." #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1736,20 +1762,20 @@ msgstr "" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Close Fee" -msgstr "" +msgstr "Schließgebühr" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Airdrop" -msgstr "" +msgstr "V1 Airdrop" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX" -msgstr "" +msgstr "GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Uniswap or directly on GMX (make sure to select Arbitrum):" -msgstr "" +msgstr "Kaufe GMX von Uniswap oder direkt auf GMX (stelle sicher, Arbitrum auszuwählen):" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Close to execution price" @@ -1758,22 +1784,21 @@ msgstr "Schließe am Ausführungspreis" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." -msgstr "" +msgstr "Express- und One-Click-Trading sind aufgrund unzureichenden Gas-Guthabens nicht verfügbar." -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "" +#~ msgid "Global Leaderboard" +#~ msgstr "Globale Rangliste" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" -msgstr "" +msgstr "Min. Größe pro Teil: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above liq. price" -msgstr "" +msgstr "Trigger-Preis über Liq.-Preis" #: src/pages/Home/Home.tsx msgid "Simple Swaps" @@ -1782,11 +1807,11 @@ msgstr "Einfache Swaps" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "No results found" -msgstr "" +msgstr "Keine Ergebnisse gefunden" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Pair" -msgstr "" +msgstr "Paar" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx @@ -1796,11 +1821,11 @@ msgstr "Max. {0} heraus" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing shorts or<1/>decreasing longs for this size." -msgstr "" +msgstr "Es gibt keinen Preisimpakt. Es gibt einen einzelnen<0/>Ausführungspreis für die Erhöhung von Shorts oder<1/>Verringerung von Longs für diese Größe." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Option-based Vaults" -msgstr "" +msgstr "Optionsbasierte Vaults" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -1813,11 +1838,11 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Mark" -msgstr "" +msgstr "Mark" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage at {keepLeverageAtValue}" -msgstr "" +msgstr "Leverage bei {keepLeverageAtValue} halten" #: src/pages/Dashboard/GmxCard.tsx msgid "not staked" @@ -1825,7 +1850,7 @@ msgstr "Nicht gestaket" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 2" -msgstr "" +msgstr "Layer 2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -1835,19 +1860,20 @@ msgstr "Rabatte Verteilungs-Historie" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Negative Funding Fee" -msgstr "" +msgstr "Akkumulierte Negative Funding-Gebühr" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit not checked" msgstr "Verzicht auf Gewinn nicht geprüft" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" -msgstr "" +msgstr "Kaufe GM" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of close fee" -msgstr "" +msgstr "von Schließgebühr" #: src/components/Exchange/TradeHistory.jsx msgid "Increase {0} {longOrShortText}, +{1} USD, {2} Price: {3} USD" @@ -1859,11 +1885,11 @@ msgstr "Die Adresse des esGMX (IOU)-Tokens lautet {esGmxIouAddress}" #: src/components/NotifyModal/NotifyModal.tsx msgid "GMX Alerts" -msgstr "" +msgstr "GMX-Alerts" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Show details" -msgstr "" +msgstr "Details anzeigen" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -1872,47 +1898,47 @@ msgstr "Um die Gebühren zu senken, wähle ein anderes Zahlungsmittel." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be lower than the limit price." -msgstr "" +msgstr "Sobald der Markpreis den Limitpreis erreicht, wird die Order versuchen auszuführen, unter Garantie des akzeptablen Preises, der den festgelegten akzeptablen Preisimpakt einschließt. Beachte, dass bei negativem Preisimpakt der Markpreis niedriger als der Limitpreis sein muss." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy {0}" -msgstr "" +msgstr "Kaufe {0}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "USD Value may not be accurate since the data does not contain prices for {0}" -msgstr "" +msgstr "USD-Wert könnte nicht genau sein, da die Daten keine Preise für {0} enthalten" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Blueberry Club" -msgstr "" +msgstr "GMX Blueberry Club" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Cumulative PnL" -msgstr "" +msgstr "Kumulativer Gewinn/Verlust" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum Max. APY:" -msgstr "" +msgstr "Arbitrum Max. APY:" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity for your Account:" -msgstr "" +msgstr "Vault-Kapazität für dein Konto:" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" -msgstr "" +msgstr "{0, plural, one {Order abbrechen} other {# Orders abbrechen}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" -msgstr "" +msgstr "Gewinn/Verlust nach Gebühren anzeigen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol risk explorer and stats" -msgstr "" +msgstr "Protokoll-Risiko-Explorer und Statistiken" #: src/components/Exchange/PositionShareCard.tsx msgid "Generating shareable image..." @@ -1936,7 +1962,7 @@ msgstr "Einkauf übermittelt." #: src/pages/Stake/Stake.tsx msgid "Incentives & Prizes" -msgstr "" +msgstr "Incentives & Preise" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you sell GLP for. <0/>Enter the amount of GLP you want to redeem in the order form, then check here to compare fees." @@ -1944,12 +1970,13 @@ msgstr "Die Gebühren können variieren, je nachdem, für welchen Vermögenswert #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{txnTypeText} {0} order for" -msgstr "" +msgstr "{txnTypeText} {0}-Order für" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." -msgstr "" +msgstr "Der USD-Wert der Gebühren wird zum Zeitpunkt ihrer Erhebung berechnet und schließt Incentives nicht ein." +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1959,7 +1986,7 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max" -msgstr "" +msgstr "Max" #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -1969,32 +1996,33 @@ msgstr "Überprüfung des Codes..." #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" -msgstr "" +msgstr "GM-Pools" #: src/components/Exchange/SwapBox.jsx msgid "There is a \"Close\" button on each position row, clicking it will display the option to close positions via market orders." -msgstr "" +msgstr "Es gibt eine \"Schließen\"-Schaltfläche in jeder Positionszeile, ein Klick darauf zeigt die Option, Positionen über Markt-Orders zu schließen." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity." -msgstr "" +msgstr "Der Auftrag wird nur ausgeführt, wenn die Preisbedingungen erfüllt sind und genügend Liquidität vorhanden ist." #: src/pages/Referrals/Referrals.tsx msgid "Affiliates" -msgstr "" +msgstr "Affiliates" #: src/pages/Stake/Vesting.tsx msgid "Convert esGMX tokens to GMX tokens.<0/>Please read the <1>vesting details</1> before using the vaults." -msgstr "" +msgstr "Wandle esGMX-Token in GMX-Token um.<0/>Bitte lies die <1>Vesting-Details</1>, bevor du die Vaults nutzt." #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express" -msgstr "" +msgstr "Versuche Express" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to deactivate" -msgstr "" +msgstr "Deaktivierung fehlgeschlagen" #: src/lib/legacy.ts msgid "No open position, order cannot be executed unless a position is opened" @@ -2007,15 +2035,15 @@ msgstr "Short Positionen" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buying {symbol}..." -msgstr "" +msgstr "Kaufe {symbol}..." #: src/components/Exchange/TradeHistory.jsx msgid "Could not increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}  USD" -msgstr "" +msgstr "Konnte {0} {longOrShortText} nicht erhöhen, +{1} USD, Akzeptabler Preis: {2} USD" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX on {chainName}" -msgstr "" +msgstr "Kaufe GMX auf {chainName}" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2039,8 +2067,9 @@ msgstr "Größe" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "Wir schätzen deine Erfahrung und Einblicke und laden dich zu einem anonymen One-on-One-Chat ein." +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2075,19 +2104,15 @@ msgstr "Angeforderte Erhöhung von {tokenSymbol} {longOrShortText} um {0} USD." #: src/pages/Home/Home.tsx msgid "Enter and exit positions with minimal spread and low price impact. Get the optimal price without incurring additional costs." -msgstr "" +msgstr "Eröffne und schließe Positionen mit minimalem Spread und niedrigem Preisimpakt. Erhalte den optimalen Preis ohne zusätzliche Kosten." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b trading incentives" -msgstr "" +msgstr "STIP.b-Trading-Incentives" #: src/components/Exchange/ConfirmationBox.jsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "" +msgstr "Du kannst die standardmäßige Erlaubte Schlupf im Einstellungsmenü oben rechts auf der Seite bearbeiten.<0/><1/>Beachte, dass eine niedrige erlaubte Schlupf, z. B. weniger als {0}, zu fehlgeschlagenen Orders führen kann, wenn Preise volatil sind." #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." @@ -2103,11 +2128,11 @@ msgstr "Die Erstellung einer Limit-Order ist fehlgeschlagen." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics" -msgstr "" +msgstr "Dune Analytics" #: src/domain/synthetics/trade/utils/validation.ts msgid "There isn't enough GM: {0} [{1}] liquidity in GLV to fulfill your sell request. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "Es gibt nicht genügend GM: {0} [{1}]-Liquidität in GLV, um deine Verkaufsanfrage zu erfüllen. Bitte wähle einen anderen Pool, reduziere die Verkaufsgröße oder teile deine Abhebung auf mehrere Pools auf." #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -2116,16 +2141,16 @@ msgstr "Genehmigung von {0}..." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Deposited {0} into {positionText}" -msgstr "" +msgstr "Eingezahlt {0} in {positionText}" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Deine Wallet, deine Keys. GMX führt Transaktionen für dich aus, ohne individuelle Signatur, und bietet eine nahtlose, CEX-ähnliche Erfahrung. Trades verwenden GMX-gesponserte Premium-RPCs für Zuverlässigkeit, sogar bei Netzwerküberlastung. Gas-Zahlungen in USDC oder WETH." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Funding Fees" -msgstr "" +msgstr "Funding-Gebühren beanspruchen" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates are airdropped weekly." @@ -2133,7 +2158,7 @@ msgstr "Die Rabatte werden wöchentlich per Airdrop verteilt." #: src/components/SettingsModal/SettingsModal.tsx msgid "Display Settings" -msgstr "" +msgstr "Anzeigeeinstellungen" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "Total:" @@ -2145,20 +2170,20 @@ msgstr "{0} Genehmigt!" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to STBTC</0> to use {1} as collateral." -msgstr "" +msgstr "Kein Swap-Pfad verfügbar. <0>Swappe {0} zu STBTC</0>, um {1} als Kollateral zu verwenden." #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Provide liquidity</0> and earn {gmxMarketApyDataText} APY" -msgstr "" +msgstr "<0>Stelle Liquidität bereit</0> und verdiene {gmxMarketApyDataText} APY" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Address" -msgstr "" +msgstr "Adresse" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "" +#~ msgid "Winner:" +#~ msgstr "Gewinner:" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" @@ -2167,15 +2192,15 @@ msgstr "Trading Volumen insgesamt" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx msgid "Collateral Spread" -msgstr "" +msgstr "Kollateral-Spread" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing limit order with {symbol} as collateral. <0>Switch to {symbol} collateral</0>." -msgstr "" +msgstr "Du hast eine bestehende Limit-Order mit {symbol} als Kollateral. <0>Wechsle zu {symbol}-Kollateral</0>." #: src/components/Header/Header.tsx msgid "Trade on GMX V2 in Arbitrum and win 280,000 ARB (> $500k) in prizes in <0>two weekly</0> competitions. Live from March 13th to 27th." -msgstr "" +msgstr "Trade auf GMX V2 in Arbitrum und gewinne 280.000 ARB (> $500k) in Preisen in <0>zwei wöchentlichen</0> Wettbewerben. Live vom 13. bis 27. März." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Index" @@ -2192,23 +2217,23 @@ msgstr "GLP-Kauf deaktiviert, {0} Aktualisierung steht noch aus" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" -msgstr "" +msgstr "<0>Fehler beim Übermitteln der Order.</0><1/><2>Signer-Adresse stimmt nicht mit Empfängeradresse überein.</2><3/><4>Bitte lade die Seite neu und versuche es erneut.</4>" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" -msgstr "" +msgstr "Trading-Modus" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please try changing the RPC url in your wallet settings with the help of <2>chainlist.org</2>.<3/><4/><5>Read more</5>." -msgstr "" +msgstr "Transaktion fehlgeschlagen aufgrund von RPC-Fehler.<0/><1/>Bitte versuche, die RPC-URL in deinen Wallet-Einstellungen mit Hilfe von <2>chainlist.org</2> zu ändern.<3/><4/><5>Mehr lesen</5>." #: src/components/Exchange/PositionSeller.jsx msgid "You have an active order to decrease {longOrShortText} {sizeInToken} {0} (${1}) at {prefix} {2}" -msgstr "" +msgstr "Du hast eine aktive Order, um {longOrShortText} {sizeInToken} {0} (${1}) bei {prefix} {2} zu verringern" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} sellable amount exceeded" -msgstr "" +msgstr "Max. {0} verkaufbarer Betrag überschritten" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -2221,7 +2246,7 @@ msgstr "Transferiere NFT" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit failed." -msgstr "" +msgstr "Aktivierung der Einzahlung fehlgeschlagen." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GMX tokens before" @@ -2229,7 +2254,7 @@ msgstr "Der Empfänger hat noch keine GMX-Token gestaket" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX Swaps monitoring" -msgstr "" +msgstr "Telegram-Bot für GMX-Swaps-Überwachung" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "LIQUIDITY" @@ -2250,29 +2275,29 @@ msgstr "Tausch" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Allow {0} to be spent" -msgstr "" +msgstr "Erlaube, dass {0} ausgegeben wird" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order created!" -msgstr "Swap Order erstellt!" +msgstr "Swap-Order erstellt!" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "POSITION" -msgstr "" +msgstr "POSITION" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Trading Volume" -msgstr "" +msgstr "Trading-Volumen" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing limit order in the {0} market pool but it lacks liquidity for this order." -msgstr "" +msgstr "Du hast eine bestehende Limit-Order im {0}-Marktpool, aber es fehlt an Liquidität für diese Order." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Reserved for Vesting" -msgstr "" +msgstr "Reserviert für Vesting" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -2283,7 +2308,7 @@ msgstr "Updaten" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DODO" -msgstr "" +msgstr "DODO" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Your transfer has been initiated." @@ -2291,35 +2316,40 @@ msgstr "Dein Transfer wurde eingeleitet." #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Estimated annualized fees generated by trading activity (open, close, borrow, liquidations, swaps) over the selected period. Does not include backing token price changes, trading PnL, or funding fees.<0/><1/>For detailed stats and comparisons, see the <2>GMX V2 LP Dashboard</2>." -msgstr "" +msgstr "Geschätzte annualisierte Gebühren, die durch Trading-Aktivität (Eröffnen, Schließen, Leihen, Liquidationen, Swaps) über den ausgewählten Zeitraum generiert werden. Schließt keine Preisänderungen der Backing-Token, Trading-Gewinn/Verlust oder Funding-Gebühren ein.<0/><1/>Für detaillierte Statistiken und Vergleiche siehe das <2>GMX V2 LP Dashboard</2>." #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Risk Alerts" -msgstr "" +msgstr "Liquidationsrisiko-Warnungen" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settling" -msgstr "" +msgstr "{positionName} Gebühren werden abgerechnet" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" msgstr "{existingTriggerOrderLength, plural, one {Du hast einen aktiven Triggerauftrag, der sich auf diese Position auswirken könnte.} other {Du hast # aktive Triggeraufträge, die sich auf diese Position auswirken könnten.}}" +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "<0>{0}</0> GMX-Token können beansprucht werden, verwende die Optionen im Abschnitt Gesamte Belohnungen, um sie zu beanspruchen." + #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" -msgstr "" +msgstr "Shift-Order ausgeführt" #: src/pages/Stake/VesterDepositModal.tsx msgid "You need a total of at least {0} {stakeTokenLabel} to vest {1} esGMX." -msgstr "" +msgstr "Du benötigst insgesamt mindestens {0} {stakeTokenLabel}, um {1} esGMX zu vesten." #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} USDG for{1} {2}" -msgstr "" +msgstr "Tausche {0} USDG gegen{1} {2}" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "{0} will be swapped to {1} on order execution." -msgstr "" +msgstr "{0} wird bei der Orderausführung zu {1} getauscht." #. Button to clear the filter selection #: src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx @@ -2328,24 +2358,24 @@ msgstr "Auswahl löschen" #: src/domain/synthetics/orders/utils.tsx msgid "The order will not be executed as its trigger price is beyond the position's liquidation price." -msgstr "" +msgstr "Die Order wird nicht ausgeführt, da ihr Trigger-Preis jenseits des Liquidationspreises der Position liegt." #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Failed to cancel {ordersText}" -msgstr "" +msgstr "Fehlgeschlagen beim Abbrechen von {ordersText}" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Short Stop Market: {0} eine Short-Position, wenn der Preis unter dem Trigger-Preis liegt." #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." msgstr "Der Mark-Preis hat sich geändert. Erhöhe dein zulässiges Slippage, indem du auf das Symbol \"...\" neben deiner Adresse klickst." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" -msgstr "" +msgstr "Standardmäßiges Zulässiges Slippage" #. Total Value Locked #: src/components/Synthetics/MarketsList/MarketsList.tsx @@ -2355,7 +2385,7 @@ msgstr "TVL" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Shift Fee" -msgstr "" +msgstr "Shift-Gebühr" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/OverviewCard.tsx @@ -2369,15 +2399,15 @@ msgstr "Abbruch übermittelt." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Traderjoe:" -msgstr "" +msgstr "Kaufe GMX von Traderjoe:" #: src/pages/Actions/ActionsRouter.tsx msgid "V1 is not supported on {chainName}. Please switch to Arbitrum to use V1." -msgstr "" +msgstr "V1 wird auf {chainName} nicht unterstützt. Bitte wechsle zu Arbitrum, um V1 zu nutzen." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Saulius GMX Analytics" -msgstr "" +msgstr "Saulius GMX Analytics" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -2390,25 +2420,25 @@ msgstr "{0} Preis" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized services" -msgstr "" +msgstr "Kaufe GMX von zentralisierten Diensten" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Bridge and swap" -msgstr "" +msgstr "Bridge und Tausch" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above lowest limit price" -msgstr "" +msgstr "Trigger-Preis über dem niedrigsten Limit-Preis" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Borrow Fee Rate" -msgstr "" +msgstr "Leihgebührenrate" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max number of parts: {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Maximale Anzahl von Teilen: {MAX_TWAP_NUMBER_OF_PARTS}" #: src/components/Header/AppHeaderUser.tsx #: src/components/Header/AppHeaderUser.tsx @@ -2423,19 +2453,27 @@ msgstr "{0} USD in {tokenSymbol} {longOrShortText} eingezahlt" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has staked GMX/GLP before" -msgstr "" +msgstr "Empfänger hat zuvor GMX/GLP gestaket" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling sell request" -msgstr "" +msgstr "Verkaufsanfrage erfüllen" #: src/components/Exchange/TradeHistory.jsx msgid "{actionDisplay} Order" msgstr "{actionDisplay} Order" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "Marktgraph" + #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" -msgstr "Es gibt mehr Longs als Shorts, die Leihgebühren für Shorting sind derzeit gleich Null" +msgstr "Es gibt mehr Longs als Shorts, die Leihgebühren für Shorting sind derzeit null" #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche APR:" @@ -2443,7 +2481,7 @@ msgstr "Avalanche APR:" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics for GMX" -msgstr "" +msgstr "Dune Analytics für GMX" #: src/components/Exchange/TradeHistory.jsx msgid "Could not decrease {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}" @@ -2459,11 +2497,11 @@ msgstr "Vesting mit GMX auf Avalanche" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "Klicke auf die Position, um ihren Markt auszuwählen, dann verwende das Trade-Feld, um deine Positionsgröße zu erhöhen oder Take-Profit / Stop-Loss Orders zu setzen." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Relayer request failed" -msgstr "" +msgstr "Relayer-Anfrage fehlgeschlagen" #: src/components/Exchange/TradeHistory.jsx msgid "Request decrease {0} {longOrShortText}, -{1} USD, Acceptable Price: {2} {3} USD" @@ -2471,29 +2509,33 @@ msgstr "Reduzierungsanfrage {0} {longOrShortText}, -{1} USD, Akzeptabler Preis: #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "settings updated" -msgstr "" +msgstr "Einstellungen aktualisiert" #: src/components/Exchange/SwapBox.jsx msgid "You have an existing position with {0} as collateral." -msgstr "" +msgstr "Du hast eine bestehende Position mit {0} als Kollateral." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Transfer Account" -msgstr "Transferiere Konto" +msgstr "Konto transferieren" + +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "" #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" -msgstr "" +msgstr "GMX V1 Aktionen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Part" -msgstr "" +msgstr "TWAP-Teil ausführen" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Profit Fee" -msgstr "" +msgstr "Tausch-Gewinngebühr" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Amount to claim" @@ -2501,11 +2543,11 @@ msgstr "Zu beanspruchender Betrag" #: src/pages/Jobs/Jobs.jsx msgid "Job openings at GMX." -msgstr "Offene Jobs bei GMX." +msgstr "Offene Stellen bei GMX." #: src/components/Exchange/OrderEditor.jsx msgid "Price below Mark Price" -msgstr "Preis unter Mark Preis" +msgstr "Preis unter Mark-Preis" #: src/components/Stake/GMXAprTooltip.tsx msgid "APRs are updated weekly on Wednesday and will depend on the fees collected for the week." @@ -2513,7 +2555,7 @@ msgstr "APRs werden wöchentlich am Mittwoch aktualisiert und hängen von den in #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Fees (Incl. Swap)" -msgstr "" +msgstr "Gebühren (inkl. Tausch)" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -2522,20 +2564,20 @@ msgstr "{fromText} zu {toMinText}" #: src/components/Errors/errorToasts.tsx msgid "Otherwise, try changing the RPC url in your wallet settings with the help of <0>chainlist.org</0>." -msgstr "" +msgstr "Andernfalls versuche, die RPC-URL in deinen Wallet-Einstellungen mit Hilfe von <0>chainlist.org</0> zu ändern." #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Price above Liq. Price" -msgstr "Preis über Liq. Preis" +msgstr "Preis über Liq.-Preis" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the pay token to collateral token swap when the price conditions are met." -msgstr "" +msgstr "Es könnte nicht genügend Liquidität vorhanden sein, um den Tausch vom Zahlungstoken zum Kollateraltoken auszuführen, wenn die Preisbedingungen erfüllt sind." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "User Quests" -msgstr "" +msgstr "Benutzerquests" #: src/components/Glp/GlpSwap.jsx msgid "{0} pool exceeded, try different token" @@ -2553,7 +2595,7 @@ msgstr "Positionen ({0})" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake failed." -msgstr "" +msgstr "Unstaking fehlgeschlagen." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx @@ -2562,19 +2604,23 @@ msgstr "Order storniert" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Swap Liquidity to fill the Order." -msgstr "Nicht genügend verfügbare Swap-Liquidität, um den Auftrag zu erfüllen." +msgstr "Nicht genügend verfügbare Tausch-Liquidität, um die Order zu erfüllen." #: src/pages/Stake/Stake.tsx msgid "Earn prizes by participating in GMX Trading Competitions." -msgstr "" +msgstr "Verdiene Preise durch Teilnahme an GMX Trading-Wettbewerben." + +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "Einklappen" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" -msgstr "Bestätige Long" +msgstr "Long bestätigen" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Arbitrum" -msgstr "" +msgstr "Geworbene Trader auf Arbitrum" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -2590,11 +2636,11 @@ msgstr "Transaktion gesendet." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter up to 10 coins" -msgstr "" +msgstr "Gib bis zu 10 Coins ein" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Backing Tokens" -msgstr "" +msgstr "Exposition gegenüber Backing-Tokens" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Creating..." @@ -2604,36 +2650,36 @@ msgstr "Erstellen..." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing from Subaccount" -msgstr "" +msgstr "Abheben vom Subkonto" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settling Position Fees" -msgstr "" +msgstr "Abwicklung von Positionsgebühren" #: src/components/Exchange/OrderEditor.jsx msgid "Minimum received" -msgstr "Min. Empfangen" +msgstr "Mindestens erhalten" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available amount to withdraw from GLP. Funds not utilized by current open positions." -msgstr "Verfügbarer Auszahlungsbetrag aus GLP. Mittel, die nicht durch aktuelle offene Positionen in Anspruch genommen werden." +msgstr "Verfügbarer Betrag zum Abheben aus GLP. Mittel, die nicht durch aktuelle offene Positionen genutzt werden." #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Enter your feedback here" -msgstr "" +msgstr "Gib dein Feedback hier ein" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Impact on Collateral" -msgstr "" +msgstr "Hoher Impact auf Kollateral" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "and" -msgstr "" +msgstr "und" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GLV liquidity" -msgstr "" +msgstr "Unzureichende GLV-Liquidität" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -2643,31 +2689,31 @@ msgstr "Ungültiger Preis, siehe Warnung" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} only from your short position." -msgstr "" +msgstr "Du wirst {indexSymbol} nur aus deiner Short-Position short sein." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Signing approval..." -msgstr "" +msgstr "Genehmigung unterschreiben..." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." -msgstr "" +msgstr "Der aktuelle Preisimpact beträgt {0}. Überlege, -0,30% akzeptablen Preisimpact zu verwenden, damit die Order wahrscheinlicher verarbeitet wird." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" -msgstr "" +msgstr "TP/SL automatisch abbrechen" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Funding Fee Rate" -msgstr "" +msgstr "Finanzierungsgebührenrate" #: src/components/Exchange/PositionSeller.jsx msgid "Requested decrease of {0} {longOrShortText} by {sizeDeltaUsd} USD." -msgstr "" +msgstr "Angefragte Verringerung von {0} {longOrShortText} um {sizeDeltaUsd} USD." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Returned Collateral" -msgstr "" +msgstr "Zurückgegebenes Kollateral" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "You need to select {swapTokenSymbol} as the \"Pay\" token to use it for collateral to initiate this trade." @@ -2675,11 +2721,11 @@ msgstr "Du musst {swapTokenSymbol} als \"Bezahlen\"-Token auswählen, um es als #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "There are issues in the TP/SL orders." -msgstr "" +msgstr "Es gibt Probleme in den TP/SL-Orders." #: src/components/Glp/GlpSwap.jsx msgid "The Bonus Rebate is an estimate and will be airdropped as ARB tokens when migrating this liquidity to GM pools within the same epoch. <0>Read more</0>." -msgstr "" +msgstr "Der Bonus-Rabatt ist eine Schätzung und wird als ARB-Tokens airdropped, wenn diese Liquidität innerhalb derselben Epoche zu GM-Pools migriert wird. <0>Mehr lesen</0>." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP sold for {1} {2}!" @@ -2687,15 +2733,15 @@ msgstr "{0} GLP verkauft für {1} {2}!" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Long Inc." -msgstr "" +msgstr "Stop Market - Long Erhöhung" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Failed to Claim Price Impact Rebate" -msgstr "" +msgstr "Fehlgeschlagen beim Beanspruchen des Preisimpact-Rabatts" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Only positions with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "Nur Positionen mit mehr als {0} in \"Genutztem Kapital\" werden gerankt." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept minimum and {action}" @@ -2703,7 +2749,7 @@ msgstr "Minimum akzeptieren und {action}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Withdraw from Affiliate Vault" -msgstr "" +msgstr "Abheben aus Affiliate-Vault" #: src/components/Glp/GlpSwap.jsx msgid "Current Pool Amount" @@ -2716,164 +2762,170 @@ msgstr "Abbruch fehlgeschlagen." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will be executed if there is sufficient liquidity and the execution price guarantees that you will receive the minimum receive amount." -msgstr "" +msgstr "Die Order wird ausgeführt, wenn genügend Liquidität vorhanden ist und der Ausführungspreis garantiert, dass du den Mindestempfangsbetrag erhältst." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Transacting with a depegged stable coin is subject to spreads reflecting the worse of current market price or $1.00, with transactions involving multiple stablecoins may have multiple spreads." -msgstr "" +msgstr "Der Handel mit einem depegten Stablecoin unterliegt Spreads, die das Schlimmere aus aktuellem Marktpreis oder $1,00 widerspiegeln, wobei Transaktionen mit mehreren Stablecoins mehrere Spreads haben können." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the \"Close\" button to reduce your Position Size." -msgstr "" +msgstr "Verwende den \"Schließen\"-Button, um deine Positionsgröße zu reduzieren." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Limit)" -msgstr "" +msgstr "Größe erhöhen (Limit)" #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute at the desired {priceText} as its acceptable price impact is set to {formattedOrderAcceptablePriceImpact}, which is lower than the current market price impact of {formattedCurrentAcceptablePriceImpact}. It can be edited using the \"Edit\" button." -msgstr "" +msgstr "Die Order wird möglicherweise nicht zum gewünschten {priceText} ausgeführt, da ihr akzeptabler Preisimpact auf {formattedOrderAcceptablePriceImpact} gesetzt ist, was niedriger ist als der aktuelle Marktpreisimpact von {formattedCurrentAcceptablePriceImpact}. Er kann mit dem \"Bearbeiten\"-Button bearbeitet werden." #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Liquidation Fee" -msgstr "" +msgstr "Liquidationsgebühr" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settle" -msgstr "" +msgstr "Abrechnen" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TWAP: {0} a short position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Short TWAP: {0} eine Short-Position in gleichmäßig verteilten Teilen über eine angegebene Zeit." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap when the min. receive conditions are met." -msgstr "" +msgstr "Es könnte nicht genügend Liquidität vorhanden sein, um den Tausch auszuführen, wenn die Mindestempfangsbedingungen erfüllt sind." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "{fromText} to" -msgstr "" +msgstr "{fromText} zu" #: src/components/Exchange/PositionDropdown.tsx msgid "Select Market" -msgstr "Markt wählen" +msgstr "Markt auswählen" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "Open positions: {0}<0/>Under risk: {1}" msgstr "Offene Positionen: {0}<0/>Unter Risiko: {1}" +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "" + #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" -msgstr "Beschleunige das Laden von Seiten" +msgstr "Seitenladen beschleunigen" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: Swap {amountInDisplay}{1} for{minOutDisplay} {2}, Price:{3} USD" -msgstr "" +msgstr "{0}: Tausche {amountInDisplay}{1} gegen{minOutDisplay} {2}, Preis:{3} USD" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "(Rebated)" -msgstr "" +msgstr "(Rabattiert)" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized exchanges:" -msgstr "" +msgstr "Kaufe GMX von zentralisierten Exchanges:" #: src/pages/BuyGMX/BuyGMX.tsx msgid "GMX bonds can be bought on Bond Protocol with a discount and a small vesting period:" -msgstr "" +msgstr "GMX-Bonds können auf Bond Protocol mit Rabatt und einer kleinen Vesting-Periode gekauft werden:" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above highest limit price" -msgstr "" +msgstr "Trigger-Preis über dem höchsten Limit-Preis" #: src/components/Exchange/OrdersToa.jsx msgid "Note that orders are not guaranteed to be executed.<0/><1/>This can occur in a few situations including but not exclusive to:" -msgstr "Beachte, dass die Ausführung von Aufträgen nicht garantiert ist.<0/><1/>Dies kann in einigen Situationen vorkommen, einschließlich, aber nicht ausschließlich bei:" +msgstr "Beachte, dass die Ausführung von Orders nicht garantiert ist.<0/><1/>Dies kann in einigen Situationen vorkommen, einschließlich, aber nicht ausschließlich:" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions with Orders" -msgstr "" +msgstr "Offene Positionen mit Orders" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Copin" -msgstr "" +msgstr "Copin" #: src/components/Exchange/PositionSeller.jsx msgid "{nativeTokenSymbol} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{nativeTokenSymbol} kann nicht an Smart-Contract-Adressen gesendet werden. Wähle einen anderen Token." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "This swap is routed through several GM pools for the lowest possible fees and price impact." -msgstr "" +msgstr "Dieser Tausch wird durch mehrere GM-Pools geleitet, um die niedrigstmöglichen Gebühren und Preisimpact zu erzielen." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "{0}" -msgstr "" +msgstr "{0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Liquidity." -msgstr "Nicht genügend verfügbare Liquidität, um den Auftrag zu erfüllen. Der Auftrag wird ausgeführt, wenn die Bedingung erfüllt ist und genügend verfügbare Liquidität vorhanden ist." +msgstr "Nicht genügend verfügbare Liquidität, um die Order zu erfüllen. Die Order wird ausgeführt, wenn die Bedingung erfüllt ist und genügend verfügbare Liquidität vorhanden ist." #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized data based on the past 7 days." -msgstr "" +msgstr "Annualisierte Daten basierend auf den letzten 7 Tagen." #: src/components/Exchange/OrdersToa.jsx #: src/components/Exchange/OrdersToa.jsx msgid "Enable Orders" -msgstr "Orders ermöglichen" +msgstr "Orders aktivieren" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}. Please mint GLP using another token" -msgstr "Max. Poolkapazität für {0} erreicht. Bitte minte GLP mit einem anderen Token" +msgstr "Maximale Poolkapazität für {0} erreicht. Bitte minte GLP mit einem anderen Token" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>Execution prices for decreasing longs." -msgstr "" +msgstr "Keine Liquidität verfügbar für die Erhöhung von Shorts für<0/>diese Größe. Max. Short-Größe: {0}<1/><2/>Ausführungspreise für die Verringerung von Longs." #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" msgstr "Handeln" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding referral code failed." -msgstr "Hinzufügen des Empfehlungscodes fehlgeschlagen." +msgstr "Hinzufügen des Referral-Codes fehlgeschlagen." #: src/components/Exchange/PositionEditor.jsx msgid "Max leverage without PnL: {0}x" -msgstr "" +msgstr "Max. Hebelwirkung ohne PnL: {0}x" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "V2 doesn't currently support this network" -msgstr "" +msgstr "V2 unterstützt dieses Netzwerk derzeit nicht" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Arbitrum" -msgstr "" +msgstr "V1 Arbitrum" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche" -msgstr "" +msgstr "Avalanche" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Fee APR" -msgstr "" +msgstr "Gebühren-APR" #: src/domain/synthetics/positions/utils.ts msgid "SL" -msgstr "" +msgstr "SL" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2883,56 +2935,56 @@ msgstr "" #: src/pages/Stake/StakeModal.tsx #: src/pages/Stake/StakeModal.tsx msgid "Stake" -msgstr "Stake" +msgstr "Staken" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx msgid "Allow {tokenSymbol} to be spent" -msgstr "" +msgstr "Erlaube, {tokenSymbol} auszugeben" #: src/components/NpsModal/NpsModal.tsx msgid "Help us improve" -msgstr "" +msgstr "Hilf uns zu verbessern" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Invalid Liquidation Price" -msgstr "" +msgstr "Ungültiger Liquidationspreis" #: src/pages/Home/Home.tsx msgid "An aggregate of high-quality price feeds determine when liquidations occur. This keeps positions safe from temporary wicks." -msgstr "Ein Aggregat aus hochwertigen Kursen bestimmt, wann Liquidationen stattfinden. Dadurch sind die Positionen vor vorübergehenden Wicks sicher." +msgstr "Ein Aggregat hochwertiger Preisfeeds bestimmt, wann Liquidationen stattfinden. Das schützt Positionen vor temporären Wicks." #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} available liquidity. Choose a different \"Receive\" token." -msgstr "" +msgstr "Tauschbetrag von {0} zu {1} überschreitet {2} verfügbare Liquidität. Wähle einen anderen \"Empfangen\"-Token." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Take Profit" -msgstr "" +msgstr "Take-Profit erstellen" #: src/components/Exchange/OrderEditor.jsx msgid "Update Order" -msgstr "Update Order" +msgstr "Order aktualisieren" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP" -msgstr "" +msgstr "TWAP abbrechen" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the liquidation." -msgstr "Marktpreis für die Liquidation." +msgstr "Mark-Preis für die Liquidation." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Selling {0}{1}<1>{poolName}</1></0>" -msgstr "" +msgstr "<0>Verkaufen von {0}{1}<1>{poolName}</1></0>" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Max close amount exceeded" -msgstr "" +msgstr "Max. Schließbetrag überschritten" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2942,43 +2994,43 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max leverage: {0}x" -msgstr "" +msgstr "Max. Hebelwirkung: {0}x" #: src/domain/synthetics/positions/utils.ts msgid "T" -msgstr "" +msgstr "T" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Please enter the names of the coins you'd like to see added:" -msgstr "" +msgstr "Bitte gib die Namen der Coins ein, die du hinzugefügt sehen möchtest:" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and Short" -msgstr "Verzicht auf Gewinn und Short" +msgstr "Gewinn aufgeben und Short" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Arbitrum" -msgstr "" +msgstr "Gestaket auf Arbitrum" #: src/components/Exchange/PositionSeller.jsx msgid "Order creation failed." -msgstr "" +msgstr "Ordererstellung fehlgeschlagen." #: src/components/TokenCard/TokenCard.tsx msgid "Sell token on:" -msgstr "" +msgstr "Token verkaufen auf:" #: src/components/Synthetics/MissedCoinsHint/MissedCoinsHint.tsx msgid "Can’t find the coin you need? Let us know" -msgstr "" +msgstr "Kannst du den Coin nicht finden, den du brauchst? Lass es uns wissen" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegated to" -msgstr "" +msgstr "Delegiert an" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} update failed." -msgstr "" +msgstr "{orderText} Update fehlgeschlagen." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: Swap {fromAmountDisplay} {0} for {toAmountDisplay} {1}" @@ -2988,38 +3040,43 @@ msgstr "Order ausführen: Tausche {fromAmountDisplay} {0} gegen {toAmountDisplay msgid "Buy {swapTokenSymbol} on 1inch" msgstr "Kaufe {swapTokenSymbol} auf 1inch" +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "" + #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" -msgstr "" +msgstr "PnL (%)" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we continue to meet your expectations?" -msgstr "" +msgstr "Wie können wir weiterhin deine Erwartungen erfüllen?" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another address to claim if you'd like." -msgstr "Der esGMX (IOU) Token ist übertragbar. Du kannst den Token zu deiner Wallet hinzufügen und ihn an eine andere Adresse senden, um ihn einzufordern, wenn du möchtest." +msgstr "Der esGMX (IOU)-Token ist übertragbar. Du kannst den Token zu deiner Wallet hinzufügen und ihn an eine andere Adresse senden, um ihn zu beanspruchen, falls gewünscht." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Self-transfer not supported" -msgstr "Selbstübertragungen werden nicht unterstützt" +msgstr "Selbsttransfer nicht unterstützt" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Generating session..." -msgstr "" +msgstr "Sitzung generieren..." #: src/pages/Exchange/Exchange.tsx msgid "Decreased {tokenSymbol} {longOrShortText}, -{0} USD." -msgstr "Verringert {tokenSymbol} {longOrShortText}, -{0} USD." +msgstr "{tokenSymbol} {longOrShortText} verringert, -{0} USD." #: src/components/Exchange/PositionEditor.jsx msgid "Leave at least {0} ETH for gas" -msgstr "" +msgstr "Lasse mindestens {0} ETH für Gas" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders failed." -msgstr "Freigabe von Orders ist fehlgeschlagen." +msgstr "Aktivieren von Orders fehlgeschlagen." #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx @@ -3027,7 +3084,7 @@ msgstr "Freigabe von Orders ist fehlgeschlagen." #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Total Staked" -msgstr "Insgeamt gestaket" +msgstr "Gesamt gestaket" #: src/components/Exchange/FeesTooltip.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx @@ -3038,7 +3095,7 @@ msgstr "Netzwerkgebühr" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact." -msgstr "" +msgstr "Erwarteter Ausführungspreis für die Order, einschließlich des aktuellen Preisimpacts." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3056,16 +3113,16 @@ msgstr "Hebelwirkung" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders sent." -msgstr "Freigabe von Orders gesendet." +msgstr "Aktivieren von Orders gesendet." #: src/components/Exchange/PositionEditor.jsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing..." -msgstr "" +msgstr "Abheben..." #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims match the selected filters" -msgstr "" +msgstr "Keine Ansprüche entsprechen den ausgewählten Filtern" #: src/components/Exchange/SwapBox.jsx #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx @@ -3087,33 +3144,33 @@ msgstr "Markt" #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} acceptable amount. Can only receive {3}." -msgstr "" +msgstr "Tauschbetrag von {0} zu {1} überschreitet {2} akzeptablen Betrag. Kann nur {3} erhalten." #: src/pages/Stake/Stake.tsx msgid "Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2." -msgstr "" +msgstr "Verdiene {incentivesToken}-Token-Incentives durch den Kauf von GM-Tokens oder Trading in GMX V2." #: src/components/Exchange/PositionEditor.jsx msgid "Withdraw disabled, pending {0} upgrade" -msgstr "" +msgstr "Abheben deaktiviert, ausstehendes {0}-Upgrade" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Read the rules" -msgstr "" +msgstr "Regeln lesen" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Lev." -msgstr "" +msgstr "Hebel." #: src/pages/Stake/StakeModal.tsx msgid "Stake failed." -msgstr "" +msgstr "Staking fehlgeschlagen." #: src/components/NpsModal/NpsModal.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Submitting..." -msgstr "" +msgstr "Einreichen..." #: src/components/Header/HomeHeaderLinks.tsx msgid "App" @@ -3121,52 +3178,47 @@ msgstr "App" #: src/components/Synthetics/GmList/GlvList.tsx msgid "Yield-optimized vaults supplying liquidity across multiple GMX markets." -msgstr "" +msgstr "Yield-optimierte Vaults, die Liquidität über mehrere GMX-Märkte bereitstellen." #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Add {marketName} to Wallet" -msgstr "" +msgstr "{marketName} zur Wallet hinzufügen" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized Performance" -msgstr "" +msgstr "Annualisierte Performance" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" -msgstr "" +msgstr "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap {0} to {1}" -msgstr "" +msgstr "Tausche {0} gegen {1}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}." -msgstr "Der Wechsel von {0} zu {1} ist mit hohen Gebühren verbunden." +msgstr "Gebühren sind hoch für den Tausch von {0} zu {1}." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Debug values are not available" -msgstr "" +msgstr "Debug-Werte sind nicht verfügbar" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below liq. price" -msgstr "" +msgstr "Trigger-Preis unter Liq.-Preis" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx #: src/pages/Stake/ClaimModal.tsx msgid "Claim failed." -msgstr "Anspruch gescheitert." - -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "" +msgstr "Beanspruchen fehlgeschlagen." #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" -msgstr "" +msgstr "Unbekannter Fehler" #: src/components/Glp/GlpSwap.jsx msgid "Buying..." @@ -3174,24 +3226,24 @@ msgstr "Kaufen..." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a new ratio or allowed slippage" -msgstr "" +msgstr "Gib ein neues Verhältnis oder zulässiges Slippage ein" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap UI Fee" -msgstr "" +msgstr "Tausch-UI-Gebühr" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the size to match the max. allowed leverage:" -msgstr "" +msgstr "Verringere die Größe, um der max. erlaubten Hebelwirkung zu entsprechen:" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Positive Funding Fee" -msgstr "" +msgstr "Angefallene positive Finanzierungsgebühr" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from Affiliate Vesting Vault" -msgstr "" +msgstr "Absender hat alle Tokens aus dem Affiliate-Vesting-Vault abgehoben" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/keys.ts @@ -3201,33 +3253,33 @@ msgstr "Liquidiert" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Blueberry Pulse" -msgstr "" +msgstr "Blueberry Pulse" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5></3> deployment for those features." -msgstr "" +msgstr "Bitte wechsle zur <0><1/><2>Arbitrum</2></0> oder <3><4/><5>Avalanche</5></3>-Bereitstellung für diese Features." #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "Sprache auswählen" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Direction" -msgstr "" +msgstr "Richtung" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} and {1} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM kann für {0} und {1} für diesen Markt bis zu den angegebenen Verkaufslimits verkauft werden. Die verbleibenden Tokens im Pool sind für aktuelle offene Positionen reserviert." #: src/components/Glp/GlpSwap.jsx msgid "Due to the recent incident on GMX V1 Arbitrum, GLP on Arbitrum is not sellable." -msgstr "" +msgstr "Aufgrund des kürzlichen Vorfalls auf GMX V1 Arbitrum ist GLP auf Arbitrum nicht verkäuflich." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "Graph showing performance vs benchmark over the selected period." -msgstr "" +msgstr "Graph, der die Performance im Vergleich zum Benchmark über den ausgewählten Zeitraum zeigt." #: src/components/Synthetics/ExecutionPriceRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3252,7 +3304,7 @@ msgstr "Order akzeptabler Preis" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "VOL." -msgstr "" +msgstr "VOL." #: src/components/Glp/GlpSwap.jsx msgid "Max Capacity for {0} Reached" @@ -3261,11 +3313,11 @@ msgstr "Max. Kapazität für {0} erreicht" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below limit price" -msgstr "" +msgstr "Trigger-Preis unter Limit-Preis" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Buying {0}{1}<1>{poolName}</1></0> <2>with {tokensText}</2>" -msgstr "" +msgstr "<0>Kaufen von {0}{1}<1>{poolName}</1></0> <2>mit {tokensText}</2>" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionsList.jsx @@ -3278,57 +3330,57 @@ msgstr "Ursprüngliches Kollateral" #: src/pages/Stake/StakeModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power before staking." -msgstr "" +msgstr "<0>Delegiere deine nicht delegierte {0} GMX DAO</0>-Stimmkraft vor dem Staken." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Size" -msgstr "" +msgstr "Durchschn. Größe" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 esGMX" -msgstr "" +msgstr "V1 esGMX" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit PnL" -msgstr "" +msgstr "Take-Profit PnL" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Let us know which coins you're missing" -msgstr "" +msgstr "Lass uns wissen, welche Coins du vermisst" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw sent." -msgstr "" +msgstr "Abheben aktivieren gesendet." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." -msgstr "Dein esGMX-Guthaben (IOU) verringert sich nach der Beanspruchung um deinen beanspruchten Betrag, dies ist ein zu erwartendes Verhalten." +msgstr "Dein esGMX (IOU)-Guthaben wird nach dem Beanspruchen um deinen Beanspruchungsbetrag verringert, dies ist ein erwartetes Verhalten." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." -msgstr "" +msgstr "Die maximale Netzwerkgebühr ist auf einen höheren Wert gesetzt, um potenzielle Erhöhungen des Gaspreises während der Orderausführung zu handhaben. Jede überschüssige Netzwerkgebühr wird bei der Ausführung der Order auf dein Konto zurückerstattet. Nur anwendbar für GMX V2." #: src/domain/synthetics/positions/utils.ts msgid "stop market" -msgstr "" +msgstr "Stop Market" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized PnL" -msgstr "" +msgstr "Start unrealisierter PnL" #: src/components/TVChartContainer/constants.ts msgid "Limit - Short Inc." -msgstr "" +msgstr "Limit - Short Erhöhung" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Sending settle request" -msgstr "" +msgstr "Abrechnungsanfrage senden" #: src/lib/legacy.ts msgid "Order cannot be executed as the remaining position would be smaller than $5.00" -msgstr "Auftrag kann nicht ausgeführt werden, da die verbleibende Position unter $5 wäre" +msgstr "Order kann nicht ausgeführt werden, da die verbleibende Position kleiner als $5,00 wäre" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -3339,18 +3391,13 @@ msgstr "Auftrag kann nicht ausgeführt werden, da die verbleibende Position unte msgid "Claiming..." msgstr "Beanspruchen..." -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "" - #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" msgstr "Markterhöhungsanfrage" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Edit {0}" -msgstr "" +msgstr "{0} bearbeiten" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Arbitrum" @@ -3358,11 +3405,11 @@ msgstr "Vesting mit GMX auf Arbitrum" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable price impact rebates.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "Beanspruchbare Preisimpact-Rabatte.<0/><1/><2>Mehr lesen</2>." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and {borrowAction} a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "{longOrShort}-Positionen {fundingAction} eine Finanzierungsgebühr von {fundingRate} pro Stunde und {borrowAction} eine Leihgebühr von {borrowRate} pro Stunde." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx @@ -3371,70 +3418,74 @@ msgstr "" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "TWAP" -msgstr "" +msgstr "TWAP" #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Updating Order..." -msgstr "Order updaten..." +msgstr "Order aktualisieren..." #: src/components/Exchange/PositionSeller.jsx msgid "Close failed." -msgstr "" +msgstr "Schließen fehlgeschlagen." #: src/pages/Stake/Stake.tsx msgid "You are earning rewards with {0} tokens.<0/>Tokens: {amountStr}." -msgstr "" +msgstr "Du verdienst Belohnungen mit {0} Tokens.<0/>Tokens: {amountStr}." #: src/components/ModalViews/RedirectModal.tsx msgid "The website is a community deployed and maintained instance of the open source <0>GMX front end</0>, hosted and served on the distributed, peer-to-peer <1>IPFS network</1>." -msgstr "Die Website ist eine von der Community betriebene und gewartete Instanz des open-source <0>GMX-Frontends</0>, das im verteilten Peer-to-Peer-Netzwerk <1>IPFS</1> gehostet und bereitgestellt wird." +msgstr "Die Website ist eine von der Community bereitgestellte und gepflegte Instanz des Open-Source-<0>GMX-Frontends</0>, das im verteilten Peer-to-Peer-<1>IPFS-Netzwerk</1> gehostet und bereitgestellt wird." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit failed." -msgstr "" +msgstr "Einzahlung fehlgeschlagen." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "<0>Set Recommended Impact: {0}</0>." -msgstr "" +msgstr "<0>Empfohlenen Impact setzen: {0}</0>." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Defi Llama" -msgstr "" +msgstr "Defi Llama" #: src/pages/Exchange/Exchange.tsx msgid "Orders cancelled." -msgstr "Orders gekündigt." +msgstr "Orders abgebrochen." + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" -msgstr "" +msgstr "Letzte Rebalance" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit" -msgstr "" +msgstr "Limit abbrechen" #: src/components/Referrals/AffiliatesStats.tsx msgid "V2 Claim" -msgstr "" +msgstr "V2 Beanspruchen" #: src/components/Exchange/OrdersToa.jsx msgid "Accept that orders are not guaranteed to execute and trigger orders may not settle at the trigger price" -msgstr "Akzeptiere, dass die Ausführung von Orders nicht garantiert ist und Trigger-Orders möglicherweise nicht zum Trigger-Preis abgerechnet werden." +msgstr "Akzeptiere, dass die Ausführung von Orders nicht garantiert ist und Trigger-Orders möglicherweise nicht zum Trigger-Preis abgerechnet werden" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a market" -msgstr "" +msgstr "Markt auswählen" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please choose a different pool or reduce the buy size." -msgstr "" +msgstr "Das kaufbaren Limit für den Pool GM: {0} in {1} [{2}] wurde erreicht. Bitte wähle einen anderen Pool oder reduziere die Kaufgröße." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High External Swap Impact" -msgstr "" +msgstr "Hoher externer Tausch-Impact" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx @@ -3448,57 +3499,52 @@ msgstr "Noch keine Trades" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Allowed Slippage" -msgstr "Erlaubter Slippage" +msgstr "Zulässiges Slippage" #: src/components/Exchange/OrderEditor.jsx msgid "Order update failed." -msgstr "Orderupdate fehlgeschlagen" +msgstr "Order-Update fehlgeschlagen." #: src/components/Glp/GlpSwap.jsx msgid "Waiting for Approval" -msgstr "Warten auf die Genehmigung" +msgstr "Warten auf Genehmigung" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and do not pay a borrow fee." -msgstr "" +msgstr "{longOrShort}-Positionen {fundingAction} eine Finanzierungsgebühr von {fundingRate} pro Stunde und zahlen keine Leihgebühr." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TP/SL: {0} a short position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Short TP/SL: {0} eine Short-Position, wenn der Trigger-Preis erreicht wird." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community-led Telegram groups." -msgstr "Von der Gemeinschaft geführte Telegram-Gruppen." +msgstr "Von der Community geführte Telegram-Gruppen." #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Open Interest" -msgstr "" - -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "" +msgstr "{longShortText} {0} Offenes Interest" #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." -msgstr "" +msgstr "Du hast keine GMX-Tokens zu beanspruchen." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Settled Funding Fees" -msgstr "" +msgstr "Abgerechnete Finanzierungsgebühren" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Ends in" -msgstr "" +msgstr "Endet in" #: src/components/Referrals/JoinReferralCode.tsx msgid "Please input a referral code to benefit from fee discounts." -msgstr "Bitte gebe einen Empfehlungscode ein, um von Gebührenermäßigungen zu profitieren." +msgstr "Bitte gib einen Referral-Code ein, um von Gebührenrabatten zu profitieren." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Deposit" -msgstr "Einzahlung fehlgeschlagen" +msgstr "Fehlgeschlagene Einzahlung" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Swap" @@ -3506,19 +3552,19 @@ msgstr "Markttausch anfordern" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market.{1}" -msgstr "" +msgstr "Unzureichende Liquidität im {0}-Marktpool. Wähle einen anderen Pool für diesen Markt.{1}" #: src/domain/synthetics/trade/utils/validation.ts msgid "App disabled, pending {0} upgrade" -msgstr "" +msgstr "App deaktiviert, ausstehendes {0}-Upgrade" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates earned by this account as an affiliate." -msgstr "Rabatte, die von diesem Konto als Affiliate-Partner verdient wurden." +msgstr "Rabatte, die von diesem Konto als Affiliate verdient wurden." #: src/components/Glp/GlpSwap.jsx msgid "Swap {0} on 1inch" -msgstr "Swappe auf 1inch" +msgstr "Tausche {0} auf 1inch" #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP bought with {1} {2}!" @@ -3533,7 +3579,7 @@ msgstr "Unstaken" #: src/components/SettingsModal/SettingsModal.tsx msgid "Debug Settings" -msgstr "" +msgstr "Debug-Einstellungen" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "More Options" @@ -3541,30 +3587,34 @@ msgstr "Mehr Optionen" #: src/components/TokenCard/TokenCard.tsx msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." -msgstr "" +msgstr "GLV ist der Liquiditätsanbieter-Token für GMX V2-Vaults. Besteht aus mehreren GM-Tokens und sammelt Gebühren, die von ihnen generiert werden." + +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "Netzwerk" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" -msgstr "" +msgstr "<0>jede</0> {hours} Stunden{0}" #: src/components/Referrals/TradersStats.tsx msgid "For trades on V1, this discount will be airdropped to your account every Wednesday. On V2, discounts are applied automatically and will reduce your fees when you make a trade." -msgstr "" +msgstr "Für Trades auf V1 wird dieser Rabatt jeden Mittwoch auf dein Konto airdropped. Auf V2 werden Rabatte automatisch angewendet und reduzieren deine Gebühren beim Handeln." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Fail External Swaps" -msgstr "" +msgstr "Externe Tausche fehlschlagen" #: src/domain/synthetics/orders/utils.tsx msgid "Swap {fromTokenText} for {toTokenText}" -msgstr "" +msgstr "Tausche {fromTokenText} gegen {toTokenText}" #: src/components/Exchange/SwapBox.jsx #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap submitted." -msgstr "Swap übermittelt." +msgstr "Tausch eingereicht." #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionSeller.jsx @@ -3582,7 +3632,7 @@ msgstr "PnL" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available using network's native token {0}. Consider using {1} instead." -msgstr "" +msgstr "Express-Trading ist nicht verfügbar mit dem nativen Token {0} des Netzwerks. Überlege, stattdessen {1} zu verwenden." #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx @@ -3591,11 +3641,11 @@ msgstr "Markterhöhung" #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims yet" -msgstr "" +msgstr "Noch keine Ansprüche" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Cancel Order" -msgstr "" +msgstr "Order abbrechen" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3611,47 +3661,47 @@ msgstr "Abheben" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Market" -msgstr "" +msgstr "Stop Market aktualisieren" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Vested Claimable GMX" -msgstr "" +msgstr "Vestete beanspruchbare GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy {nativeTokenSymbol}" -msgstr "" +msgstr "Kaufe {nativeTokenSymbol}" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "View in Explorer" -msgstr "Ansicht im Explorer" +msgstr "Im Explorer anzeigen" #: src/components/AprInfo/AprInfo.tsx msgid "Bonus APR" -msgstr "" +msgstr "Bonus-APR" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift request sent" -msgstr "" +msgstr "Shift-Anfrage gesendet" #: src/pages/Jobs/Jobs.jsx msgid "GMX is not actively looking for new hires at the moment. However, if you think you can contribute to the project, please email <0>jobs@gmx.io</0>." -msgstr "GMX sucht im Moment nicht aktiv nach neuen Mitarbeitern. Wenn du jedoch der Meinung bist, dass du zu dem Projekt beitragen kannst, sende bitte eine E-Mail an <0>jobs@gmx.io</0>." +msgstr "GMX sucht derzeit nicht aktiv nach neuen Mitarbeitern. Wenn du jedoch denkst, dass du zum Projekt beitragen kannst, sende bitte eine E-Mail an <0>jobs@gmx.io</0>." #: src/components/Exchange/ConfirmationBox.jsx msgid "You have multiple existing Increase {longOrShortText} {0} limit orders" -msgstr "Du hast mehrere bestehende {longOrShortText} {0} Limit-Orders zur Erhöhung" +msgstr "Du hast mehrere bestehende Erhöhungs-{longOrShortText} {0} Limit-Orders" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "After you scan, a connection prompt will appear for you to connect your wallet." -msgstr "Nach dem Scannen erscheint eine Verbindungsaufforderung, um dein Wallet zu verbinden." +msgstr "Nach dem Scannen erscheint eine Verbindungsaufforderung, um deine Wallet zu verbinden." #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer AVAX from other networks to Avalanche using any of the below options:" -msgstr "" +msgstr "Du kannst AVAX von anderen Netzwerken zu Avalanche transferieren, indem du eine der untenstehenden Optionen nutzt:" #: src/pages/Stake/Vesting.tsx msgid "Unsupported network" -msgstr "" +msgstr "Nicht unterstütztes Netzwerk" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -3661,11 +3711,11 @@ msgstr "Öffnen..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche" -msgstr "" +msgstr "Geworbene Trader auf Avalanche" #: src/components/Exchange/PositionSeller.jsx msgid "Trigger order disabled, pending {0} upgrade" -msgstr "" +msgstr "Trigger-Order deaktiviert, ausstehendes {0}-Upgrade" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Funding Fees" @@ -3673,9 +3723,8 @@ msgstr "Finanzierungsgebühren" #: src/domain/tokens/approveTokens.tsx msgid "Approval failed" -msgstr "Genehmigung gescheitert" +msgstr "Genehmigung fehlgeschlagen" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx @@ -3684,19 +3733,19 @@ msgstr "Offenes Interest" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Updating settings..." -msgstr "" +msgstr "Einstellungen aktualisieren..." #: src/components/Exchange/SwapBox.jsx msgid "The position will be opened at {0} USD with a max slippage of {1}%.<0/><1/>The slippage amount can be configured under Settings, found by clicking on your address at the top right of the page after connecting your wallet.<2/><3/><4>Read more</4>." -msgstr "Die Position wird zu {0} USD mit einer maximalen Slippage von {1}% eröffnet.<0/><1/>Die Höhe des Slippage kann unter Einstellungen konfiguriert werden, die du findest, wenn du auf deiner Adresse oben rechts auf der Seite klickst, nachdem du deine Wallet verbunden hast.<2/><3/><4>Mehr lesen</4>." +msgstr "Die Position wird zu {0} USD mit einem maximalen Slippage von {1}% eröffnet.<0/><1/>Der Slippage-Betrag kann unter Einstellungen konfiguriert werden, die du findest, indem du auf deine Adresse oben rechts auf der Seite klickst, nachdem du deine Wallet verbunden hast.<2/><3/><4>Mehr lesen</4>." #: src/components/Referrals/TradersStats.tsx msgid "Active Referral Code" -msgstr "Aktive Referral Codes" +msgstr "Aktiver Referral-Code" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "Save One-Click Trading settings" -msgstr "" +msgstr "One-Click-Trading-Einstellungen speichern" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Please switch your network to Arbitrum." @@ -3704,19 +3753,19 @@ msgstr "Bitte wechsle dein Netzwerk zu Arbitrum." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "The position would be immediately liquidated upon order execution. Try reducing the size." -msgstr "" +msgstr "Die Position würde sofort bei der Orderausführung liquidiert werden. Versuche, die Größe zu reduzieren." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUYABLE" -msgstr "" +msgstr "KAUFBARE" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP" -msgstr "" +msgstr "TWAP erstellen" #: src/components/Exchange/PositionEditor.jsx msgid "Enabling Leverage" -msgstr "" +msgstr "Hebelwirkung aktivieren" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx @@ -3725,80 +3774,76 @@ msgstr "Ungültige Empfängeradresse" #: src/components/Exchange/PositionSeller.jsx msgid "Collateral is not enough to cover pending Fees. Please uncheck \"Keep Leverage\" to pay the Fees with the realized PnL." -msgstr "" +msgstr "Kollateral reicht nicht aus, um ausstehende Gebühren zu decken. Bitte deaktiviere \"Hebel beibehalten\", um die Gebühren mit dem realisierten PnL zu bezahlen." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have yet to reach the minimum \"Capital Used\" of {0} to qualify for the rankings." -msgstr "" +msgstr "Du hast das minimale \"Genutzte Kapital\" von {0} noch nicht erreicht, um für die Rangliste zu qualifizieren." #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience as GMX Liquidity Provider and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "Wir schätzen deine Erfahrung als GMX-Liquiditätsanbieter und laden dich zu einem anonymen One-on-One-Chat ein." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "TVL (SUPPLY)" -msgstr "" +msgstr "TVL (VERSORGUNG)" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the leverage to match the max. allowed leverage." -msgstr "" +msgstr "Verringere die Hebelwirkung, um der max. erlaubten Hebelwirkung zu entsprechen." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Shorts" -msgstr "" +msgstr "Shorts" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Prev" -msgstr "Prev" +msgstr "Vorherig" #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 180d" -msgstr "" +msgstr "Letzte 180 Tage" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown buy GM order" -msgstr "" +msgstr "Unbekannte Kauf-GM-Order" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "" +msgstr "Du kannst das standardmäßige zulässige Slippage im Einstellungsmenü oben rechts auf der Seite bearbeiten.<0/><1/>Beachte, dass ein niedriges zulässiges Slippage, z.B. weniger als -{0}, zu fehlgeschlagenen Orders führen kann, wenn die Preise volatil sind." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." -msgstr "" +msgstr "Es gibt keinen Preisimpact. Es gibt einen einzelnen<0/>Ausführungspreis für die Erhöhung von Longs oder<1/>die Verringerung von Shorts für diese Größe." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 days." -msgstr "Nach Inanspruchnahme werden die esGMX-Tokens innerhalb von 7 Tagen auf dein Konto im ausgewählten Netzwerk überwiesen." +msgstr "Nach dem Beanspruchen werden die esGMX-Tokens innerhalb von 7 Tagen auf dein Konto im ausgewählten Netzwerk airdropped." #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Buy GLV" -msgstr "" +msgstr "GLV kaufen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Part" -msgstr "" +msgstr "Fehlgeschlagener TWAP-Teil" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Impact+Fees" -msgstr "" +msgstr "Impact+Gebühren" #: src/components/TVChartContainer/constants.ts msgid "TP - Short Dec." -msgstr "" +msgstr "TP - Short Verringerung" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs GM Token Dashboard" -msgstr "" +msgstr "Compass Labs GM Token Dashboard" #: src/components/Exchange/TradeHistory.jsx msgid "Request increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2} {3} USD" @@ -3811,35 +3856,35 @@ msgstr "Erhöhungsanfrage {0} {longOrShortText}, +{1} USD, Akzeptabler Preis: {2 #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "Collateral In" -msgstr "Kollateral in" +msgstr "Kollateral In" #: src/pages/Dashboard/GmCard.tsx msgid "GM Markets" -msgstr "" +msgstr "GM-Märkte" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Your opinions and experiences matter to us. Your feedback helps us understand what we are doing well and where we can make enhancements." -msgstr "" +msgstr "Deine Meinungen und Erfahrungen sind uns wichtig. Dein Feedback hilft uns zu verstehen, was wir gut machen und wo wir Verbesserungen vornehmen können." #: src/components/Exchange/UsefulLinks.tsx msgid "Trading guide" -msgstr "Handelsleitfaden" +msgstr "Trading-Anleitung" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Open {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "{longOrShortText} öffnen - {marketIndexName}" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "TRADING Airdrop" -msgstr "" +msgstr "TRADING Airdrop" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. This can be useful for delta-neutral strategies to earn funding fees." -msgstr "" +msgstr "Du wirst {indexSymbol} aus deiner Short-Position short sein, während du {collateralSymbol} aus deinem {collateralSymbol}-Kollateral long bist. Das kann für delta-neutrale Strategien nützlich sein, um Finanzierungsgebühren zu verdienen." #: src/components/Referrals/TradersStats.tsx msgid "Rebates earned by this account as a trader." -msgstr "Rabatte, die mit diesem Konto als Händler verdient wurden." +msgstr "Rabatte, die von diesem Konto als Trader verdient wurden." #: src/components/Exchange/SwapBox.jsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -3862,7 +3907,7 @@ msgstr "Mehr lesen" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "This Year" -msgstr "" +msgstr "Dieses Jahr" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -3870,45 +3915,48 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{actionDisplay} {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} Preis: {3} USD" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Vesting Status" -msgstr "" +msgstr "Vesting-Status" #: src/components/Exchange/ConfirmationBox.jsx msgid "You have an active Limit Order to Increase {longOrShortText} {sizeInToken} {0} (${1}) at price ${2}" -msgstr "Du hast eine aktive Limit-Order zur Erhöhung von {longOrShortText} {sizeInToken} {0} (${1}) zum Preis von ${2}" +msgstr "Du hast eine aktive Limit-Order zur Erhöhung von {longOrShortText} {sizeInToken} {0} (${1}) zum Preis ${2}" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Claiming Price Impact Rebate..." -msgstr "" +msgstr "Preisimpact-Rabatt beanspruchen..." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Negative funding fees are automatically settled against the collateral and impact the liquidation price. Positive funding fees can be claimed under the claims tab." -msgstr "" +msgstr "Negative Finanzierungsgebühren werden automatisch gegen das Kollateral abgerechnet und beeinflussen den Liquidationspreis. Positive Finanzierungsgebühren können unter dem Tab Ansprüche beansprucht werden." #: src/pages/Stake/Stake.tsx msgid "Unstake esGMX" -msgstr "" +msgstr "esGMX unstaken" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "The actual trigger price at which order gets filled will depend on fees and price impact at the time of execution to guarantee that you receive the minimum receive amount." -msgstr "" +msgstr "Der tatsächliche Trigger-Preis, zu dem die Order ausgeführt wird, hängt von Gebühren und Preisimpact zum Zeitpunkt der Ausführung ab, um zu garantieren, dass du den Mindestempfangsbetrag erhältst." #: src/components/Exchange/PositionDropdown.tsx msgid "Set TP/SL" -msgstr "" +msgstr "TP/SL setzen" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition. The Order will get filled when the condition is met." -msgstr "Der Ausführungspreis erfüllt die akzeptable Preisbedingung nicht. Der Auftrag wird ausgeführt, wenn die Bedingung erfüllt ist." +msgstr "Der Ausführungspreis erfüllte die akzeptable Preisbedingung nicht. Die Order wird ausgeführt, wenn die Bedingung erfüllt ist." #: src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx msgid "Initial Collateral (Collateral excluding Borrow and Funding Fee)." -msgstr "" +msgstr "Ursprüngliches Kollateral (Kollateral exklusive Leih- und Finanzierungsgebühr)." #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx @@ -3917,15 +3965,15 @@ msgstr "Netto-Rate / 1h" #: src/pages/Stake/ClaimModal.tsx msgid "Claim esGMX Rewards" -msgstr "" +msgstr "esGMX-Belohnungen beanspruchen" #: src/pages/Stake/Stake.tsx msgid "Trading incentives program is live on {avalancheLink}." -msgstr "" +msgstr "Trading-Incentives-Programm ist live auf {avalancheLink}." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending sell request" -msgstr "" +msgstr "Verkaufsanfrage senden" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx @@ -3935,11 +3983,11 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "NA" -msgstr "" +msgstr "N/A" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This action will not apply for that position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "Du hast eine bestehende Position mit {0} als Kollateral. Diese Aktion gilt nicht für diese Position. <0>Wechsle zu {1}-Kollateral</0>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3947,7 +3995,7 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Trigger price for the order." -msgstr "Trigger-Preis für den Auftrag." +msgstr "Trigger-Preis für die Order." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4004,42 +4052,42 @@ msgstr "Short" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "PnL ($)" -msgstr "" +msgstr "PnL ($)" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "GMX Market Tokens" -msgstr "" +msgstr "GMX-Markt-Tokens" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is above mark price" -msgstr "" +msgstr "Stop-Market-Preis ist über dem Mark-Preis" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Txn failed. <0>View</0>." -msgstr "" +msgstr "Transaktion fehlgeschlagen. <0>Ansehen</0>." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Affiliate Vault" -msgstr "" +msgstr "Affiliate-Vault" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "Einen Preis eingeben" +msgstr "Preis eingeben" #: src/components/Referrals/JoinReferralCode.tsx msgid "Updating..." -msgstr "Updating.." +msgstr "Aktualisieren..." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Increase" -msgstr "Markterhöhung fehlgeschlagen" +msgstr "Fehlgeschlagene Markterhöhung" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "" +#~ msgid "EIP-4844 Competition" +#~ msgstr "EIP-4844 Wettbewerb" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4053,23 +4101,23 @@ msgstr "" #: src/components/Synthetics/PositionList/PositionList.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Liq. Price" -msgstr "Liq. Preis" +msgstr "Liq.-Preis" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trading Pair Price Alerts" -msgstr "" +msgstr "Trading-Paar-Preiswarnungen" #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The exact execution price may vary depending on fees at the time the order is executed." -msgstr "Du wirst mind. {0} {1} erhalten, wenn dieser Auftrag ausgeführt wird. Der genaue Ausführungspreis kann je nach den Gebühren zum Zeitpunkt der Ausführung des Auftrags variieren." +msgstr "Du erhältst mindestens {0} {1}, wenn diese Order ausgeführt wird. Der genaue Ausführungspreis kann je nach Gebühren zum Zeitpunkt der Ausführung variieren." #: src/components/Common/SEO.tsx msgid "GMX | Decentralized Perpetual Exchange" -msgstr "" +msgstr "GMX | Dezentrale Perpetual-Exchange" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "<0>Botanix</0> currently only supports" -msgstr "" +msgstr "<0>Botanix</0> unterstützt derzeit nur" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "No position" @@ -4079,7 +4127,7 @@ msgstr "Keine Position" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Buy GLP" -msgstr "GLP Kaufen" +msgstr "GLP kaufen" #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel failed" @@ -4088,35 +4136,35 @@ msgstr "Abbruch fehlgeschlagen" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "{daysConsidered}d Earned Fees" -msgstr "" +msgstr "{daysConsidered} Tage verdiente Gebühren" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Fulfilling order request" -msgstr "" +msgstr "Orderanfrage erfüllen" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance to pay for gas" -msgstr "" +msgstr "Unzureichendes {0}-Guthaben, um Gas zu bezahlen" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can currently vest a maximum of {0} esGMX tokens at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "Du kannst derzeit maximal {0} esGMX-Token in einem Verhältnis von {1} {stakingToken} zu 1 esGMX übertragen." +msgstr "Du kannst derzeit maximal {0} esGMX-Tokens in einem Verhältnis von {1} {stakingToken} zu 1 esGMX vesten." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy AVAX directly to Avalanche or transfer it there." -msgstr "" +msgstr "Kaufe AVAX direkt auf Avalanche oder transferiere es dorthin." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Open Ocean" -msgstr "" +msgstr "Open Ocean" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Single" -msgstr "" +msgstr "Einzeln" #: src/domain/synthetics/orders/prepareOrderTxn.ts msgid "Error preparing transaction. Provider is not defined" -msgstr "" +msgstr "Fehler beim Vorbereiten der Transaktion. Provider ist nicht definiert" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx msgid "Funding fees" @@ -4124,33 +4172,33 @@ msgstr "Finanzierungsgebühren" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity in GM Pool" -msgstr "" +msgstr "Unzureichende Liquidität im GM-Pool" #: src/components/Exchange/ExchangeBanner.jsx msgid "Trade on GMX and win <0>$250.000</0> in prizes! Live until November 30th, <1>click here</1> to learn more." -msgstr "Handle auf GMX und gewinne <0>$250.000</0> in Preisen! Live bis zum 30. November, <1>Klicke hier</1> um mehr zu erfahren." +msgstr "Handele auf GMX und gewinne <0>250.000 $</0> an Preisen! Live bis 30. November, <1>klicke hier</1>, um mehr zu erfahren." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "tBTC LP incentives" -msgstr "" +msgstr "tBTC LP-Incentives" #: src/components/ModalViews/RedirectModal.tsx msgid "You are leaving GMX.io and will be redirected to a third party, independent website." -msgstr "Du verlässt GMX.io und wirst auf eine unabhängige Website eines Drittanbieters weitergeleitet." +msgstr "Du verlässt GMX.io und wirst zu einer unabhängigen Website eines Drittanbieters weitergeleitet." #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Borrow Fee" -msgstr "" +msgstr "Angefallene Leihgebühr" #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "Read more." -msgstr "" +msgstr "Mehr lesen." #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "PnL Analysis" -msgstr "" +msgstr "PnL-Analyse" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "View Details" @@ -4158,58 +4206,58 @@ msgstr "" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}." -msgstr "" +msgstr "Kein Tauschpfad verfügbar. <0>Tausche {0} zu {swapToTokenSymbol}</0>, dann zu {1}." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Longs" -msgstr "" +msgstr "Longs" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit submitted." -msgstr "" +msgstr "Einzahlung eingereicht." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown sell GM order" -msgstr "" +msgstr "Unbekannte Verkaufs-GM-Order" #: src/components/NotifyModal/NotifyModal.tsx msgid "<0>Notifications are provided by Notifi and not affiliated with GMX. By subscribing, you agree that info you provide to Notifi will be governed by its </0><1>Privacy Policy</1><2> and </2><3>Terms of Use</3>." -msgstr "" +msgstr "<0>Benachrichtigungen werden von Notifi bereitgestellt und sind nicht mit GMX verbunden. Durch Abonnieren stimmst du zu, dass die von dir an Notifi bereitgestellten Infos von seiner </0><1>Datenschutzrichtlinie</1><2> und </2><3>Nutzungsbedingungen</3> geregelt werden." #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} and {avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} und {avalancheLink} GLV-Pools sind <0>incetiviert{sparkle}.</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Limit: {0} a long position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Long Limit: {0} eine Long-Position, wenn der Preis unter dem Trigger-Preis liegt." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1} to {2} within GMX.<2/><3/><4>You can buy {3} on 1inch.</4>" -msgstr "" +msgstr "{0} wird für Kollateral benötigt.<0/><1/>Es wurde kein Tauschpfad für {1} zu {2} innerhalb von GMX gefunden.<2/><3/><4>Du kannst {3} auf 1inch kaufen.</4>" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Du hast eine bestehende Position im {0}-Marktpool.<0><1>Wechsle zu {1}-Marktpool</1>.</0>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Capital Used" -msgstr "" +msgstr "Genutztes Kapital" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 10 symbols in name" -msgstr "" +msgstr "Max. 10 Symbole im Namen" #: src/pages/Dashboard/StatsCard.tsx msgid "Users" -msgstr "" +msgstr "Benutzer" #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx msgid "Gas Payment Token" -msgstr "" +msgstr "Gas-Zahlungstoken" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -4228,45 +4276,45 @@ msgstr "Preisimpact" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a token" -msgstr "" +msgstr "Token auswählen" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Market Traders’ PnL" -msgstr "" +msgstr "Exposition gegenüber PnL der Markthändler" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" -msgstr "" +msgstr "Optimal" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "UI Fee" -msgstr "" +msgstr "UI-Gebühr" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Execute order simulation failed." -msgstr "" +msgstr "Ausführung der Ordersimulation fehlgeschlagen." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Invalid Transfer Addresses: Please check the url." -msgstr "" +msgstr "Ungültige Transferadressen: Bitte überprüfe die URL." #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "GLP Index Composition" -msgstr "" +msgstr "GLP-Index-Zusammensetzung" #: src/domain/synthetics/positions/utils.ts msgid "TP" -msgstr "" +msgstr "TP" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "<0>Claimable Funding Fee.</0>" -msgstr "" +msgstr "<0>Beanspruchbare Finanzierungsgebühr.</0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Log in to your Binance app and tap [Wallets]. Go to [Web3]." @@ -4281,27 +4329,28 @@ msgstr "Beanspruchbar" #: src/components/Exchange/OrdersToa.jsx msgid "Additionally, trigger orders are market orders and are not guaranteed to settle at the trigger price." -msgstr "Außerdem handelt es sich bei Trigger-Order um Markt-Orders, bei denen nicht garantiert wird, dass sie zum Trigger-Kurs abgerechnet werden." +msgstr "Zusätzlich sind Trigger-Orders Markt-Orders und es wird nicht garantiert, dass sie zum Trigger-Preis abgerechnet werden." #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" msgstr "Dokumente" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Stats" -msgstr "" +msgstr "GMX Trading-Statistiken" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Creating Order..." -msgstr "Erstellen der Order..." +msgstr "Order erstellen..." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit disabled, pending {0} upgrade" -msgstr "" +msgstr "Einzahlung deaktiviert, ausstehendes {0}-Upgrade" #: src/pages/Jobs/Jobs.jsx msgid "Jobs" @@ -4309,24 +4358,20 @@ msgstr "Jobs" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Options Strategies" -msgstr "Strategien für dezentralisierte Optionen" +msgstr "Dezentrale Optionsstrategien" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Technical Announcements" -msgstr "" +msgstr "GMX Technische Ankündigungen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Market" -msgstr "" +msgstr "Fehlgeschlagener Stop Market" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Address copied to your clipboard" -msgstr "" - -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "" +msgstr "Adresse in deine Zwischenablage kopiert" #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4337,7 +4382,7 @@ msgstr "Einstellungen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs Trading Simulations" -msgstr "" +msgstr "Compass Labs Trading-Simulationen" #: src/components/Referrals/AffiliatesStats.tsx msgid "Amount of traders you referred." @@ -4345,26 +4390,26 @@ msgstr "Anzahl der von dir geworbenen Trader." #: src/components/Exchange/PositionSeller.jsx msgid "GMX V1 only supports closing positions using market orders. For advanced trading features, use GMX V2." -msgstr "" +msgstr "GMX V1 unterstützt nur das Schließen von Positionen mit Markt-Orders. Für fortgeschrittene Trading-Features nutze GMX V2." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Take Profit" -msgstr "" +msgstr "Take-Profit" #: src/components/Exchange/PositionSeller.jsx msgid "Close submitted!" -msgstr "" +msgstr "Schließen eingereicht!" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Hour(s)" -msgstr "" +msgstr "Stunde(n)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} liquidity" -msgstr "" +msgstr "Unzureichende {0}-Liquidität" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -4373,33 +4418,33 @@ msgstr "Ersteller" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Derivatives Portfolio Tracker" -msgstr "" +msgstr "Derivate-Portfolio-Tracker" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit" -msgstr "" +msgstr "Limit erstellen" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer already initiated" -msgstr "Transfer bereits begonnen" +msgstr "Transfer bereits initiiert" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw submitted." -msgstr "" +msgstr "Abheben eingereicht." #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/AddAffiliateCode.jsx msgid "Enter a code" -msgstr "Einen Code eingeben" +msgstr "Code eingeben" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "Details" -msgstr "" +msgstr "Details" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Umami DAO" -msgstr "" +msgstr "Umami DAO" #: src/components/Exchange/OrdersList.jsx #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -4408,20 +4453,20 @@ msgstr "Order" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Avalanche" -msgstr "" +msgstr "Gestaket auf Avalanche" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" -msgstr "Medienpaket" +msgstr "Medienkit" #: src/pages/Home/Home.tsx msgid "Reduce Liquidation Risks" -msgstr "Verringere Liquidationsrisiken" +msgstr "Liquidationsrisiken reduzieren" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "UniDex Leverage" -msgstr "" +msgstr "UniDex Hebelwirkung" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "collateral" @@ -4442,15 +4487,15 @@ msgstr "Keine offenen Orders" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche Fuji" -msgstr "" +msgstr "Geworbene Trader auf Avalanche Fuji" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claim V2 Rebates from your referred Traders." -msgstr "" +msgstr "Beanspruche V2-Rabatte von deinen geworbenen Tradern." #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in GM Pools." -msgstr "" +msgstr "Gesamtwert der Tokens in GM-Pools." #: src/components/Glp/GlpSwap.jsx msgid "Reserved" @@ -4459,69 +4504,74 @@ msgstr "Reserviert" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Botanix" -msgstr "" +msgstr "Botanix" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Price below Liq. Price" -msgstr "Preis unter Liq. Preis" +msgstr "Preis unter Liq.-Preis" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit / Stop Loss" +msgstr "Take-Profit / Stop-Loss" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" msgstr "" #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" -msgstr "" +msgstr "Es gibt nicht genügend {0} in deinem Konto auf {networkName}, um diese Transaktion zu senden.<0/><1/><2>Kaufe oder transferiere {1} zu {networkName}</2>" #: src/components/TVChartContainer/constants.ts msgid "SL - Long Dec." -msgstr "" +msgstr "SL - Long Verringerung" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Airdrop" -msgstr "" +msgstr "Airdrop" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake submitted!" -msgstr "" +msgstr "Unstaking eingereicht!" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "This competition is held on the {0} network. <0>Change your network</0> to participate." -msgstr "" +msgstr "Dieser Wettbewerb findet auf dem {0}-Netzwerk statt. <0>Wechsle dein Netzwerk</0>, um teilzunehmen." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Loss" -msgstr "" +msgstr "Stop-Loss erstellen" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to generate session" -msgstr "" +msgstr "Fehlgeschlagen beim Generieren der Sitzung" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "This competition has ended." -msgstr "" +msgstr "Dieser Wettbewerb ist beendet." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx msgid "Shorts Net Rate / 1h" -msgstr "Shorts Nettotarif / 1h" +msgstr "Shorts Netto-Rate / 1h" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" -msgstr "" +msgstr "GLV-Vaults" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Portuguese)" -msgstr "" +msgstr "GMX (Portugiesisch)" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Stake GMX</0> and earn {gmxAvgAprText} APR" -msgstr "" +msgstr "<0>Stake GMX</0> und verdiene {gmxAvgAprText} APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Mozaic Finance" -msgstr "" +msgstr "Mozaic Finance" #: src/pages/Exchange/Exchange.tsx msgid "Withdrew {0} USD from {tokenSymbol} {longOrShortText}." @@ -4529,81 +4579,77 @@ msgstr "{0} USD von {tokenSymbol} {longOrShortText} abgehoben." #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Accrued Funding Fee." -msgstr "" +msgstr "Angefallene Finanzierungsgebühr." #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw failed." -msgstr "" +msgstr "Abheben fehlgeschlagen." #: src/pages/Stake/ClaimModal.tsx msgid "Pending GMX approval" -msgstr "" +msgstr "Ausstehende GMX-Genehmigung" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "No markets found." -msgstr "" +msgstr "Keine Märkte gefunden." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "ODOS" -msgstr "" +msgstr "ODOS" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Substack" -msgstr "" +msgstr "GMX Substack" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Positions Bot" -msgstr "" +msgstr "GMX Positions Bot" #: src/components/Referrals/TradersStats.tsx msgid "Edit Referral Code" -msgstr "Referral Code bearbeiten" +msgstr "Referral-Code bearbeiten" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Take Profit" -msgstr "" +msgstr "Take-Profit ausführen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stryke" -msgstr "" +msgstr "Stryke" #: src/components/Errors/errorToasts.tsx msgid "External swap is temporarily disabled. Please try again." -msgstr "" +msgstr "Externer Tausch ist vorübergehend deaktiviert. Bitte versuche es erneut." #: src/components/Stake/GMXAprTooltip.tsx msgid "GMX APR" -msgstr "" - -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "" +msgstr "GMX APR" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" -msgstr "" +msgstr "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Du hast eine bestehende Limit-Order im {0}-Marktpool.<0><1>Wechsle zu {1}-Marktpool</1>.</0>" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" -msgstr "" +msgstr "Verringerung" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "You have set a high allowed slippage. The current swap impact including fees is {0}." -msgstr "" +msgstr "Du hast ein hohes zulässiges Slippage gesetzt. Der aktuelle Tauschimpact inklusive Gebühren beträgt {0}." #: src/components/Referrals/AffiliatesStats.tsx msgid "Create Referral Code" -msgstr "Referral Code erstellen" +msgstr "Referral-Code erstellen" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined take profits are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "Kombinierte Take-Profits sind am Maximum (100%). Verringere bestehende Werte, um mehr Orders hinzuzufügen." #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks" @@ -4611,7 +4657,7 @@ msgstr "Netzwerke" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: {1}, Price: {priceDisplay}" -msgstr "" +msgstr "{0}: {1}, Preis: {priceDisplay}" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx @@ -4621,7 +4667,7 @@ msgstr "POOL" #: src/components/Header/HomeHeaderLinks.tsx msgid "Voting" -msgstr "" +msgstr "Abstimmung" #: src/components/Exchange/TradeHistory.jsx msgid "This position was liquidated as the max leverage of 100x was exceeded." @@ -4629,11 +4675,11 @@ msgstr "Diese Position wurde liquidiert, da die maximale Hebelwirkung von 100x #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "<0>Switch to:</0>" -msgstr "" +msgstr "<0>Wechsle zu:</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Limit: {0} a short position when the price is above the trigger price." -msgstr "" +msgstr "{typeString} Short Limit: {0} eine Short-Position, wenn der Preis über dem Trigger-Preis liegt." #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "No trades match the selected filters" @@ -4646,7 +4692,7 @@ msgstr "Verringert" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Updating {orderText}." -msgstr "" +msgstr "Aktualisiere {orderText}." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4661,7 +4707,7 @@ msgstr "Verringern" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover collateral below 5 USD" -msgstr "" +msgstr "Verbleibende Sicherheit unter 5 USD" #: src/lib/legacy.ts msgid "Order cannot be executed as it would reduce the position's leverage below 1" @@ -4669,7 +4715,7 @@ msgstr "Auftrag kann nicht ausgeführt werden, da er die Hebelwirkung der Positi #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "Existing Executable Trigger Orders" -msgstr "" +msgstr "Bestehende ausführbare Trigger-Orders" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Weight" @@ -4681,11 +4727,11 @@ msgstr "Link in die Zwischenablage kopiert." #: src/components/SettingsModal/SettingsModal.tsx msgid "Max slippage precision is -0.01%" -msgstr "" +msgstr "Maximale Slippage-Präzision beträgt -0,01 %" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Dec." -msgstr "Dezentr." +msgstr "Dez." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Weekly Updates" @@ -4693,25 +4739,24 @@ msgstr "GMX Wöchentliche Updates" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} only from your long position." -msgstr "" +msgstr "Du wirst nur durch deine Long-Position long auf {indexSymbol} sein." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal}" -msgstr "Insgesamt aktiv: {openTotal}, ausgeführt: {executedTotal}, cancelled: {cancelledTotal}" +msgstr "Insgesamt aktiv: {openTotal}, ausgeführt: {executedTotal}, storniert: {cancelledTotal}" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h Low" -msgstr "" +msgstr "24h Tief" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "" +#~ msgid "Chain Icon" +#~ msgstr "Chain-Icon" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" -msgstr "" +msgstr "Abwicklungsanfrage für {0, plural, one {# Position} other {# Positionen}} gesendet" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -4720,61 +4765,62 @@ msgstr "Preis auf Arbitrum" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM kann für {0} auf diesem Markt bis zu den angegebenen Verkaufslimits verkauft werden. Die verbleibenden Token im Pool sind für derzeit offene Positionen reserviert." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "REBATE" -msgstr "" +msgstr "RABATT" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." -msgstr "" - -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "" +msgstr "Es könnte nicht genügend Liquidität vorhanden sein, um deinen Auftrag auszuführen, wenn die Min. Empfangen erfüllt sind." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" -msgstr "" +msgstr "Gesamte Trades" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Market Composition" -msgstr "" +msgstr "Marktzusammensetzung" #: src/components/Errors/errorToasts.tsx msgid "<0>Permit signature is invalid. Please try again.</0>" -msgstr "" +msgstr "<0>Erlaubnissignatur ist ungültig. Bitte versuche es erneut.</0>" #: src/components/NpsModal/NpsModal.tsx msgid "Enter your answer here" -msgstr "" +msgstr "Gib hier deine Antwort ein" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Firebird Finance" -msgstr "" +msgstr "Firebird Finance" #: src/pages/Stake/Stake.tsx msgid "Stake GMX" -msgstr "" +msgstr "Stake GMX" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shifting from <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> to <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" -msgstr "" +msgstr "Verschiebe von <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> zu <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TWAP: {0} a long position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Long TWAP: {0} eine Long-Position in gleichmäßig verteilten Teilen über eine festgelegte Zeit." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated!" msgstr "Referral Code aktualisiert!" +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "ZUSAMMENSETZUNG" + #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" -msgstr "" +msgstr "Favoriten" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} short capacity" @@ -4786,11 +4832,11 @@ msgstr "Der Ausführungspreis erfüllt die akzeptable Preisbedingung nicht." #: src/pages/Stake/VesterDepositModal.tsx msgid "Reserve Amount" -msgstr "" +msgstr "Reservemenge" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling buy request" -msgstr "" +msgstr "Erfülle Kaufanfrage" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Reason: {0}" @@ -4798,7 +4844,7 @@ msgstr "Grund: {0}" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Approval nonce expired. Please sign a new approval." -msgstr "" +msgstr "One-Click-Genehmigungs-Nonce abgelaufen. Bitte signiere eine neue Genehmigung." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -4825,9 +4871,9 @@ msgstr "Gesamtzeit" msgid "Select your vesting option below then click \"Claim\"." msgstr "Wähle unten deine Vestingoption aus und klicke dann auf \"Beanspruchen\"." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." -msgstr "" +msgstr "Die Standardanzahl von Teilen für Time-Weighted Average Price (TWAP)-Orders." #: src/pages/Home/Home.tsx msgid "Save on Costs" @@ -4835,23 +4881,23 @@ msgstr "Kosten sparen" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order cancelled" -msgstr "" +msgstr "Kauforder storniert" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Reserve" -msgstr "" +msgstr "{longShortText} {0} Reserve" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Cancel newly created orders" -msgstr "" +msgstr "Storniere neu erstellte Orders" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegate" -msgstr "" +msgstr "Delegieren" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Harmonix" -msgstr "" +msgstr "Harmonix" #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid NFT Address" @@ -4859,39 +4905,39 @@ msgstr "Ungültige NFT-Adresse" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LIQ." -msgstr "" +msgstr "LIQ." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP and GMX autocompounding vaults" -msgstr "" +msgstr "GLP und GMX autocompounding Vaults" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "esGMX OTC Market" -msgstr "" +msgstr "esGMX OTC-Markt" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Leverage Trading Terminal" -msgstr "" +msgstr "Hebel-Trading-Terminal" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing shorts and<0/>decreasing longs." -msgstr "" +msgstr "Ausführungspreise für steigende Shorts und<0/>verringerte Longs." #: src/pages/Stake/Stake.tsx msgid "Deposit <0>GMX</0> and <1>esGMX</1> tokens to earn rewards." -msgstr "" +msgstr "Einzahlen <0>GMX</0> und <1>esGMX</1> Token, um Belohnungen zu verdienen." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "The bonus rebate is an estimate and can be up to {0}% of the open fee. It will be airdropped as {incentivesTokenTitle} tokens on a pro-rata basis. <0><1>Read more</1>.</0>" -msgstr "" +msgstr "Der Bonus-Rabatt ist eine Schätzung und kann bis zu {0}% der Eröffnungsgebühr betragen. Er wird als {incentivesTokenTitle}-Token auf pro-rata-Basis airdropped. <0><1>Mehr lesen</1>.</0>" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>The order will be executed when the oracle price is {0} {1}.</0><1/><2>Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if the price impact exceeds your acceptable price.</2>" -msgstr "" +msgstr "<0>Der Auftrag wird ausgeführt, wenn der Orakelpreis {0} {1} ist.</0><1/><2>Beachte, dass es seltene Fälle geben kann, in denen der Auftrag nicht ausgeführt werden kann, z. B. wenn die Chain down ist und keine Orakelberichte produziert werden oder wenn der Preisimpact deinen akzeptablen Preis überschreitet.</2>" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Market" -msgstr "" +msgstr "Stop-Market erstellen" #: src/components/Exchange/SwapBox.jsx msgid "Swap submitted!" @@ -4899,14 +4945,14 @@ msgstr "Swap übermittelt!" #: src/components/Exchange/SwapBox.jsx msgid "V1 trading disabled. Switch to V2" -msgstr "" +msgstr "V1-Trading deaktiviert. Wechsle zu V2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche" -msgstr "" +msgstr "V1 Avalanche" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -4919,40 +4965,40 @@ msgstr "Kollateral ({0})" #: src/pages/Stake/StakeModal.tsx msgid "You will earn {0}% more rewards with this action." -msgstr "" +msgstr "Du wirst {0}% mehr Belohnungen mit dieser Aktion verdienen." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" -msgstr "" +msgstr "Max. Netzwerkgebühr-Puffer" #: src/components/Exchange/OrderEditor.jsx msgid "Order updated!" -msgstr "Orderupdate übermittelt!" +msgstr "Order aktualisiert!" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "Du wirst durch deine Short-Position short auf {indexSymbol} sein, während du durch dein {collateralSymbol}-Kollateral long auf {collateralSymbol} bist. Der Liquidationspreis variiert basierend auf dem Preis von {collateralSymbol}." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Market: Swap tokens at the current market price." -msgstr "" +msgstr "Swap-Markt: Tausche Token zum aktuellen Marktpreis." #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "TVL/CAP" -msgstr "" +msgstr "TVL/KAP" #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx msgid "Select a pool containing {0} to use it as collateral." -msgstr "Wähle einen Pool, der {0} enthält, um ihn als Sicherheit zu verwenden." +msgstr "Wähle einen Pool, der {0} enthält, um ihn als Kollateral zu verwenden." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Trading Simulations on GMX using DOJO" -msgstr "" +msgstr "Trading-Simulationen auf GMX mit DOJO" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Farming" -msgstr "" +msgstr "Yield Farming" #: src/lib/contracts/callContract.tsx msgid "Transaction completed!" @@ -4960,11 +5006,11 @@ msgstr "Transaktion abgeschlossen!" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approving..." -msgstr " Genehmigung..." +msgstr "Genehmige..." #: src/components/Exchange/PositionSeller.jsx msgid "Neither Collateral nor realized PnL is enough to cover pending Fees. Please close a larger position amount." -msgstr "" +msgstr "Weder Kollateral noch realisierter PnL reicht aus, um ausstehende Gebühren zu decken. Bitte schließe eine größere Positionsmenge." #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4973,14 +5019,15 @@ msgstr "NUTZUNG" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "One-Click Settings" -msgstr "" +msgstr "One-Click-Einstellungen" #: src/components/NotifyModal/NotifyModal.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements" -msgstr "" +msgstr "GMX Ankündigungen" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" @@ -4988,7 +5035,7 @@ msgstr "Referrals" #: src/components/Exchange/PositionSeller.jsx msgid "Max Leverage without PnL: 100x" -msgstr "" +msgstr "Max. Hebelwirkung ohne PnL: 100x" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Short" @@ -4996,37 +5043,37 @@ msgstr "Bestätige Short" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Short Liquidity" -msgstr "" +msgstr "Short-Liquidität" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Order Type" -msgstr "" +msgstr "Order-Typ" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order executed" -msgstr "" +msgstr "Verkaufsorder ausgeführt" #: src/domain/synthetics/orders/createStakeOrUnStakeTxn.tsx msgid "Failed to {0}" -msgstr "" +msgstr "{0} fehlgeschlagen" #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Affiliate Rewards Claimed" -msgstr "" +msgstr "Affiliate-Belohnungen beansprucht" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Order error. Prices are currently volatile for this market, try again by <0>increasing the allowed slippage</0> under the advanced display section." -msgstr "" +msgstr "Order-Fehler. Preise sind derzeit volatil für diesen Markt, versuche es erneut durch <0>Erhöhung der erlaubten Slippage</0> im erweiterten Anzeigebereich." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Swap Price Impact for External Swap Threshold" -msgstr "" +msgstr "Swap-Preisimpact für externen Swap-Schwellenwert" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Limit / Take Profit / Stop Loss" -msgstr "" +msgstr "Limit / Take Profit / Stop Loss" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -5040,24 +5087,21 @@ msgstr "Diese Position wurde liquidiert, da die maximale Hebelwirkung von {forma #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Swap {0}" -msgstr "" +msgstr "Swap {0}" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order submitted!" -msgstr "Swap Order übermittelt!" +msgstr "Swap-Order übermittelt!" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5068,9 +5112,9 @@ msgstr "Swap Order übermittelt!" msgid "Loading..." msgstr "Lädt..." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" -msgstr "" +msgstr "PnL in Hebelwirkungsanzeige einbeziehen" #: src/components/Exchange/PositionsList.jsx msgid "Share" @@ -5090,7 +5134,7 @@ msgstr "Trades" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available." -msgstr "" +msgstr "Kein Swap-Pfad verfügbar." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Telegram Groups" @@ -5099,31 +5143,31 @@ msgstr "Telegram Gruppen" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Search Action" -msgstr "" +msgstr "Aktion suchen" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" -msgstr "" +msgstr "Hebelwirkungs-Slider anzeigen" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Cancelling {orderText}." -msgstr "" +msgstr "Storniere {orderText}." #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "" +#~ msgid "CONCLUDED" +#~ msgstr "ABGESCHLOSSEN" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" -msgstr "" +msgstr "Kollateral-Delta" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "Realized PnL after fees and price impact." -msgstr "" +msgstr "Realisierter PnL nach Gebühren und Preisimpact." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Long Liquidity" -msgstr "" +msgstr "Long-Liquidität" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -5135,7 +5179,7 @@ msgstr "Ausführungspreis für die Order." #: src/components/AprInfo/AprInfo.tsx msgid "wstETH APR" -msgstr "" +msgstr "wstETH APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group" @@ -5143,11 +5187,11 @@ msgstr "Telegram Gruppe" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TP/SL: {0} a long position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Long TP/SL: {0} eine Long-Position, wenn der Trigger-Preis erreicht wird." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{toTokenIcon}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> zu </1>{toTokenIcon}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in any {0}/USD market pools for your order." @@ -5156,11 +5200,11 @@ msgstr "Unzureichende Liquidität in allen {0}/USD-Marktpools für deine Order." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have not traded during the selected period." -msgstr "" +msgstr "Du hast in dem ausgewählten Zeitraum nicht gehandelt." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "The trigger price for this order is based on the swap fees and price impact to guarantee that you will receive at least {toMinText} on order execution." -msgstr "" +msgstr "Der Trigger-Preis für diese Order basiert auf den Swap-Gebühren und dem Preisimpact, um zu garantieren, dass du bei der Orderausführung mindestens {toMinText} erhältst." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated failed." @@ -5182,6 +5226,7 @@ msgstr "Referral Code Update fehlgeschlagen." #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5194,19 +5239,19 @@ msgstr "Preis" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing was cancelled" -msgstr "" +msgstr "Erlaubnissignatur wurde storniert" #: src/components/Exchange/PositionSeller.jsx msgid "Realized PnL insufficient for Fees" -msgstr "" +msgstr "Realisierter PnL unzureichend für Gebühren" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending shift request" -msgstr "" +msgstr "Verschiebeanfrage senden" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Optimizer" -msgstr "" +msgstr "Yield Yak Optimizer" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Incorrect Account" @@ -5214,34 +5259,29 @@ msgstr "Falsches Konto" #: src/components/Exchange/PositionEditor.jsx msgid "Min residual collateral: 10 USD" -msgstr "" +msgstr "Min. verbleibendes Kollateral: 10 USD" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX & Voting Power" -msgstr "" +msgstr "GMX & Stimmrecht" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GMX is the utility and governance token. Accrues 30% and 27% of V1 and V2 markets generated fees, respectively." -msgstr "" +msgstr "GMX ist der Utility- und Governance-Token. Sammelt 30% und 27% der Gebühren der V1- und V2-Märkte an." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transferring" -msgstr "Übermitteln" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "" +msgstr "Übertrage" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" -msgstr "" +msgstr "GLP autocompounding Vaults" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "TP/SL orders exceed the position" -msgstr "" +msgstr "TP/SL-Orders überschreiten die Position" #: src/components/Glp/GlpSwap.jsx msgid "Buy failed." @@ -5250,40 +5290,40 @@ msgstr "Kauf fehlgeschlagen." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "pay" -msgstr "" +msgstr "zahlen" #: src/pages/Dashboard/GmxCard.tsx msgid "Total circulating supply of GMX tokens." -msgstr "" +msgstr "Gesamte umlaufende Versorgung von GMX-Token." #: src/pages/Dashboard/WeightText.tsx msgid "Target Weight" msgstr "Ziel-Gewichtung" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "" +#~ msgid "Winners:" +#~ msgstr "Gewinner:" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." -msgstr "Wenn du die Position schließt, kannst du auswählen, in welchem Token du die Gewinne erhalten möchtest." +msgstr "Beim Schließen der Position kannst du auswählen, in welchem Token du die Gewinne erhalten möchtest." #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "You can have up to {allowedAutoCancelOrdersNumber} active auto-cancelable TP/SL orders. Additional orders must be canceled manually, while existing ones will still close automatically with their related position." -msgstr "" +msgstr "Du kannst bis zu {allowedAutoCancelOrdersNumber} aktive auto-stornierbare TP/SL-Orders haben. Zusätzliche Orders müssen manuell storniert werden, während bestehende automatisch mit ihrer zugehörigen Position schließen." #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL (%)" -msgstr "" +msgstr "Top PnL (%)" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met." -msgstr "" +msgstr "Es könnte nicht genügend Liquidität vorhanden sein, um deinen Auftrag auszuführen, wenn die Preisbedingungen erfüllt sind." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Error submitting coins" -msgstr "" +msgstr "Fehler beim Übermitteln von Coins" #: src/components/Glp/GlpSwap.jsx msgid "WARNING: High Fees" @@ -5295,7 +5335,7 @@ msgstr "Nicht genügend verfügbare Swap-Liquidität, um den Auftrag zu erfülle #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP Swap" -msgstr "" +msgstr "TWAP-Swap stornieren" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -5303,6 +5343,10 @@ msgstr "" msgid "Transaction" msgstr "Transaktion" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "Letztes Jahr" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5315,27 +5359,27 @@ msgstr "Ungültiger Liq.-Preis" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized Buy Pressure (BB&D):" -msgstr "" +msgstr "Annualisierter Kaufdruck (BB&D):" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "buy" -msgstr "" +msgstr "kaufen" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAILABLE LIQ." -msgstr "" +msgstr "VERFÜGB. LIQ." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized pnl" -msgstr "" +msgstr "Start unrealisierter PnL" #: src/config/events.tsx msgid "Increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions." -msgstr "" +msgstr "Erhöhung von Positionen (Markt oder Limit), Hinzufügen von Kollateral und Swapping auf GMX V1 sind jetzt deaktiviert. Du kannst immer noch bestehende Positionen schließen." #: src/domain/tokens/approveTokens.tsx msgid "Approval submitted! <0>View status.</0>" -msgstr "Genehmigung erteilt! <0>Status anzeigen.</0>" +msgstr "Genehmigung übermittelt! <0>Status anzeigen.</0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size is 0" @@ -5343,33 +5387,41 @@ msgstr "Ordergröße ist 0" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please reduce the buy size, pick a different GM token, or shift the GM tokens to a different pool and try again." -msgstr "" +msgstr "Die kaufbaren Limit für den Pool GM: {0} in {1} [{2}] wurde erreicht. Bitte reduziere die Kaufgröße, wähle einen anderen GM-Token oder verschiebe die GM-Token in einen anderen Pool und versuche es erneut." #: src/components/Exchange/PositionSeller.jsx msgid "Close {longOrShortText} {0}" -msgstr "" +msgstr "{longOrShortText} {0} schließen" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" -msgstr "" +msgstr "Validierung für Tests deaktivieren" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited!" -msgstr "" +msgstr "Eingezahlt!" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx msgid "TP/SL" -msgstr "" +msgstr "TP/SL" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Max {0} in" msgstr "Max. {0} in" +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "Noch keine Elemente" + #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" +msgstr "Stop Loss Verringerung" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" msgstr "" #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -5390,30 +5442,30 @@ msgstr "Aktion" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx msgid "Supply" -msgstr "Supply" +msgstr "Versorgung" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionList/PositionList.tsx msgid "No open positions" -msgstr "Keine offenen Stellen" +msgstr "Keine offenen Positionen" #: src/components/DepthChart/DepthChart.tsx msgid "Size, $" -msgstr "" +msgstr "Größe, $" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Close {0} {1}{2}" -msgstr "" +msgstr "{0} {1}{2} schließen" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GLV" -msgstr "" +msgstr "GLV verkaufen" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b Retroactive Bonus" -msgstr "" +msgstr "STIP.b Retroaktiver Bonus" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right." @@ -5421,24 +5473,32 @@ msgstr "Versuche die Einstellung \"Erlaubter Slippage\" im Menü \"Einstellungen #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy AVAX directly on <0>Avalanche</0> using these options:" -msgstr "" +msgstr "Du kannst AVAX direkt auf <0>Avalanche</0> mit diesen Optionen kaufen:" #: src/components/Exchange/NetValueTooltip.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" +msgstr "Netto-Wert: Anfängliches Kollateral + PnL - Leihgebühr - Schließgebühr" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "30T" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." msgstr "" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" -msgstr "" +msgstr "Affiliate-Vault-Belohnungen beanspruchen" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select different tokens" -msgstr "Anderen Token wählen" +msgstr "Andere Token auswählen" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Network Fees" -msgstr "" +msgstr "Hohe Netzwerkgebühren" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are very high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -5446,49 +5506,49 @@ msgstr "Die Netzwerkgebühren sind derzeit sehr hoch, was auf eine vorübergehen #: src/components/Exchange/SwapBox.jsx msgid "There are more shorts than longs, borrow fees for longing is currently zero" -msgstr "Es gibt mehr Shorts als Longs, Leihgebühren für Longing sind derzeit gleich Null" +msgstr "Es gibt mehr Shorts als Longs, Leihgebühren für Longing sind derzeit null" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" -msgstr "" +msgstr "Letzte 90T" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "There is no liquidation price, as the position's collateral value will increase to cover any negative PnL." -msgstr "" +msgstr "Es gibt keinen Liquidationspreis, da der Kollateralwert der Position steigen wird, um negativen PnL abzudecken." #: src/components/TVChartContainer/DynamicLine.tsx msgid "Edit Order" -msgstr "" +msgstr "Order bearbeiten" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx msgid "Search Pool" -msgstr "" +msgstr "Pool suchen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Chat" -msgstr "" +msgstr "GMX Trading Chat" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" -msgstr "" +msgstr "24H%" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpie" -msgstr "" +msgstr "Perpie" #: src/components/Exchange/UsefulLinks.tsx msgid "Useful Links" msgstr "Nützliche Links" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "Externe Swaps aktivieren" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" -msgstr "" +msgstr "Trade-Bestätigungen" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -5497,24 +5557,28 @@ msgid "Available" msgstr "Verfügbar" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "" +#~ msgid "Last 7 days" +#~ msgstr "Letzte 7 Tage" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" -msgstr "" +msgstr "Solv Finance" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Begin Transfer" -msgstr "Übertragung beginnen" +msgstr "Transfer beginnen" #: src/components/RatingToast/RatingToast.tsx msgid "How likely are you to recommend our service to a friend or colleague?" +msgstr "Wie wahrscheinlich ist es, dass du unseren Service einem Freund oder Kollegen empfiehlst?" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" msgstr "" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" -msgstr "" +msgstr "Unzureichende Liquidität zum Swappen von Kollateral" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx @@ -5523,11 +5587,11 @@ msgstr "Marktverringerung" #: src/components/NotifyModal/NotifyModal.tsx msgid "Governance Alerts" -msgstr "" +msgstr "Governance-Alarme" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for{2} USDG" -msgstr "" +msgstr "Swap {0} {1} für{2} USDG" #: src/components/Header/HomeHeaderLinks.tsx msgid "Governance" @@ -5543,19 +5607,19 @@ msgstr "Governance" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Cancel" -msgstr "Abbruch" +msgstr "Abbrechen" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} updated." -msgstr "" +msgstr "{orderText} aktualisiert." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Tradao" -msgstr "" +msgstr "Tradao" #: src/components/Glp/GlpSwap.jsx msgid "Redemption time not yet reached" -msgstr "Tilgungszeitpunkt noch nicht erreicht" +msgstr "Einlösungszeit noch nicht erreicht" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -5564,7 +5628,7 @@ msgstr "Unzureichende Liquidität" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Bot" -msgstr "" +msgstr "Telegram Bot" #: src/domain/legacy.ts msgid "Order cancelled." @@ -5572,18 +5636,22 @@ msgstr "Order storniert." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Swap Part" -msgstr "" +msgstr "TWAP-Swap-Teil ausführen" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {seconds} seconds" -msgstr "" +msgstr "<0>jede</0> {seconds} Sekunden" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer AVAX to Avalanche" -msgstr "" +msgstr "Kaufe oder transferiere AVAX zu Avalanche" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "TokenTerminal" +msgstr "TokenTerminal" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -5593,16 +5661,16 @@ msgstr "Telegram-Bot für Open Interest auf GMX" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Check the \"Save on Fees\" section below to get the lowest fee percentages." -msgstr "Im Abschnitt \"Spare bei den Gebühren\"\\ unten findest du die niedrigsten Gebühren." +msgstr "Überprüfe den Abschnitt \"Gebühren sparen\" unten, um die niedrigsten Gebührenprozentsätze zu erhalten." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The total realized and unrealized profit and loss for the period, including fees and price impact." -msgstr "" +msgstr "Der gesamte realisierte und unrealisierte Gewinn und Verlust für den Zeitraum, einschließlich Gebühren und Preisimpact." #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Ann. Performance" -msgstr "" +msgstr "Ann. Performance" #: src/domain/legacy.ts msgid "The network Fees are very high currently, which may be due to a temporary increase in transactions on the {0} network." @@ -5614,11 +5682,15 @@ msgstr "Aktuell {0} long" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{0} orders were not updated as max order limit reached" -msgstr "" +msgstr "{0} Orders wurden nicht aktualisiert, da das maximale Order-Limit erreicht wurde" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "90T" #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" -msgstr "" +msgstr "Order erstellt!" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx #: src/domain/synthetics/orders/utils.tsx @@ -5627,27 +5699,27 @@ msgstr "Liquidation" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Risk Monitoring" -msgstr "" +msgstr "GMX Risikoüberwachung" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GLP tokens before" -msgstr "Der Empfänger hat noch keine GLP-Token gestaket" +msgstr "Empfänger hat zuvor keine GLP-Token gestaket" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min collateral: {0}" -msgstr "" +msgstr "Min. Kollateral: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter new amount or price" -msgstr "" +msgstr "Neuen Betrag oder Preis eingeben" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Wins and losses for fully closed positions." -msgstr "" +msgstr "Gewinne und Verluste für vollständig geschlossene Positionen." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "<0>This will claim {formattedRewards} GMX.<1/><2/>After claiming, you can stake these GMX tokens by using the \"Stake\" button in the GMX section of this Earn page.<3/><4/></0>" -msgstr "" +msgstr "<0>Dies beansprucht {formattedRewards} GMX.<1/><2/>Nach dem Beanspruchen kannst du diese GMX-Token staken, indem du den \"Stake\"-Button im GMX-Abschnitt dieser Earn-Seite verwendest.<3/><4/></0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Open Binance app" @@ -5665,7 +5737,7 @@ msgstr "Aktuell {0} shorts" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "To complete the transfer, you must switch your connected account to {receiver}." -msgstr "Um die Übertragung abzuschließen, musst du dein verbundenes Konto auf {receiver} umstellen." +msgstr "Um den Transfer abzuschließen, musst du dein verbundenes Konto auf {receiver} umstellen." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -5682,11 +5754,11 @@ msgstr "Bearbeiten" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No available leverage found" -msgstr "" +msgstr "Keine verfügbare Hebelwirkung gefunden" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Only addresses with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "Nur Adressen mit über {0} in \"Verwendetes Kapital\" werden gerankt." #: src/components/Exchange/ConfirmationBox.jsx msgid "Shorting..." @@ -5698,37 +5770,33 @@ msgstr "Du hast eine <0>ausstehende Übertragung</0> an {pendingReceiver}." #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Limit size is required" -msgstr "" +msgstr "Limit-Größe ist erforderlich" #: src/pages/Buy/Buy.tsx #: src/pages/Home/Home.tsx msgid "Protocol Tokens" -msgstr "" +msgstr "Protokoll-Token" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Collateral at Liquidation" -msgstr "" +msgstr "Kollateral bei Liquidation" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming you will be able to vest a maximum of {0} esGMX at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "Nach Inanspruchnahme kannst du maximal {0} esGMX in einem Verhältnis von {1} {stakingToken} zu 1 esGMX erwerben." +msgstr "Nach dem Beanspruchen kannst du maximal {0} esGMX in einem Verhältnis von {1} {stakingToken} zu 1 esGMX vesten." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Today" -msgstr "" +msgstr "Heute" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Receiver Address" msgstr "Empfängeradresse" -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "" - #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" -msgstr "" +msgstr "Von" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -5738,101 +5806,105 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Order Trigger Price" -msgstr "Orderauslösepreis" +msgstr "Order-Trigger-Preis" #: src/components/Glp/GlpSwap.jsx msgid "Epoch ending is not acknowledged" -msgstr "" +msgstr "Epoch-Ende ist nicht anerkannt" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Increase" -msgstr "" +msgstr "Limit-Erhöhung" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the edit collateral icon to deposit or withdraw collateral." -msgstr "Verwende das Kollateral-Bearbeiten-Symbol, um Kollateral einzuzahlen oder abzuheben." +msgstr "Verwende das Kollateral-Bearbeiten-Icon, um Kollateral einzuzahlen oder abzuheben." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing shorts for<4/>this size." -msgstr "" +msgstr "Keine Liquidität verfügbar für Erhöhung von Longs für<0/>diese Größe. Max. Long-Größe: {0}<1/><2/>Es gibt keinen Preisimpact. Es gibt einen einzelnen<3/>Ausführungspreis für Verringerung von Shorts für<4/>diese Größe." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using any token from any network:" -msgstr "" +msgstr "Kaufe GMX mit jedem Token aus jedem Netzwerk:" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume traded by your referred traders." -msgstr "Von den von dir empfohlenen Tradern gehandeltes Volumen." +msgstr "Von deinen empfohlenen Tradern gehandeltes Volumen." #: src/pages/Dashboard/GlpCard.tsx msgid "Stablecoin Percentage" -msgstr "Prozentsatz von Stablecoins" +msgstr "Stablecoin-Prozentsatz" #: src/domain/synthetics/orders/utils.tsx msgid "Parts of this order will be executed once there is sufficient liquidity." -msgstr "" +msgstr "Teile dieser Order werden ausgeführt, sobald genügend Liquidität vorhanden ist." #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This Order will not be valid for that Position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "Du hast eine bestehende Position mit {0} als Kollateral. Diese Order ist für diese Position nicht gültig. <0>Wechsle zu {1} Kollateral</0>." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Please only use this for full account transfers.<0/>This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account.<1/>Transfers are only supported if the receiving account has not staked GMX or GLP tokens before.<2/>Transfers are one-way, you will not be able to transfer staked tokens back to the sending account." -msgstr "" +msgstr "Bitte nur für vollständige Kontoübertragungen verwenden.<0/>Dies überträgt alle deine GMX, esGMX, GLP, Multiplier Points und Stimmrechte auf dein neues Konto.<1/>Übertragungen werden nur unterstützt, wenn das empfangende Konto zuvor keine GMX- oder GLP-Token gestaket hat.<2/>Übertragungen sind einseitig, du kannst gestakete Token nicht zurück auf das sendende Konto übertragen." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "SNTL esGMX Market" -msgstr "" +msgstr "SNTL esGMX-Markt" #: src/components/Referrals/TradersStats.tsx msgid "Tier {0} ({currentTierDiscount}% discount)" -msgstr "" +msgstr "Tier {0} ({currentTierDiscount}% Rabatt)" #: src/domain/synthetics/orders/utils.tsx msgid "This order using {collateralSymbol} as collateral will not be valid for the existing {longText} position using {symbol} as collateral." -msgstr "" +msgstr "Diese Order mit {collateralSymbol} als Kollateral ist nicht gültig für die bestehende {longText}-Position mit {symbol} als Kollateral." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Generative Market eXplore - AIGMX Agent" -msgstr "" +msgstr "Generative Market eXplore - AIGMX Agent" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dolomite" -msgstr "" +msgstr "Dolomite" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order request sent" -msgstr "" +msgstr "Orderanfrage gesendet" #: src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx msgid "Express Trading is enabled. Enjoy smoother, more reliable trades!" -msgstr "" +msgstr "Express-Trading ist aktiviert. Genieße flüssigere, zuverlässigere Trades!" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Alternatively, you can select a different \"Collateral In\" token." -msgstr "Alternativ kannst du auch einen anderen \"Kollateral In\" Token auswählen." +msgstr "Alternativ kannst du einen anderen \"Kollateral In\"-Token auswählen." #: src/components/NotifyModal/NotifyModal.tsx msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." +msgstr "Erhalte Alarme und Ankündigungen von GMX, um auf dem Laufenden zu bleiben bezüglich deiner Trades, Liquidationsrisiken und mehr." + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/PageNotFound/PageNotFound.jsx msgid "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" -msgstr "<0>Zurück zu </0><1>Homepage</1> <2>oder </2> <3>Traden</3>" +msgstr "<0>Zurück zu </0><1>Homepage</1> <2>oder </2> <3>Trade</3>" #: src/components/Synthetics/BridgingInfo/BridgingInfo.tsx msgid "Bridge {tokenSymbol} to {chainName} with" -msgstr "" +msgstr "Brücke {tokenSymbol} zu {chainName} mit" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing failed" -msgstr "" +msgstr "Erlaubnissignatur fehlgeschlagen" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price below mark price" -msgstr "" +msgstr "Stop-Marktpreis unter Markpreis" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -5842,58 +5914,62 @@ msgstr "{0} {1} für {2} {3} geswappt!" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "A size percentage is required" -msgstr "" +msgstr "Ein Größenprozentsatz ist erforderlich" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show more" -msgstr "" +msgstr "Mehr anzeigen" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized Fees" -msgstr "" +msgstr "Unrealisierte Gebühren" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred" -msgstr "Vermittelte Trader" +msgstr "Empfohlene Trader" #: src/pages/Stake/StakeModal.tsx msgid "Stake submitted!" -msgstr "" +msgstr "Stake übermittelt!" #: src/components/Exchange/PositionsList.jsx msgid "Use the \"Close\" button to reduce your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "Verwende den \"Schließen\"-Button, um deine Positionsgröße zu reduzieren oder Take Profit / Stop Loss Orders zu setzen." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Market)" -msgstr "" +msgstr "Größe erhöhen (Markt)" #: src/domain/synthetics/trade/utils/validation.ts msgid "Couldn't find a swap path with enough liquidity" -msgstr "" +msgstr "Konnte keinen Swap-Pfad mit genügend Liquidität finden" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdrawn!" -msgstr "" +msgstr "Abgehoben!" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "3rd Place" +msgstr "3. Platz" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." msgstr "" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" -msgstr "" +msgstr "Beanspruchen fehlgeschlagen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Loss" -msgstr "" +msgstr "Stop Loss aktualisieren" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -5913,25 +5989,25 @@ msgstr "Max {0} Long überschritten" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "N/A" -msgstr "" +msgstr "N/A" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is below mark price" -msgstr "" +msgstr "Stop-Marktpreis ist unter Markpreis" #: src/components/Exchange/PositionEditor.jsx #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Amount should be greater than zero" -msgstr "" +msgstr "Betrag muss größer als null sein" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpetuals Aggregator" -msgstr "" +msgstr "Perpetuals Aggregator" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "" +#~ msgid "LIVE" +#~ msgstr "LIVE" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -5952,20 +6028,20 @@ msgstr "Balance" #: src/pages/Stake/Stake.tsx msgid "Liquidity and trading incentives programs are live on {avalancheLink}." -msgstr "" +msgstr "Liquiditäts- und Trading-Incentive-Programme sind live auf {avalancheLink}." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX v2 Telegram & Discord Analytics" -msgstr "" +msgstr "GMX v2 Telegram & Discord Analytics" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-enable" -msgstr "" +msgstr "Wieder aktivieren" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "I do not want to transfer the Affiliate esGMX tokens" -msgstr "" +msgstr "Ich möchte die Affiliate esGMX-Token nicht übertragen" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and {action}" @@ -5973,68 +6049,68 @@ msgstr "Verzicht auf Gewinn und {action}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win/Loss" -msgstr "" +msgstr "Gewinn/Verlust" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Names could be separated by commas or spaces" -msgstr "" +msgstr "Namen können durch Kommas oder Leerzeichen getrennt werden" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from decentralized exchanges" -msgstr "" +msgstr "Kaufe GMX von dezentralen Exchanges" #: src/components/NotifyModal/NotifyModal.tsx msgid "Powered by" -msgstr "" +msgstr "Unterstützt von" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order executed" -msgstr "" +msgstr "Kauforder ausgeführt" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the set acceptable price impact. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "Der akzeptable Preis der Order umfasst den eingestellten akzeptablen Preisimpact. Der Ausführungspreis muss diese Bedingung erfüllen, damit die Order ausgeführt wird." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "This TWAP order will execute {numberOfParts} {0} {type} orders of {1} each over the next {2} for the {3} market." -msgstr "" +msgstr "Diese TWAP-Order wird {numberOfParts} {0} {type}-Orders von je {1} über die nächsten {2} für den {3}-Markt ausführen." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim submitted." -msgstr "" +msgstr "Beanspruchung übermittelt." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "OPEN INTEREST" -msgstr "" +msgstr "OPEN INTEREST" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Failed to download trade history CSV." -msgstr "" +msgstr "Fehler beim Herunterladen des Trade-Verlaufs-CSV." #: src/domain/synthetics/positions/utils.ts msgid "market" -msgstr "" +msgstr "markt" #: src/components/Referrals/JoinReferralCode.tsx msgid "Same as current active code" -msgstr "Gleicher Code wie der derzeitige aktive Code" +msgstr "Gleich wie der derzeit aktive Code" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "The current swap impact including fees is {0}. Consider adding a buffer of 1% to it so the order is more likely to be processed" -msgstr "" +msgstr "Der aktuelle Swap-Impact inklusive Gebühren beträgt {0}. Überlege, einen Puffer von 1% hinzuzufügen, damit die Order wahrscheinlicher verarbeitet wird" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Win / Loss" -msgstr "" +msgstr "Gewinn / Verlust" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 rebates are airdropped weekly. V2 rebates are automatically applied as fee discounts on each trade and do not show on this table." -msgstr "" +msgstr "V1-Rabatte werden wöchentlich airdropped. V2-Rabatte werden automatisch als Gebührenrabatte auf jeden Trade angewendet und erscheinen nicht in dieser Tabelle." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min position size: {0}" -msgstr "" +msgstr "Min. Positionsgröße: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6042,61 +6118,61 @@ msgstr "" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below mark price" -msgstr "" +msgstr "Trigger-Preis unter Markpreis" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "No delegate found" -msgstr "" +msgstr "Kein Delegierter gefunden" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Community with NFTs, Trading and Education initiatives" -msgstr "" +msgstr "GMX-Community mit NFTs, Trading und Bildungsinitiativen" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Confirmations" -msgstr "" +msgstr "Liquidationsbestätigungen" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the stop market order executes." -msgstr "" +msgstr "Erwarteter Ausführungspreis für die Order, inklusive aktuellem Preisimpact, sobald die Stop-Market-Order ausgeführt wird." #: src/components/Glp/GlpSwap.jsx msgid "Acknowledge epoch is ending in {minutes} minutes" -msgstr "" +msgstr "Bestätige, dass Epoch in {minutes} Minuten endet" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Price Impact" -msgstr "" +msgstr "Hoher Preisimpact" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX. For security reasons, we won't contact you first. Please send the message \"I have feedback\" to any of our official accounts:" -msgstr "" +msgstr "Wir wollen deine Einblicke, um GMX zu verbessern. Aus Sicherheitsgründen kontaktieren wir dich nicht zuerst. Bitte sende die Nachricht \"I have feedback\" an einen unserer offiziellen Accounts:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Claim esGMX" -msgstr "Beanspruche esGMX" +msgstr "esGMX beanspruchen" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer ETH to Arbitrum" -msgstr "" +msgstr "Kaufe oder transferiere ETH zu Arbitrum" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." -msgstr "" +msgstr "Der maximale prozentuale Unterschied zwischen deinem angegebenen Preis und dem Ausführungspreis beim Platzieren von Orders." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the limit order executes." -msgstr "" +msgstr "Erwarteter Ausführungspreis für die Order, inklusive aktuellem Preisimpact, sobald die Limit-Order ausgeführt wird." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of open fee" -msgstr "" +msgstr "der Eröffnungsgebühr" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Pool Amount" -msgstr "Pool Betrag" +msgstr "Pool-Betrag" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approve GMX" @@ -6104,7 +6180,7 @@ msgstr "GMX genehmigen" #: src/components/Glp/SwapErrorModal.tsx msgid "{0} Capacity Reached" -msgstr "{0} Erreichte Kapazität" +msgstr "{0} Kapazität erreicht" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -6117,15 +6193,15 @@ msgstr "{fromText} zu {toExecutionText}" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} Order" -msgstr "{0} Auftrag erstellen" +msgstr "{0} Order erstellen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit Swap" -msgstr "Limit Swap ausführen" +msgstr "Limit-Swap ausführen" #: src/pages/BuyGMX/BuyGMX.tsx msgid "To purchase GMX on the {0} blockchain, please <0>change your network</0>." -msgstr "" +msgstr "Um GMX auf der {0}-Blockchain zu kaufen, bitte <0>dein Netzwerk ändern</0>." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx #: src/components/NpsModal/NpsModal.tsx @@ -6136,21 +6212,22 @@ msgstr "Übermitteln" #: src/domain/tokens/approveTokens.tsx msgid "Permit signed!" -msgstr "" +msgstr "Erlaubnis signiert!" #: src/components/Exchange/TradeHistory.jsx msgid "Request withdrawal from {0} {longOrShortText}" -msgstr "Antrag auf Abheben von {0} {longOrShortText}" +msgstr "Abhebung von {0} {longOrShortText} anfordern" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Select an option" -msgstr "Option wählen" +msgstr "Option auswählen" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "less than a minute" -msgstr "" +msgstr "weniger als eine Minute" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "Ökosystem" @@ -6170,14 +6247,14 @@ msgstr "Erstellen" msgid "Limit order submitted!" msgstr "Limit-Order übermittelt!" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" -msgstr "" +msgstr "Letzte 7T" #: src/components/Synthetics/StatusNotification/StakeNotification.tsx msgid "Swap {fromAmount} for {toAmount}" -msgstr "" +msgstr "Swap {fromAmount} für {toAmount}" #: src/components/Exchange/PositionShare.tsx msgid "Copy" @@ -6191,24 +6268,24 @@ msgstr "Menge" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} order" -msgstr "" +msgstr "{0} Order erstellen" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx msgid "Edit {0} {1}{2}" -msgstr "" +msgstr "{0} {1}{2} bearbeiten" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "No rebates distribution history yet." -msgstr "Noch keine Geschichte der Rabattverteilung." +msgstr "Noch keine Rabattverteilungsgeschichte." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Governance" -msgstr "" +msgstr "GMX Governance" #: src/domain/synthetics/orders/utils.tsx msgid "trigger price" -msgstr "" +msgstr "Trigger-Preis" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -6225,12 +6302,12 @@ msgstr "Beanspruchen" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Price Impact / Fees" -msgstr "" +msgstr "Preisimpact / Gebühren" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "" +#~ msgid "GMX {versionName} Account" +#~ msgstr "GMX {versionName} Konto" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6244,11 +6321,11 @@ msgstr "Der Ausführungspreis der Order berücksichtigt den Preisimpact." #: src/pages/Buy/Buy.tsx msgid "Buy GLP or GMX" -msgstr "" +msgstr "Kaufe GLP oder GMX" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max Out" -msgstr "" +msgstr "Max Out" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6268,7 +6345,7 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Enter an amount" -msgstr "Einen Betrag eingeben" +msgstr "Betrag eingeben" #: src/components/Header/AppHeaderUser.tsx msgid "Connect" @@ -6276,59 +6353,59 @@ msgstr "Verbinden" #: src/components/InterviewToast/InterviewToast.tsx msgid "Click here to give us your feedback on GMX." -msgstr "" +msgstr "Klicke hier, um uns dein Feedback zu GMX zu geben." #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche Fuji" -msgstr "" +msgstr "V1 Avalanche Fuji" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "1st Place" -msgstr "" +msgstr "1. Platz" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "D2.Finance" -msgstr "" +msgstr "D2.Finance" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized:" +msgstr "Annualisiert:" + +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" msgstr "" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" -msgstr "" +msgstr "Genehmigung signieren fehlgeschlagen" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Starts in" -msgstr "" +msgstr "Startet in" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are high currently, which may be due to a temporary increase in transactions on the {chainName} network." -msgstr "Die Netzwerkgebühren sind derzeit hoch, was auf eine vorüber vorübergehende Zunahme von Transaktionen im {chainName}-Netzwerk zurückzuführen sein kann." +msgstr "Die Netzwerkgebühren sind derzeit hoch, was auf eine vorübergehende Zunahme von Transaktionen im {chainName}-Netzwerk zurückzuführen sein kann." #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Scan the QR code" msgstr "Scanne den QR-Code" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" -msgstr "" +msgstr "Unbekannte Shift-GM-Order" #: src/components/Exchange/TradeHistory.jsx msgid "Max leverage of 100x was exceeded, the remaining collateral after deducting losses and fees have been sent back to your account:" -msgstr "Die max. Hebelwirkung von 100x wurde überschritten, das verbleibende Kollateral wird nach Abzug von Verlusten und Gebühren wurde auf dein Konto zurücküberwiesen:" +msgstr "Die max. Hebelwirkung von 100x wurde überschritten, das verbleibende Kollateral nach Abzug von Verlusten und Gebühren wurde auf dein Konto zurückgesendet:" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Shifting {symbol}..." -msgstr "" +msgstr "{symbol} verschieben..." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order." @@ -6340,23 +6417,27 @@ msgstr "Nicht genügend verfügbare Liquidität, um den Auftrag zu erfüllen." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above mark price" -msgstr "" +msgstr "Trigger-Preis über Markpreis" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size exceeds position" -msgstr "Ordergröße übersteigt Position" +msgstr "Ordergröße überschreitet Position" + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "" #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" -msgstr "Aktualisierung der Bestellung eingereicht!" +msgstr "Order-Update übermittelt!" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw failed." -msgstr "" +msgstr "Abhebung aktivieren fehlgeschlagen." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Explore, analyze, and copy on-chain traders" -msgstr "" +msgstr "Erkunde, analysiere und kopiere On-Chain-Trader" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit" @@ -6364,7 +6445,7 @@ msgstr "Verzicht auf Gewinn" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Sell Fee" -msgstr "" +msgstr "Verkaufsgebühr" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx @@ -6372,11 +6453,11 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Execution Details" -msgstr "" +msgstr "Ausführungsdetails" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GM Airdrop" -msgstr "" +msgstr "GM Airdrop" #: src/components/Glp/GlpSwap.jsx msgid "Save on Fees" @@ -6384,7 +6465,7 @@ msgstr "Gebühren sparen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Take Profit" -msgstr "" +msgstr "Take Profit aktualisieren" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -6393,24 +6474,24 @@ msgstr "Aktive Orders" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "You have set a high acceptable price impact. The current price impact is {0}." -msgstr "" +msgstr "Du hast einen hohen akzeptablen Preisimpact eingestellt. Der aktuelle Preisimpact beträgt {0}." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Lending and Borrowing" -msgstr "" +msgstr "Lending und Borrowing" #: src/components/Exchange/SwapBox.jsx msgid "Switch to {0} collateral." -msgstr "" +msgstr "Wechsle zu {0} Kollateral." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GMX Vault" -msgstr "" +msgstr "GMX Vault" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Jones DAO" -msgstr "" +msgstr "Jones DAO" #: src/components/Exchange/TradeHistory.jsx msgid "Partially Liquidated" @@ -6422,16 +6503,16 @@ msgstr "Unzureichende GLP-Balance" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Minute(s)" -msgstr "" +msgstr "Minute(n)" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized Fees" -msgstr "" +msgstr "Start unrealisierte Gebühren" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "V2 trading" -msgstr "" +msgstr "V2-Trading" #: src/components/Exchange/ConfirmationBox.jsx msgid "view" @@ -6439,11 +6520,11 @@ msgstr "Ansicht" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancel failed." -msgstr "" +msgstr "{orderText} Stornierung fehlgeschlagen." #: src/components/Exchange/OrdersToa.jsx msgid "Accept terms to enable orders" -msgstr "Akzeptiere die Bedingungen, um Orders zu ermöglichen" +msgstr "Akzeptiere Bedingungen, um Orders zu aktivieren" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol analytics" @@ -6461,6 +6542,9 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{0} {longOrShortText} liquidiert,\n" +"-{1} USD,\n" +"{2} Preis: {3} USD" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Inc." @@ -6468,36 +6552,36 @@ msgstr "Inc." #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed amount" -msgstr "" +msgstr "Gebühren überschreiten Betrag" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx msgid "Search Type" -msgstr "" +msgstr "Suchtyp" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is below its target weight.<0/><1/>Get lower fees to <2>buy GLP</2> with {1}, and to <3>swap</3> {2} for other tokens." -msgstr "" +msgstr "{0} ist unter seinem Zielgewicht.<0/><1/>Erhalte niedrigere Gebühren zum <2>Kaufen von GLP</2> mit {1}, und zum <3>Swappen</3> von {2} für andere Token." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win Rate" -msgstr "" +msgstr "Gewinnrate" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "Spare {0} in Preisimpact und Gebühren durch <0><1>Wechsel zum {1}-Pool</1>.</0>" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" -msgstr "" +msgstr "Du hast esGMX-Token im Affiliate-Vault, du musst diese Token abheben, wenn du sie auf das neue Konto übertragen möchtest" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Explorer" -msgstr "" +msgstr "{0} in Explorer öffnen" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} and {1} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} und {1} können verwendet werden, um GM für diesen Markt bis zu den angegebenen Kauf-Limits zu kaufen." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/StatusNotification/StakeNotification.tsx @@ -6511,15 +6595,15 @@ msgstr "Ansicht" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Market" -msgstr "" +msgstr "Stop-Market ausführen" #: src/components/Referrals/TradersStats.tsx msgid "Volume traded by this account with an active referral code." -msgstr "Von diesem Konto gehandeltes Volumen mit einem aktiven Referralcode." +msgstr "Von diesem Konto gehandeltes Volumen mit einem aktiven Referral-Code." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized fees" -msgstr "" +msgstr "Start unrealisierte Gebühren" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Codes" @@ -6534,29 +6618,34 @@ msgstr "Gevestete GMX nicht abgehoben" msgid "FEES" msgstr "GEBÜHREN" +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "Alle Märkte" + #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Open Fee" -msgstr "" +msgstr "Eröffnungsgebühr" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Looks like you don't have a referral code to share. <0/> Create one now and start earning rebates!" -msgstr "Sieht so aus, als hättest du keinen Empfehlungscode, den du weitergeben kannst. <0/> Erstelle jetzt einen und beginne, Rabatte zu verdienen!" +msgstr "Sieht so aus, als hättest du keinen Referral-Code zum Teilen. <0/> Erstelle jetzt einen und beginne, Rabatte zu verdienen!" #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Update 1CT (One-Click Trading) settings" -msgstr "" +msgstr "1CT (One-Click-Trading)-Einstellungen aktualisieren" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Kudai AI Agent" -msgstr "" +msgstr "Kudai AI Agent" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Current Price" -msgstr "" +msgstr "Aktueller Preis" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT ID" @@ -6564,7 +6653,7 @@ msgstr "NFT ID eingeben" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal failed." -msgstr "" +msgstr "Abhebung fehlgeschlagen." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -6573,19 +6662,19 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Limit Price" -msgstr "Limit Preis" +msgstr "Limit-Preis" #: src/components/AddressView/AddressView.tsx msgid "You" -msgstr "" +msgstr "Du" #: src/components/Synthetics/GmList/GmList.tsx msgid "Pools providing liquidity to specific GMX markets, supporting single-asset and native asset options." -msgstr "" +msgstr "Pools, die Liquidität für spezifische GMX-Märkte bereitstellen, mit Unterstützung für Single-Asset- und Native-Asset-Optionen." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivate 1CT (One-Click Trading)" -msgstr "" +msgstr "1CT (One-Click-Trading) deaktivieren" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute deposit into {0} {longOrShortText}" @@ -6606,11 +6695,11 @@ msgstr "Einzahlung" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d Est. Fees" -msgstr "" +msgstr "365T Geschätzte Gebühren" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below highest limit price" -msgstr "" +msgstr "Trigger-Preis unter höchstem Limit-Preis" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -6622,45 +6711,45 @@ msgstr "Akzeptabler Preis" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell request sent" -msgstr "" +msgstr "Verkaufsanfrage gesendet" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Margin Protocol" -msgstr "" +msgstr "DeFi Margin Protokoll" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Enabling Leverage..." -msgstr "Aktivierung der Hebelwirkung..." +msgstr "Hebelwirkung aktivieren..." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap to the receive token when the price conditions are met." -msgstr "" +msgstr "Es könnte nicht genügend Liquidität vorhanden sein, um den Swap zum Empfangstoken auszuführen, wenn die Preisbedingungen erfüllt sind." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawn {balanceFormatted} to Main Account" -msgstr "" +msgstr "{balanceFormatted} auf Haupt-Konto abgehoben" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Errors" -msgstr "" +msgstr "Trade-Fehler" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Consider selecting only positions where the accrued funding fee exceeds the {0} gas cost to settle each position." -msgstr "" +msgstr "Überlege, nur Positionen auszuwählen, bei denen die angesammelte Funding-Gebühr die {0} Gas-Kosten zur Abwicklung jeder Position überschreitet." #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} using the pay token selected is reached. Please choose a different pool, reduce the buy size, or pick a different composition of tokens." -msgstr "" +msgstr "Das kaufbaren Limit für den Pool GM: {0} mit dem ausgewählten Zahlungstoken wurde erreicht. Bitte wähle einen anderen Pool, reduziere die Kaufgröße oder wähle eine andere Token-Zusammensetzung." #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you use to buy GLP. <0/>Enter the amount of GLP you want to purchase in the order form, then check here to compare fees." -msgstr "Die Gebühren können variieren, je nachdem, welche Anlage du für den Kauf von GLP verwendest. <0/>Gebe die Menge an GLP, die du kaufen möchtest, in das Order-Formular ein und vergleiche dann hier die Gebühren." +msgstr "Gebühren können je nach Asset variieren, das du zum Kauf von GLP verwendest. <0/>Gib die Menge an GLP ein, die du kaufen möchtest, und überprüfe hier die Gebühren zum Vergleich." #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Claim <0>{0}</0>" -msgstr "" +msgstr "<0>{0}</0> beanspruchen" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6693,27 +6782,29 @@ msgstr "Zeit zur Liq" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Fees" -msgstr "" +msgstr "Realisierte Gebühren" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Positions" -msgstr "" +msgstr "Top Positionen" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" -msgstr "" +msgstr "Pools" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute withdrawal from {0} {longOrShortText}" -msgstr "Konnte Abhebung von {0} {longOrShortText} nicht ausführen" +msgstr "Abhebung von {0} {longOrShortText} konnte nicht ausgeführt werden" #: src/components/Synthetics/GmList/GlvList.tsx msgid "VAULT" -msgstr "" +msgstr "VAULT" #: src/components/Glp/GlpSwap.jsx msgid "Fees (Rebated)" -msgstr "" +msgstr "Gebühren (Rabattiert)" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Your transfer has been completed." @@ -6721,29 +6812,29 @@ msgstr "Dein Transfer wurde abgeschlossen." #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "We Value Your Feedback" -msgstr "" +msgstr "Wir schätzen dein Feedback" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Loss" -msgstr "" +msgstr "Stop Loss" #: src/pages/Stake/Stake.tsx msgid "Liquidity incentives program is live on {avalancheLink}." -msgstr "" +msgstr "Liquiditäts-Incentive-Programm ist live auf {avalancheLink}." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could still be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "Diese Position könnte immer noch liquidiert werden, ohne Preisbewegungen, aufgrund von Funding- und Leihgebührenraten, die das Kollateral der Position im Laufe der Zeit reduzieren." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Transfer {nativeTokenSymbol}" -msgstr "" +msgstr "{nativeTokenSymbol} transferieren" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Meme" -msgstr "" +msgstr "Meme" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx @@ -6752,44 +6843,44 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeboxTransactions.tsx msgid "Error submitting order" -msgstr "" +msgstr "Fehler beim Übermitteln der Order" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Rebates and V1/V2 esGMX are airdropped weekly. V2 Rebates are claimed manually." -msgstr "" +msgstr "V1-Rabatte und V1/V2 esGMX werden wöchentlich airdropped. V2-Rabatte werden manuell beansprucht." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Duration" -msgstr "" +msgstr "Dauer" #: src/components/Common/SEO.tsx msgid "Trade spot or perpetual BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet on Arbitrum and Avalanche." -msgstr "" +msgstr "Trade Spot oder Perpetual BTC, ETH, AVAX und andere Top-Kryptowährungen mit bis zu 100x Hebelwirkung direkt aus deinem Wallet auf Arbitrum und Avalanche." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max In" -msgstr "" +msgstr "Max In" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Myself" -msgstr "" +msgstr "Mich selbst" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" -msgstr "" +msgstr "Adresse suchen" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max GM buyable amount reached" -msgstr "" +msgstr "Max. kaufbarer GM-Betrag erreicht" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Session generated" -msgstr "" +msgstr "Sitzung generiert" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" -msgstr "" +msgstr "GMX kaufen" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -6798,27 +6889,27 @@ msgstr "Max. {0} Kapazität" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copy error" -msgstr "" +msgstr "Kopierfehler" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects developed by the GMX community. <0/>Please exercise caution when interacting with any app, apps are fully maintained by community developers." -msgstr "" +msgstr "Projekte, die von der GMX-Community entwickelt wurden. <0/>Bitte sei vorsichtig bei der Interaktion mit Apps, Apps werden vollständig von Community-Entwicklern gepflegt." #: src/domain/synthetics/userFeedback/utils.ts msgid "What areas can we improve to make your experience better?" -msgstr "" +msgstr "In welchen Bereichen können wir uns verbessern, um deine Erfahrung besser zu machen?" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Market: {0} a long position at the current price." -msgstr "" +msgstr "{typeString} Long-Markt: {0} eine Long-Position zum aktuellen Preis." #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a collateral" -msgstr "" +msgstr "Kollateral auswählen" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Size per part" -msgstr "" +msgstr "Größe pro Teil" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -6831,19 +6922,19 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance" -msgstr "Unzureichende {0} Balance" +msgstr "Unzureichende {0}-Balance" #: src/domain/synthetics/orders/utils.tsx msgid "limit price" -msgstr "" +msgstr "Limit-Preis" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price impact rebates for closing trades are claimable under the claims tab. <0>Read more</0>." -msgstr "" +msgstr "Preisimpact-Rabatte für schließende Trades sind unter dem Claims-Tab beanspruchbar. <0>Mehr lesen</0>." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Sending order request" -msgstr "" +msgstr "Orderanfrage senden" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Can't execute because of an error" @@ -6851,32 +6942,32 @@ msgstr "Kann wegen eines Fehlers nicht ausgeführt werden" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Yield Products" -msgstr "" +msgstr "Dezentralisierte Yield-Produkte" #: src/components/Exchange/PositionSeller.jsx msgid "Keep Leverage is not possible" -msgstr "" +msgstr "Hebelwirkung beibehalten ist nicht möglich" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee includes fees for additional orders. It will be sent back in full to your account if they don't trigger and are cancelled. <0>Read more</0>." -msgstr "" +msgstr "Max. Netzwerkgebühr umfasst Gebühren für zusätzliche Orders. Sie wird vollständig auf dein Konto zurückgesendet, wenn sie nicht ausgelöst werden und storniert sind. <0>Mehr lesen</0>." #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Failed to settle" -msgstr "" +msgstr "{positionName} Abwicklung fehlgeschlagen" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates" -msgstr "" +msgstr "Rabatte" #: src/components/Glp/GlpSwap.jsx msgid "GLP is not sellable" -msgstr "" +msgstr "GLP ist nicht verkäuflich" #: src/pages/BuyGlp/BuyGlp.jsx msgid "GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "GMX V1-Märkte sind deaktiviert und erlauben nur Positions-Schließungen. GLP wird auslaufen und unterstützt GMX V1-Märkte nicht mehr." #: src/components/Glp/GlpSwap.jsx msgid "Sell failed." @@ -6884,7 +6975,7 @@ msgstr "Verkauf fehlgeschlagen." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit" -msgstr "" +msgstr "Limit aktualisieren" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -6894,8 +6985,9 @@ msgstr "Order bearbeiten" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" -msgstr "" +msgstr "Beanspruchungen" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6909,15 +7001,15 @@ msgstr "Datum" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using FIAT gateways:" -msgstr "" +msgstr "Kaufe GMX mit FIAT-Gateways:" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Referral code created!" -msgstr "Referral Code erstellt!" +msgstr "Referral-Code erstellt!" #: src/components/Exchange/OrderEditor.jsx msgid "Price above Mark Price" -msgstr "" +msgstr "Preis über Markpreis" #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -6931,15 +7023,15 @@ msgstr "Trigger-Preis" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Sellable" -msgstr "" +msgstr "Verkäuflich" #: src/components/Exchange/PositionSeller.jsx msgid "Initial Collateral (Collateral excluding Borrow Fee)." -msgstr "" +msgstr "Anfängliches Kollateral (Kollateral exklusive Leihgebühr)." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "COMPETITION Airdrop" -msgstr "" +msgstr "COMPETITION Airdrop" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx @@ -6948,16 +7040,16 @@ msgstr "Empfängeradresse eingeben" #: src/pages/Stake/VesterDepositModal.tsx msgid "Additional reserve required" -msgstr "" +msgstr "Zusätzliche Reserve erforderlich" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" msgstr "Bedingungen und Konditionen" #: src/pages/Stake/ClaimModal.tsx msgid "Convert {wrappedTokenSymbol} to {nativeTokenSymbol}" -msgstr "" +msgstr "{wrappedTokenSymbol} zu {nativeTokenSymbol} konvertieren" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -6966,15 +7058,19 @@ msgstr "Verfügbarer Betrag zur Einzahlung in GLP." #: src/components/Exchange/PositionShare.tsx msgid "Download" -msgstr "Download" +msgstr "Herunterladen" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Swap {0} for {1}" -msgstr "" +msgstr "Tausche {0} gegen {1}" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity" -msgstr "" +msgstr "Vault-Kapazität" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "Tiefe" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" @@ -6982,15 +7078,15 @@ msgstr "Verringern aktiv: {0}, ausgeführt: {1}, abgebrochen: {2}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 1" -msgstr "" +msgstr "Layer 1" #: src/components/Exchange/TradeHistory.jsx msgid "{0}  {1} {longOrShortText}, -{2} USD, {3} Price: ${4} USD" -msgstr "" +msgstr "{0}  {1} {longOrShortText}, -{2} USD, {3} Preis: ${4} USD" #: src/components/Exchange/PositionSeller.jsx msgid "Keep leverage at {0}x" -msgstr "" +msgstr "Hebelwirkung bei {0}x halten" #: src/pages/Stake/StakeModal.tsx msgid "Staking..." @@ -6998,24 +7094,24 @@ msgstr "Staken..." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy request sent" -msgstr "" +msgstr "Kaufanfrage gesendet" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} amount exceeded" -msgstr "" +msgstr "Max. {0}-Betrag überschritten" #: src/components/Exchange/PositionSeller.jsx msgid "Position close disabled, pending {0} upgrade" -msgstr "" +msgstr "Positionsschließung deaktiviert, ausstehendes {0}-Upgrade" #: src/components/Exchange/ConfirmationBox.jsx msgid "Swapping..." -msgstr "Swapping..." +msgstr "Tauschen..." #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Realized Base PnL" -msgstr "" +msgstr "Realisierter Basis-Gewinn/Verlust" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -7023,15 +7119,15 @@ msgstr "" #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap failed." -msgstr "Swap fehlgeschlagen." +msgstr "Tausch fehlgeschlagen." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Failed to withdraw {balanceFormatted} to Main Account" -msgstr "" +msgstr "Abhebung von {balanceFormatted} auf Hauptaccount fehlgeschlagen" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from swaps for the {0}/{1} market. It is also exposed to {2} and {3} as per the composition displayed." -msgstr "" +msgstr "Dieser Token sammelt automatisch Gebühren aus Tauschen für den {0}/{1}-Markt. Er ist auch {2} und {3} ausgesetzt, wie in der angezeigten Zusammensetzung dargestellt." #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -7040,11 +7136,11 @@ msgstr "Seite veraltet, bitte aktualisieren" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals" -msgstr "" +msgstr "GMX-Vorschläge" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUY…" -msgstr "" +msgstr "KAUFEN…" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Arbitrum" @@ -7053,27 +7149,27 @@ msgstr "Vesting mit GLP auf Arbitrum" #: src/components/InterviewModal/InterviewModal.tsx #: src/components/InterviewModal/InterviewModal.tsx msgid "Telegram account" -msgstr "" +msgstr "Telegram-Account" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "" +#~ msgid "SOON" +#~ msgstr "BALD" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" -msgstr "" +msgstr "Verkaufe {operationTokenSymbol}" #: src/components/Exchange/PositionEditor.jsx msgid "Liquidation price would cross mark price." -msgstr "" +msgstr "Liquidationspreis würde Markpreis überschreiten." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perfectswap" -msgstr "" +msgstr "Perfectswap" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Leaderboard for traders on GMX V2." -msgstr "" +msgstr "Bestenliste für Trader auf GMX V2." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Withdraw" @@ -7081,17 +7177,17 @@ msgstr "Abhebung fehlgeschlagen" #: src/pages/Referrals/Referrals.tsx msgid "Get fee discounts and earn rebates through the GMX referral program.<0/>For more information, please read the <1>referral program details</1>." -msgstr "" +msgstr "Erhalte Gebührenrabatte und verdiene Rebates über das GMX-Referral-Programm.<0/>Für weitere Informationen lies die <1>Details zum Referral-Programm</1>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Freeze" -msgstr "" +msgstr "Einfrieren" #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Express params loading..." -msgstr "" +msgstr "Express-Parameter laden..." #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "As there is not enough liquidity in GLP to swap {0} to {swapTokenSymbol}, you can use the option below to do so:" @@ -7106,17 +7202,17 @@ msgstr "Anspruch abgeschlossen!" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Market" -msgstr "" +msgstr "Stop-Markt" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Min number of parts: {MIN_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Min. Anzahl der Teile: {MIN_TWAP_NUMBER_OF_PARTS}" #: src/components/Exchange/PositionSeller.jsx msgid "You can change this in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" +msgstr "Du kannst das im Einstellungsmenü oben rechts auf der Seite ändern.<0/><1/>Beachte, dass ein niedriger erlaubter Slippage, z. B. weniger als {0}, zu fehlgeschlagenen Orders führen kann, wenn die Preise volatil sind." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -7133,86 +7229,86 @@ msgstr "Partnerschaften und Integrationen" #: src/components/Exchange/PositionEditor.jsx msgid "Leftover Collateral not enough to cover fees" -msgstr "" +msgstr "Verbleibendes Kollateral nicht ausreichend, um Gebühren zu decken" #: src/components/InterviewToast/InterviewToast.tsx #: src/components/InterviewToast/InterviewToast.tsx msgid "As a token of our appreciation, you'll receive a reward of <0>100 <1/></0>." -msgstr "" +msgstr "Als Zeichen unserer Wertschätzung erhältst du eine Belohnung von <0>100 <1/></0>." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above limit price" -msgstr "" +msgstr "Triggerpreis über Limitpreis" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a Pay token" -msgstr "" +msgstr "Wähle einen Zahlungstoken" #: src/components/Exchange/SwapBox.jsx msgid "Swap {0} submitted!" -msgstr "Swap{0} übermittelt!" +msgstr "Tausch {0} übermittelt!" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The available liquidity will be the lesser of the difference between the maximum value and the current value for both the reserve and open interest." -msgstr "" +msgstr "Die verfügbare Liquidität ist der geringere Wert der Differenz zwischen dem Maximalwert und dem aktuellen Wert sowohl für die Reserve als auch für das offene Interesse." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral Code does not exist" -msgstr "Referral Code existiert nicht" +msgstr "Referral-Code existiert nicht" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "shift" -msgstr "" +msgstr "Verschieben" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GLP to GM Airdrop" -msgstr "" +msgstr "GLP zu GM Airdrop" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Vaults" -msgstr "Yield Vaults" +msgstr "Yield-Vaults" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Portuguese)" -msgstr "Telegram Gruppe (Portugisisch)" +msgstr "Telegram-Gruppe (Portugiesisch)" #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX V2 Actions" -msgstr "" +msgstr "GMX V2-Aktionen" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code has been taken by someone else on {takenNetworkNames}, you will not receive rebates from traders using this code on {takenNetworkNames}." -msgstr "Dieser Code wurde von jemand anderem auf {takenNetworkNames} verwendet, du wirst keine Rabatte von Händlern erhalten, die diesen Code auf {takenNetworkNames} verwenden." +msgstr "Dieser Code wurde von jemand anderem auf {takenNetworkNames} verwendet, du wirst keine Rebates von Tradern erhalten, die diesen Code auf {takenNetworkNames} verwenden." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Confirm Claim" -msgstr "" +msgstr "Anspruch bestätigen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX community discussion" -msgstr "GMX Community-Diskussion" +msgstr "GMX-Community-Diskussion" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} GLV-Pools sind <0>incenitivisiert{sparkle}.</0>" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GM" -msgstr "" +msgstr "GM verkaufen" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power." -msgstr "" +msgstr "<0>Delegiere deine nicht delegierte {0} GMX DAO</0> Stimmkraft." #: src/domain/synthetics/markets/createShiftTxn.ts msgid "Shift error." -msgstr "" +msgstr "Verschiebungsfehler." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7278,11 +7374,11 @@ msgstr "Pool" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Venus" -msgstr "" +msgstr "Venus" #: src/pages/Referrals/Referrals.tsx msgid "Referral code creation failed." -msgstr "" +msgstr "Erstellung des Referral-Codes fehlgeschlagen." #: src/components/Glp/SwapErrorModal.tsx msgid "<0>The pool's capacity has been reached for {0}. Please use another token to buy GLP.</0><1>Check the \"Save on Fees\" section for tokens with the lowest fees.</1>" @@ -7294,7 +7390,7 @@ msgstr "GMX-Dashboards und -Analysen." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "External Swap {0} to {1}" -msgstr "" +msgstr "Externer Tausch {0} zu {1}" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx @@ -7304,123 +7400,123 @@ msgstr "Position" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Bonus Rebate" -msgstr "" +msgstr "Bonus-Rebate" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing position in the {0} market pool, but it lacks liquidity for this order." -msgstr "" +msgstr "Du hast eine bestehende Position im {0}-Marktpool, aber es fehlt an Liquidität für diesen Auftrag." #: src/components/Exchange/PositionEditor.jsx msgid "Enable Leverage" -msgstr "Hebelwirkung ermöglichen" +msgstr "Hebelwirkung aktivieren" #: src/components/Exchange/PositionSeller.jsx msgid "Close without profit" -msgstr "" +msgstr "Ohne Gewinn schließen" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "{title}" -msgstr "" +msgstr "{title}" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Increasing" -msgstr "" +msgstr "Erhöhen" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" -msgstr "" +msgstr "Schnellste" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Lev." -msgstr "" +msgstr "Durchschn. Hebel" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing longs for<4/>this size." -msgstr "" +msgstr "Keine Liquidität verfügbar für das Erhöhen von Shorts für<0/>diese Größe. Max. Short-Größe: {0}<1/><2/>Es gibt keine Preiswirkung. Es gibt einen einzelnen<3/>Ausführungspreis für das Verringern von Longs für<4/>diese Größe." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche LP incentives" -msgstr "" +msgstr "Avalanche LP-Incentives" #: src/components/Stake/GMXAprTooltip.tsx msgid "{nativeTokenSymbol} APR" -msgstr "" +msgstr "{nativeTokenSymbol} APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Chinese)" -msgstr "Telegram Gruppe (Chinesisch)" +msgstr "Telegram-Gruppe (Chinesisch)" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for {2} {3}" -msgstr "" +msgstr "Tausche {0} {1} gegen {2} {3}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "<0>This will withdraw all esGMX tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button.<5/><6/></0>" -msgstr "" +msgstr "<0>Dies zieht alle esGMX-Tokens zurück und pausiert das Vesting.<1/><2/>esGMX-Tokens, die in GMX umgewandelt wurden, werden beansprucht und bleiben als GMX-Tokens.<3/><4/>Um GMX-Tokens ohne Rückzug zu beanspruchen, verwende den \"Beanspruchen\"-Button.<5/><6/></0>" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "DeFi" -msgstr "" +msgstr "DeFi" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "SNAPSHOT" -msgstr "" +msgstr "SNAPSHOT" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Liquidation Price" -msgstr "" +msgstr "Liquidationspreis" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Voting Power" -msgstr "" +msgstr "Stimmkraft" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The long reserve accounts for the PnL of open positions, while the open interest does not." -msgstr "" +msgstr "Die Long-Reserve berücksichtigt den Gewinn/Verlust offener Positionen, während das offene Interesse das nicht tut." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Take Profit" -msgstr "" +msgstr "Take-Profit abbrechen" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL ($)" -msgstr "" +msgstr "Top Gewinn/Verlust ($)" #: src/pages/AccountDashboard/AccountDashboard.tsx msgid "Invalid address. Please make sure you have entered a valid Ethereum address" -msgstr "" +msgstr "Ungültige Adresse. Stelle sicher, dass du eine gültige Ethereum-Adresse eingegeben hast" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GMX Vesting Vault" -msgstr "Sender hat alle Token aus dem GMX Vesting Vault zurückgezogen" +msgstr "Absender hat alle Tokens aus dem GMX-Vesting-Vault zurückgezogen" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Failed Settlement of Funding Fees" -msgstr "" +msgstr "Abrechnung von Finanzierungsgebühren fehlgeschlagen" #: src/components/Exchange/ConfirmationBox.jsx msgid "Pay Amount" -msgstr "Betrag bezahlen" +msgstr "Zahlungsbetrag" #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GLP is the liquidity provider token for GMX V1 markets. Accrues 70% of the V1 markets generated fees." -msgstr "" +msgstr "GLP ist der Liquiditätsanbieter-Token für GMX V1-Märkte. Sammelt 70% der generierten Gebühren der V1-Märkte." #: src/domain/synthetics/orders/utils.tsx msgid "{increaseOrDecreaseText} {tokenText} by {sizeText}" -msgstr "" +msgstr "{increaseOrDecreaseText} {tokenText} um {sizeText}" #: src/pages/Stake/UnstakeModal.tsx msgid "{0}<0>You will earn {1}% less rewards with this action.</0>" -msgstr "" +msgstr "{0}<0>Du wirst {1}% weniger Belohnungen mit dieser Aktion verdienen.</0>" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirming..." -msgstr "" +msgstr "Bestätigen..." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7435,7 +7531,7 @@ msgstr "Erhöhen" #: src/pages/Stake/ClaimModal.tsx msgid "Claim {wrappedTokenSymbol} Rewards" -msgstr "" +msgstr "Beanspruche {wrappedTokenSymbol}-Belohnungen" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/GmxCard.tsx @@ -7454,32 +7550,32 @@ msgstr "{0} Pool-Kapazität erreicht" #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Staked" -msgstr "Staked" +msgstr "Gestaket" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "" +#~ msgid "Leave feedback" +#~ msgstr "Feedback hinterlassen" #: src/pages/Referrals/Referrals.tsx msgid "Traders" -msgstr "" +msgstr "Trader" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{ordersText} cancelled" -msgstr "" +msgstr "{ordersText} abgebrochen" #: src/domain/synthetics/positions/utils.ts msgid "take profit" -msgstr "" +msgstr "Take-Profit" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Force External Swaps" -msgstr "" +msgstr "Externe Tausche erzwingen" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}. <0/>{2} is needed for collateral." -msgstr "Der Tausch von {0} nach {1} ist mit hohen Gebühren verbunden. <0/>{2} wird für das Kollteral benötigt." +msgstr "Gebühren sind hoch für den Tausch von {0} nach {1}. <0/>{2} wird für das Kollateral benötigt." #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "size" @@ -7487,7 +7583,7 @@ msgstr "Größe" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit Swap" -msgstr "Limit Swap erstellen" +msgstr "Limit-Tausch erstellen" #: src/components/Errors/errorToasts.tsx msgid "<0>Your wallet is not connected to {0}.</0><1/><2>Switch to {1}</2>" @@ -7504,7 +7600,7 @@ msgstr "Bestätigung von Trigger-Orders akzeptieren" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Choose to buy from decentralized or centralized exchanges." -msgstr "" +msgstr "Wähle, ob du von dezentralen oder zentralen Exchanges kaufst." #: src/components/Exchange/TradeHistory.jsx msgid "Min required collateral" @@ -7512,7 +7608,11 @@ msgstr "Min. erforderliches Kollateral" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" -msgstr "Versuche, die Einstellung \"Erlaubter Slippage\" im Menü \"Einstellungen\" oben rechts zu erhöhen" +msgstr "Versuche, den \"Erlaubten Slippage\" im Einstellungsmenü oben rechts zu erhöhen" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." @@ -7520,7 +7620,7 @@ msgstr "GMX-Ökosystem-Seiten." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GM Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} GM-Pools sind <0>incenitivisiert{sparkle}.</0>" #: src/components/Exchange/PositionsList.jsx #: src/lib/legacy.ts @@ -7533,28 +7633,28 @@ msgstr "Kaufen" #: src/config/events.tsx msgid "Incentives are live for <0>Arbitrum</0> and <1>Avalanche</1> GM pools and V2 trading." -msgstr "" +msgstr "Incentives sind live für <0>Arbitrum</0> und <1>Avalanche</1> GM-Pools und V2-Trading." #: src/pages/Stake/TotalRewardsCard.tsx msgid "Total Rewards" -msgstr "" +msgstr "Gesamte Belohnungen" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT ID" -msgstr "NFT ID" +msgstr "NFT-ID" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Success claimings" -msgstr "" +msgstr "Erfolgreiche Beanspruchungen" #: src/lib/legacy.ts msgid "Decentralized Perpetual Exchange | GMX" -msgstr "" +msgstr "Dezentraler Perpetual-Exchange | GMX" #: src/components/Exchange/PositionEditor.jsx msgid "The pending borrow fee will be charged on this transaction." -msgstr "" +msgstr "Die ausstehende Leihgebühr wird bei dieser Transaktion berechnet." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -7566,78 +7666,73 @@ msgstr "Die Gebühren werden angezeigt, sobald du einen Betrag in das Order-Form #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GLP Vault" -msgstr "" +msgstr "GLP-Vault" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" -msgstr "Referralbedingungen" +msgstr "Referral-Bedingungen" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter unique coins" -msgstr "" +msgstr "Einzigartige Coins eingeben" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Fee APY" -msgstr "" +msgstr "Gebühren-APY" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." -msgstr "" +msgstr "Keine Märkte passen." #: src/pages/Stake/Stake.tsx msgid "Stake esGMX" -msgstr "" +msgstr "esGMX staken" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Target Min Amount" -msgstr "Ziel Min. Betrag" +msgstr "Ziel-Min.-Betrag" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed Pay amount" -msgstr "" +msgstr "Gebühren überschreiten Zahlungsbetrag" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Swap" -msgstr "Markt Swap fehlgeschlagen" +msgstr "Markt-Tausch fehlgeschlagen" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "HoudiniSwap" -msgstr "" +msgstr "HoudiniSwap" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Error occurred. Please try again" -msgstr "" +msgstr "Fehler aufgetreten. Bitte erneut versuchen" #: src/components/Referrals/referralsHelper.js msgid "Only letters, numbers and underscores are allowed." -msgstr "Es sind nur Buchstaben, Zahlen und Unterstriche erlaubt." +msgstr "Nur Buchstaben, Zahlen und Unterstriche erlaubt." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling shift request" -msgstr "" +msgstr "Verschiebungsanfrage erfüllen" #: src/pages/Referrals/Referrals.tsx msgid "Referral code submitted!" -msgstr "" +msgstr "Referral-Code übermittelt!" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Transaction failed due to execution fee validation. <0>View</0>.<1/><2/>Please <3>enable Express trading</3> under settings, which should offer a better experience.<4/><5/>Otherwise, try increasing the max network fee buffer to {0} in <6>settings</6>." -msgstr "" +msgstr "Transaktion fehlgeschlagen aufgrund Validierung der Ausführungsgebühr. <0>Ansehen</0>.<1/><2/>Bitte <3>Express-Trading aktivieren</3> unter Einstellungen, was eine bessere Erfahrung bieten sollte.<4/><5/>Andernfalls versuche, den Max.-Netzwerkgebührenpuffer auf {0} in <6>Einstellungen</6> zu erhöhen." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "APY" -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "Letzter Monat" +msgstr "APY" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -7646,16 +7741,16 @@ msgstr "Mindestens {0} {1} für Gas lassen" #: src/pages/Dashboard/GmxCard.tsx msgid "staked" -msgstr "Gestaket" +msgstr "gestaket" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "There is not enough {0} in your account on {1} to send this transaction.<0/><1/><2>Buy or Transfer {2} to {3}</2>" -msgstr "" +msgstr "Es gibt nicht genug {0} in deinem Account auf {1}, um diese Transaktion zu senden.<0/><1/><2>Kaufe oder übertrage {2} nach {3}</2>" #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Volume" -msgstr "Volumen insgesamt" +msgstr "Gesamtvolumen" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -7664,65 +7759,65 @@ msgstr "Neuen Preis eingeben" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GLP Vault" -msgstr "" +msgstr "Aus GLP-Vault abheben" #: src/components/Exchange/PositionShare.tsx msgid "Image generation error, please refresh and try again." -msgstr "Fehler bei der Bilderzeugung, bitte aktualisieren und versuche es erneut." +msgstr "Fehler bei der Bilderzeugung, bitte aktualisieren und erneut versuchen." #: src/components/Synthetics/Claims/ClaimableCardUI.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price Impact Rebates" -msgstr "" +msgstr "Preiswirkungs-Rebates" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." -msgstr "" +msgstr "Take-Profit- und Stop-Loss-Orders werden automatisch abgebrochen, wenn die zugehörige Position vollständig geschlossen ist. Dies betrifft nur neu erstellte TP/SL-Orders." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Swap Part" -msgstr "" +msgstr "TWAP-Tausch-Teil fehlgeschlagen" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Open {0} {longOrShortText}" -msgstr "" +msgstr "{0} {longOrShortText} eröffnen" #: src/components/InterviewToast/InterviewToast.tsx msgid "Give us your feedback on GMX." -msgstr "" +msgstr "Gib uns dein Feedback zu GMX." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Borrow Fee / Day" -msgstr "" +msgstr "Aktuelle Leihgebühr / Tag" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V1" -msgstr "" +msgstr "Rebates auf V1" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token indexToken: \"{0}\" collateralToken: \"{1}\"" -msgstr "Ungültiger Token index Token: \"{0} Kollateral Token: \"{1}\"" +msgstr "Ungültiger Token indexToken: \"{0}\" collateralToken: \"{1}\"" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Header/AppHeaderLinks.tsx msgid "Alerts" -msgstr "" +msgstr "Warnungen" #: src/components/Exchange/OrdersList.jsx msgid "<0>The price that orders can be executed at may differ slightly from the chart price, as market orders update oracle prices, while limit/trigger orders do not.</0><1>This can also cause limit/triggers to not be executed if the price is not reached for long enough. <2>Read more</2>.</1>" -msgstr "" +msgstr "<0>Der Preis, zu dem Orders ausgeführt werden können, kann leicht vom Chartpreis abweichen, da Marktaufträge Oracle-Preise aktualisieren, während Limit-/Trigger-Orders das nicht tun.</0><1>Dies kann auch dazu führen, dass Limit-/Trigger nicht ausgeführt werden, wenn der Preis nicht lange genug erreicht wird. <2>Mehr lesen</2>.</1>" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Portfolio Tracker" -msgstr "DeFi Portfolio Tracker" +msgstr "DeFi-Portfolio-Tracker" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Funding Fee / Day" -msgstr "" +msgstr "Aktuelle Finanzierungsgebühr / Tag" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d estimate based on past {daysConsidered}d APY." -msgstr "" +msgstr "365-Tage-Schätzung basierend auf vergangener {daysConsidered}-Tage-APY." #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum APR:" @@ -7730,7 +7825,7 @@ msgstr "Arbitrum APR:" #: src/pages/Jobs/Jobs.jsx msgid "Job Openings" -msgstr "" +msgstr "Stellenangebote" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects integrated with GMX." @@ -7746,11 +7841,11 @@ msgstr "Ursprüngliches Kollateral" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Activate 1CT (One-Click Trading)" -msgstr "" +msgstr "1CT (One-Click-Trading) aktivieren" #: src/components/AprInfo/AprInfo.tsx msgid "The Bonus APR will be airdropped as {airdropTokenTitle} tokens. <0>Read more</0>." -msgstr "" +msgstr "Der Bonus-APR wird als {airdropTokenTitle}-Tokens airdropped. <0>Mehr lesen</0>." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -7770,11 +7865,11 @@ msgstr "Du hast eine ausstehende Überweisung von {sender}." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the stop price, the order will attempt to execute." -msgstr "" +msgstr "Sobald der Markpreis den Stop-Preis erreicht, wird der Auftrag versucht auszuführen." #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a trigger price" -msgstr "" +msgstr "Triggerpreis eingeben" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GLP not withdrawn" @@ -7782,7 +7877,7 @@ msgstr "Gevestete GLP nicht abgehoben" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {minutes} minutes{0}" -msgstr "" +msgstr "<0>jede</0> {minutes} Minuten{0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -7800,134 +7895,136 @@ msgstr "Einstiegspreis" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Price change to Liq." -msgstr "" +msgstr "Preisänderung bis Liq." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b LP incentives" -msgstr "" +msgstr "STIP.b LP-Incentives" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Loss" -msgstr "" +msgstr "Stop-Loss abbrechen" #: src/components/Exchange/PositionsList.jsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size if needed." -msgstr "" +msgstr "Klicke auf die Position, um ihren Markt auszuwählen, dann verwende die Trade-Box, um deine Positionsgröße bei Bedarf zu erhöhen." #: src/domain/synthetics/orders/utils.tsx msgid "Limit Decrease" -msgstr "" +msgstr "Limit-Verringerung" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stabilize Protocol" -msgstr "" +msgstr "Stabilize-Protokoll" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a valid coin names" -msgstr "" - -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "" +msgstr "Gültige Coin-Namen eingeben" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." -msgstr "" +msgstr "Long Liq." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GBC Kudai AI Agent" -msgstr "" +msgstr "GBC Kudai AI Agent" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You have {0} esGMX (IOU) tokens." -msgstr "Du hast {0} esGMX (IOU)-tokens." +msgstr "Du hast {0} esGMX (IOU)-Tokens." #: src/domain/synthetics/orders/utils.tsx msgid "There is currently a high swap price impact for the order swap path." -msgstr "" +msgstr "Derzeit gibt es eine hohe Tauschpreiswirkung für den Order-Tauschpfad." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Stop Market)" +msgstr "Größe erhöhen (Stop-Markt)" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" -msgstr "" +msgstr "Stop-Loss-Gewinn/Verlust" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing {balanceFormatted} to Main Account" -msgstr "" +msgstr "Abhebung von {balanceFormatted} auf Hauptaccount" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settling..." -msgstr "" +msgstr "Abrechnen..." #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" msgstr "Bestenliste" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be enough liquidity to execute parts of this order when the time conditions are met." -msgstr "" +msgstr "Es könnte nicht genug Liquidität geben, um Teile dieses Auftrags auszuführen, wenn die Zeitbedingungen erfüllt sind." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The PnL ($) compared to the capital used.<0/><1/>The capital used is calculated as the highest value of [<2>sum of collateral of open positions - realized PnL + period start pending PnL</2>]." -msgstr "" +msgstr "Der Gewinn/Verlust ($) im Vergleich zum eingesetzten Kapital.<0/><1/>Das eingesetzte Kapital wird als höchster Wert von [<2>Summe des Kollaterals offener Positionen - realisierter Gewinn/Verlust + ausstehender Gewinn/Verlust zu Periodenbeginn</2>] berechnet." #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued" -msgstr "" +msgstr "Angesammelt" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Liquidation price is influenced by fees and collateral value." -msgstr "" +msgstr "Liquidationspreis wird durch Gebühren und Kollateralwert beeinflusst." #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "No data available" -msgstr "" +msgstr "Keine Daten verfügbar" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{prefix} <0>{text}</0>" -msgstr "" +msgstr "{prefix} <0>{text}</0>" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to update settings" -msgstr "" +msgstr "Einstellungen aktualisieren fehlgeschlagen" #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Positive Price Impact / Fees" -msgstr "" +msgstr "Positive Preiswirkung / Gebühren" #: src/components/Exchange/PositionShare.tsx msgid "Tweet" -msgstr "Twittere" +msgstr "Tweeten" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELL…" -msgstr "" +msgstr "VERKAUFEN…" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Swap" -msgstr "Bestätige Swap" +msgstr "Tausch bestätigen" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage is not available as Position exceeds max. allowed leverage. <0>Read more</0>." -msgstr "" +msgstr "Hebel halten ist nicht verfügbar, da Position max. erlaubten Hebel überschreitet. <0>Mehr lesen</0>." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add {0} to Metamask" -msgstr "" +msgstr "{0} zu Metamask hinzufügen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Loss" -msgstr "" +msgstr "Stop-Loss fehlgeschlagen" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Profit" -msgstr "" +msgstr "Täglicher Gewinn" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX tokens can be staked or vested at any time." @@ -7935,11 +8032,11 @@ msgstr "Die esGMX-Tokens können jederzeit gestaket oder gevested werden." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy ETH directly on Arbitrum or transfer it there." -msgstr "" +msgstr "Kaufe ETH direkt auf Arbitrum oder übertrage es dorthin." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 110 symbols exceeded" -msgstr "" +msgstr "Max. 110 Symbole überschritten" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx @@ -7948,11 +8045,11 @@ msgstr "Transaktion fehlgeschlagen" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "COLLATERAL" -msgstr "" +msgstr "KOLLATERAL" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued price impact rebates. They will become claimable after approximately ten days.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "Angesammelte Preiswirkungs-Rebates. Sie werden nach etwa zehn Tagen beanspruchbar.<0/><1/><2>Mehr lesen</2>." #: src/components/Exchange/PositionEditor.jsx #: src/pages/Stake/VesterDepositModal.tsx @@ -7968,41 +8065,46 @@ msgstr "Netto-Rate" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "2nd Place" -msgstr "" +msgstr "2. Platz" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" -msgstr "" +msgstr "LETZTER PREIS" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-sign" -msgstr "" +msgstr "Erneut signieren" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" -msgstr "" +msgstr "Orders ({ordersCount})" #: src/components/TVChartContainer/constants.ts msgid "Limit - Long Inc." -msgstr "" +msgstr "Limit - Long-Erh." #: src/pages/Stake/ClaimModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0>voting power before claiming." -msgstr "" +msgstr "<0>Delegiere deine nicht delegierte {0} GMX DAO</0> Stimmkraft vor dem Beanspruchen." #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." -msgstr "" +msgstr "Du wirst long {indexSymbol} von deiner Long-Position sowie von deinem {collateralSymbol}-Kollateral. Der Liquidationspreis ist höher im Vergleich zur Verwendung eines Stablecoins als Kollateral, da der Wert des Kollaterals mit seinem Preis ändert." + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<0>{0}</0> Token wurden aus dem <1>{1}</1> esGMX, das für das Vesting eingezahlt wurde, in GMX umgewandelt." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" -msgstr "" +msgstr "Verkaufsorder abgebrochen" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "" +#~ msgid "Last 30 days" +#~ msgstr "Letzte 30 Tage" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8012,11 +8114,7 @@ msgstr "Ausführungspreis" #: src/components/Exchange/OrdersList.jsx msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." -msgstr "Der Preis, zu dem der Auftrag ausgeführt werden kann, kann geringfügig vom Chartpreis abweichen, da Marktaufträge den Preis ändern können, Limit-/Trigger-Aufträge hingegen nicht." - -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "" +msgstr "Der Preis, zu dem der Auftrag ausgeführt werden kann, kann leicht vom Chartpreis abweichen, da Marktaufträge den Preis ändern können, Limit-/Trigger-Aufträge jedoch nicht." #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8029,42 +8127,47 @@ msgstr "Über" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued positive funding fees in positions not yet claimable.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "Angesammelte positive Finanzierungsgebühren in Positionen, die noch nicht beanspruchbar sind.<0/><1/>Sie werden verfügbar, nachdem die Position modifiziert wurde, indem sie erhöht oder verringert wird, Kollateral eingezahlt oder abgehoben wird oder die Gebühren mit dem \"Abrechnen\"-Button abgerechnet werden." #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "Fee values do not include incentives." +msgstr "Gebührenwerte enthalten keine Incentives." + +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" msgstr "" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Generate Referral Code" -msgstr "Empfehlungscode generieren" +msgstr "Referral-Code generieren" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Price Impact" -msgstr "" +msgstr "Hohe Tauschpreiswirkung" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Swap" -msgstr "Swap" +msgstr "Tauschen" #: src/domain/synthetics/orders/utils.tsx msgid "long" -msgstr "" +msgstr "long" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h High" -msgstr "" +msgstr "24h Hoch" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code is not yet registered on {nonTakenNetworkNames}, you will not receive rebates there.<0/><1/>Switch your network to create this code on {nonTakenNetworkNames}." -msgstr "Dieser Code ist noch nicht auf {nonTakenNetworkNames} registriert, du wirst dort keine Rabatte erhalten.<0/><1/>Wechsle dein Netzwerk, um diesen Code auf {nonTakenNetworkNames} zu erstellen." +msgstr "Dieser Code ist noch nicht auf {nonTakenNetworkNames} registriert, du wirst dort keine Rebates erhalten.<0/><1/>Wechsle dein Netzwerk, um diesen Code auf {nonTakenNetworkNames} zu erstellen." #: src/components/Exchange/TradeHistory.jsx msgid "Deposit {0} USD into {1} {longOrShortText}" @@ -8072,27 +8175,27 @@ msgstr "Einzahlung von {0} USD in {1} {longOrShortText}" #: src/pages/Dashboard/GmxCard.tsx msgid "Distribution" -msgstr "" +msgstr "Verteilung" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "Sprache" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Transfer" -msgstr "Vollständige Übertragung" +msgstr "Übertragung abschließen" #: src/pages/Home/Home.tsx msgid "Total Users" -msgstr "User insgesamt" +msgstr "Gesamte User" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee" -msgstr "" +msgstr "Netto-Wert: Ursprüngliches Kollateral + Gewinn/Verlust - Leihgebühr - Negative Finanzierungsgebühr - Schließungsgebühr" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below lowest limit price" -msgstr "" +msgstr "Triggerpreis unter niedrigstem Limitpreis" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Exchange/PositionShare.tsx @@ -8102,20 +8205,20 @@ msgstr "Position teilen" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Min leverage: 1.1x" -msgstr "Min.-Hebelwirkung: 1.1x" +msgstr "Min. Hebel: 1.1x" #: src/components/Exchange/FeesTooltip.tsx msgid "Deposit Fee" -msgstr "" +msgstr "Einzahlungsgebühr" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter a new size or price" -msgstr "" +msgstr "Neue Größe oder Preis eingeben" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount exceeded" -msgstr "" +msgstr "Max. Pool-Betrag überschritten" #: src/components/Exchange/SwapBox.jsx msgid "The borrow fee is calculated as (assets borrowed) / (total assets in pool) * 0.01% per hour." @@ -8123,7 +8226,7 @@ msgstr "Die Leihgebühr wird berechnet als (ausgeliehenes Vermögen) / (Gesamtve #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Unknown order" -msgstr "" +msgstr "Unbekannte Order" #: src/pages/Jobs/Jobs.jsx msgid "No open positions at GMX currently" @@ -8131,30 +8234,30 @@ msgstr "Derzeit keine offenen Positionen bei GMX" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Max Action Count Reached. <0>Click here</0> to update." -msgstr "" +msgstr "Max. Aktionsanzahl erreicht. <0>Hier klicken</0> zum Aktualisieren." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Price: {executionPriceDisplay} USD" -msgstr "" +msgstr "Order ausführen: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Preis: {executionPriceDisplay} USD" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "{column}" -msgstr "" +msgstr "{column}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You do not have any eligible trade during the competition window." -msgstr "" +msgstr "Du hast keinen berechtigten Trade während des Wettbewerbsfensters." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing longs and<0/>decreasing shorts." -msgstr "" +msgstr "Ausführungspreise für das Erhöhen von Longs und<0/>Verringern von Shorts." -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" -msgstr "" +msgstr "Letzte 30T" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Dashboards" @@ -8162,51 +8265,54 @@ msgstr "Dashboards" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create TWAP {0} order" -msgstr "" +msgstr "TWAP {0}-Order erstellen" #: src/domain/synthetics/trade/utils/validation.ts msgid "Leftover collateral below {0} USD" -msgstr "" +msgstr "Verbleibendes Kollateral unter {0} USD" #: src/domain/synthetics/positions/utils.ts msgid "trigger" -msgstr "" +msgstr "Trigger" #: src/components/Glp/GlpSwap.jsx msgid "Please <0>read here</0> for more information." -msgstr "" +msgstr "Bitte <0>hier lesen</0> für weitere Informationen." + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "7T" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" -msgstr "" +msgstr "Rage Trade" #: src/pages/Home/Home.tsx msgid "Trade BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet" -msgstr "" +msgstr "Trade BTC, ETH, AVAX und andere Top-Kryptowährungen mit bis zu 100x Hebel direkt aus deinem Wallet" #: src/pages/Stake/ClaimModal.tsx msgid "Claim GMX Rewards" -msgstr "" +msgstr "GMX-Belohnungen beanspruchen" #: src/components/Referrals/JoinReferralCode.tsx #: src/components/Referrals/JoinReferralCode.tsx msgid "Enter Referral Code" -msgstr "Referral Code eingeben" +msgstr "Referral-Code eingeben" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" -msgstr "" +msgstr "EIP-4844, 20-27 Mär" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer failed." -msgstr "Transfer fehlgeschlagen" +msgstr "Übertragung fehlgeschlagen" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit amount is insufficient to bring leverage below the max allowed leverage of 100x" -msgstr "" +msgstr "Einzahlungsbetrag ist unzureichend, um Hebel unter max. erlaubten 100x zu bringen" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -8229,12 +8335,13 @@ msgstr "Mark-Preis" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Open {marketName} in Explorer" -msgstr "" +msgstr "{marketName} im Explorer öffnen" #: src/components/Exchange/TradeHistory.jsx msgid "Partial Liquidation" msgstr "Teilweise Liquidierung" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" @@ -8242,36 +8349,36 @@ msgstr "24h Volumen" #: src/pages/Dashboard/DashboardV2.tsx msgid "Total Stats" -msgstr "" +msgstr "Gesamtstatistiken" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Frequency" -msgstr "" +msgstr "Häufigkeit" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit sent." -msgstr "" +msgstr "Aktivierung der Einzahlung gesendet." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Withdrawing {0} from {positionText}" -msgstr "" +msgstr "Abhebung von {0} aus {positionText}" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community Projects" -msgstr "Community Projekte" +msgstr "Community-Projekte" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/domain/synthetics/orders/utils.tsx msgid "Limit Swap" -msgstr "" +msgstr "Limit-Tausch" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>Execution prices for decreasing shorts." -msgstr "" +msgstr "Keine Liquidität verfügbar für das Erhöhen von Longs für<0/>diese Größe. Max. Long-Größe: {0}<1/><2/>Ausführungspreise für das Verringern von Shorts." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H VOL." -msgstr "" +msgstr "24H VOL." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -8280,44 +8387,44 @@ msgstr "Verkaufe für {0}" #: src/components/Exchange/PositionSeller.jsx msgid "Fees are higher than Collateral" -msgstr "" +msgstr "Gebühren sind höher als Kollateral" #: src/components/Referrals/TradersStats.tsx msgid "You will receive a {currentTierDiscount}% discount on opening and closing fees." -msgstr "" +msgstr "Du erhältst einen {currentTierDiscount}%-Rabatt auf Eröffnungs- und Schließungsgebühren." #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX team" -msgstr "" +msgstr "Anonymer Chat mit GMX-Team" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Market Token Price Chart" -msgstr "" +msgstr "GMX-Markt-Token-Preischart" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Addresses" -msgstr "" +msgstr "Top-Adressen" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Continue" -msgstr "Weiter" +msgstr "Fortfahren" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily and Cumulative PnL" -msgstr "" +msgstr "Täglicher und kumulativer Gewinn/Verlust" #: src/components/Exchange/PositionEditor.jsx msgid "Edit {longOrShortText} {0}" -msgstr "" +msgstr "{longOrShortText} {0} bearbeiten" #: src/domain/synthetics/orders/utils.tsx msgid "short" -msgstr "" +msgstr "short" #: src/components/RatingToast/RatingToast.tsx msgid "Very likely" -msgstr "" +msgstr "Sehr wahrscheinlich" #: src/components/Exchange/ConfirmationBox.jsx msgid "I am aware of the trigger orders" @@ -8325,15 +8432,15 @@ msgstr "Ich bin mir der Trigger-Orders bewusst" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{count, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{count, plural, one {Order} other {# Orders}}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V1" -msgstr "" +msgstr "Volumen auf V1" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche trading incentives" -msgstr "" +msgstr "Avalanche-Trading-Incentives" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Decrease" @@ -8342,18 +8449,22 @@ msgstr "Marktverringerungsanfrage" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max. Leverage exceeded" -msgstr "" +msgstr "Max. Hebel überschritten" #: src/components/Exchange/OrderEditor.jsx msgid "Price is above Mark Price" -msgstr "Preis ist über Mark Preis" +msgstr "Preis ist über Mark-Preis" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "Diese Position könnte liquidiert werden, ausgenommen Preisbewegungen, aufgrund von Finanzierungs- und Leihgebührensätzen, die das Kollateral der Position im Laufe der Zeit reduzieren." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Dein Wallet, deine Keys. Du signierst jede Transaktion off-chain. Trades verwenden GMX-gesponserte Premium-RPCs für Zuverlässigkeit, sogar bei Netzwerküberlastung. Gas-Zahlungen in USDC oder WETH." + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8376,19 +8487,19 @@ msgstr "Orderausführungspreis" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Slippage is too high" -msgstr "" +msgstr "Slippage ist zu hoch" #: src/components/Synthetics/MarketsList/NetFeeHeaderTooltipContent.tsx msgid "Net rate combines funding and borrowing fees but excludes open, swap or impact fees.<0/><1/>Funding fees help to balance longs and shorts and are exchanged between both sides. <2>Read more</2>.<3/><4/>Borrowing fees help ensure available liquidity. <5>Read more</5>." -msgstr "Netto-Rate kombiniert Finanzierungs- und Leihgebühren, schließt jedoch offene, Swap- oder Auswirkungsgebühren aus.<0/><1/>Finanzierungsgebühren helfen, Longs und Shorts auszugleichen und werden zwischen beiden Seiten ausgetauscht. <2>Mehr lesen</2>.<3/><4/>Leihgebühren helfen, die verfügbare Liquidität sicherzustellen. <5>Mehr lesen</5>." +msgstr "Netto-Rate kombiniert Finanzierungs- und Leihgebühren, schließt jedoch offene, Tausch- oder Wirkungsgebühren aus.<0/><1/>Finanzierungsgebühren helfen, Longs und Shorts auszugleichen und werden zwischen beiden Seiten ausgetauscht. <2>Mehr lesen</2>.<3/><4/>Leihgebühren helfen, verfügbare Liquidität sicherzustellen. <5>Mehr lesen</5>." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx msgid "Accrued Price Impact Rebates" -msgstr "" +msgstr "Angesammelte Preiswirkungs-Rebates" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Yesterday" -msgstr "" +msgstr "Gestern" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Deposit" @@ -8396,35 +8507,35 @@ msgstr "Einzahlungsanfrage" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit not enough to cover fees" -msgstr "" +msgstr "Einzahlung nicht ausreichend, um Gebühren zu decken" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Number of Parts" -msgstr "" +msgstr "Anzahl der Teile" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Cancelling {ordersText}" -msgstr "" +msgstr "{ordersText} abbrechen" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivated" -msgstr "" +msgstr "Deaktiviert" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Ecosystem Projects" -msgstr "" +msgstr "Ökosystem-Projekte" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in ..." -msgstr "" +msgstr "Marktorder wird abbrechbar in ..." #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Price Impact Rebate Claimed" -msgstr "" +msgstr "Preiswirkungs-Rebate beansprucht" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX" -msgstr "" +msgstr "Anonymer Chat mit GMX" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx @@ -8440,23 +8551,23 @@ msgstr "Limit" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "You will receive at least {toAmountText} if this order is executed. This price is being updated in real time based on swap fees and price impact." -msgstr "" +msgstr "Du erhältst mindestens {toAmountText}, wenn diese Order ausgeführt wird. Dieser Preis wird in Echtzeit basierend auf Tauschgebühren und Preiswirkung aktualisiert." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Acceptable price does not apply to stop loss orders, as they will be executed regardless of any price impact." -msgstr "" +msgstr "Akzeptabler Preis gilt nicht für Stop-Loss-Orders, da sie unabhängig von Preiswirkung ausgeführt werden." #: src/components/InterviewModal/InterviewModal.tsx msgid "We'll then schedule a chat or interview with you. As a thank you, you'll receive <0>100 <1/></0> for providing your feedback." -msgstr "" +msgstr "Wir planen dann einen Chat oder ein Interview mit dir. Als Dankeschön erhältst du <0>100 <1/></0> für dein Feedback." #: src/domain/synthetics/positions/utils.ts msgid "limit" -msgstr "" +msgstr "Limit" #: src/components/SettingsModal/SettingsModal.tsx msgid "Trading Settings" -msgstr "" +msgstr "Trading-Einstellungen" #: src/components/Exchange/OrdersToa.jsx msgid "<0>Insufficient liquidity to execute the order</0><1>The mark price which is an aggregate of exchange prices did not reach the specified price</1><2>The specified price was reached but not long enough for it to be executed</2><3>No keeper picked up the order for execution</3>" @@ -8468,11 +8579,11 @@ msgstr "Das Kollateral deiner Position nach Abzug der Gebühren:" #: src/components/Glp/GlpSwap.jsx msgid "Selling..." -msgstr "Verkaufe..." +msgstr "Verkaufen..." #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute as the max. allowed leverage is exceeded. Consider decreasing the order's leverage by editing and decreasing its size. <0>Read more</0>." -msgstr "" +msgstr "Die Order wird möglicherweise nicht ausgeführt, da der max. erlaubte Hebel überschritten ist. Erwäge, den Hebel der Order zu verringern, indem du sie bearbeitest und die Größe reduzierst. <0>Mehr lesen</0>." #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx @@ -8499,23 +8610,23 @@ msgstr "Link" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "Long Positions" -msgstr "Long Positionen" +msgstr "Long-Positionen" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Depositing {0} to {positionText}" -msgstr "" +msgstr "Einzahlung von {0} in {positionText}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee" -msgstr "" +msgstr "Max. Netzwerkgebühr" #: src/domain/tokens/approveTokens.tsx msgid "Approval was cancelled" -msgstr "Genehmigung wurde aufgehoben" +msgstr "Genehmigung wurde abgebrochen" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee and pay a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "{longOrShort}-Positionen zahlen keine Finanzierungsgebühr und zahlen eine Leihgebühr von {borrowRate} pro Stunde." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Increase active: {0}, executed: {1}, cancelled: {2}" @@ -8524,11 +8635,11 @@ msgstr "Erhöhen aktiv: {0}, ausgeführt: {1}, abgebrochen: {2}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does not impact your collateral." -msgstr "" +msgstr "Maximale Netzwerkgebühr, die an das Netzwerk gezahlt wird. Diese Gebühr ist eine Blockchain-Kosten, nicht spezifisch für GMX, und beeinflusst dein Kollateral nicht." #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX Pages" -msgstr "GMX Seiten" +msgstr "GMX-Seiten" #: src/components/Exchange/SwapBox.jsx msgid "{0} is required for collateral." @@ -8540,20 +8651,20 @@ msgstr "Dezentrales Optionsprotokoll" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Swap Part" -msgstr "" +msgstr "TWAP-Tausch-Teil aktualisieren" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Part" -msgstr "" +msgstr "TWAP-Teil aktualisieren" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Account Transfer" -msgstr "Vollständige Kontoübertragung" +msgstr "Kontoübertragung abschließen" #: src/pages/Stake/ClaimModal.tsx msgid "Claim Rewards" -msgstr "" +msgstr "Belohnungen beanspruchen" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Copy Address" @@ -8561,29 +8672,29 @@ msgstr "Adresse kopieren" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Pending Transfer Approval" -msgstr "" +msgstr "Ausstehende Übertragungsgenehmigung" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{0}{toTokenIcon}{1}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> zu </1>{0}{toTokenIcon}{1}" #: src/components/DepthChart/DepthChart.tsx msgid "ORACLE PRICE" -msgstr "" +msgstr "ORACLE-PREIS" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "" +#~ msgid "For detailed stats:" +#~ msgstr "Für detaillierte Statistiken:" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "Total Earned Fees" -msgstr "" +msgstr "Gesamte verdiente Gebühren" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a ratio" -msgstr "" +msgstr "Verhältnis eingeben" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Proof of Reserves" @@ -8591,11 +8702,11 @@ msgstr "Reserve-Nachweis" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "General Performance Details" -msgstr "" +msgstr "Allgemeine Leistungsdetails" #: src/pages/Stake/VesterWithdrawModal.tsx msgid "<0>This will withdraw and unreserve all tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button under the Total Rewards section.<5/><6/></0>" -msgstr "" +msgstr "<0>Dies zieht alle Tokens zurück und unreserviert sie sowie pausiert das Vesting.<1/><2/>esGMX-Tokens, die in GMX umgewandelt wurden, werden beansprucht und bleiben als GMX-Tokens.<3/><4/>Um GMX-Tokens ohne Rückzug zu beanspruchen, verwende den \"Beanspruchen\"-Button unter dem Abschnitt Gesamte Belohnungen.<5/><6/></0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Price conditions are met" @@ -8603,20 +8714,20 @@ msgstr "Preisbedingungen sind erfüllt" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Backing Composition" -msgstr "" +msgstr "Unterstützende Zusammensetzung" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeBank" -msgstr "" +msgstr "DeBank" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "You have {balanceFormatted} remaining in your old version 1CT subaccount." -msgstr "" +msgstr "Du hast {balanceFormatted} verbleibend in deinem alten Version 1CT-Subaccount." #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Unstake GMX" -msgstr "" +msgstr "GMX unstaken" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit failed!" -msgstr "" +msgstr "Einzahlung fehlgeschlagen" diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index ac4cd877e0..a25b183f6c 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -53,8 +53,8 @@ msgstr "Buy GM tokens before the epoch resets in {0} to be eligible for the Bonu #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" msgstr "PRICE" @@ -88,7 +88,7 @@ msgstr "What would have made your rating a 9 or 10?" msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" msgstr "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" msgstr "Show debug values" @@ -112,6 +112,10 @@ msgstr "BonsaiDAO" msgid "Approval signed" msgstr "Approval signed" +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" +msgstr "Leave Feedback" + #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" msgstr "Daily Loss" @@ -213,7 +217,6 @@ msgid "V2 Arbitrum" msgstr "V2 Arbitrum" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" msgstr "EIP-4844, 13-20 Mar" @@ -303,7 +306,7 @@ msgstr "View status." msgid "Buyable" msgstr "Buyable" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" msgstr "TWAP Number of Parts" @@ -425,8 +428,10 @@ msgstr "sell" msgid "Please migrate your positions to GMX V2." msgstr "Please migrate your positions to GMX V2." +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "Positions" @@ -466,16 +471,14 @@ msgstr "Swap {0} to {1} on 1inch" msgid "No pools matched." msgstr "No pools matched." -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" - #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "Orders" @@ -489,8 +492,8 @@ msgid "Funding Fee" msgstr "Funding Fee" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" @@ -524,6 +527,7 @@ msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" msgstr "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" @@ -542,10 +546,6 @@ msgstr "Max Capacity" msgid "Market Swap" msgstr "Market Swap" -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "Trade History" - #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" @@ -555,6 +555,10 @@ msgstr "More" msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." msgstr "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" +msgstr "Global" + #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" msgstr "{actionsCount, plural, one {Order} other {# Orders}}" @@ -579,6 +583,10 @@ msgstr "hide" msgid "in liquidity" msgstr "in liquidity" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "Winner" + #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" msgstr "Exit Price" @@ -664,6 +672,10 @@ msgstr "{typeString} Long Stop Market: {0} a short position when the price is be msgid "Limit price above mark price" msgstr "Limit price above mark price" +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" + #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" msgstr "Create or Import a Wallet" @@ -684,7 +696,6 @@ msgstr "Max network fee buffer precision is 0.01%" msgid "Max. Leverage Exceeded" msgstr "Max. Leverage Exceeded" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" msgstr "Search Token" @@ -701,12 +712,6 @@ msgstr "Buy GMX using Decentralized Exchange Aggregators:" msgid "Min. Required Collateral" msgstr "Min. Required Collateral" -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." - #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" @@ -813,8 +818,10 @@ msgstr "Open positions through a simple swap interface. Conveniently swap from a msgid "Incentives Distribution History" msgstr "Incentives Distribution History" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "No markets matched" + #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" @@ -857,10 +864,9 @@ msgstr "Slippage should be less than -5%" msgid "Acceptable Swap Impact" msgstr "Acceptable Swap Impact" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "Leave your Telegram if you’re okay with being contacted for a quick follow-up" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx @@ -1048,7 +1054,7 @@ msgstr "GMX fundamentals" msgid "Referral Code" msgstr "Referral Code" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" msgstr "Charts by TradingView" @@ -1152,6 +1158,11 @@ msgstr "Sell GLP" msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." msgstr "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "CSV" + #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." @@ -1170,6 +1181,7 @@ msgid "Buy Fee" msgstr "Buy Fee" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "Tokens" @@ -1181,10 +1193,6 @@ msgstr "Request Withdraw" msgid "1inch" msgstr "1inch" -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "Composition" - #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" msgstr "Copied" @@ -1298,6 +1306,10 @@ msgstr "Failed Limit Swap" msgid "Liq. {longOrShortText} - {marketIndexName}" msgstr "Liq. {longOrShortText} - {marketIndexName}" +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "Actions" + #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." msgstr "Longing..." @@ -1340,9 +1352,9 @@ msgstr "Hide error" msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." msgstr "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" @@ -1415,6 +1427,11 @@ msgstr "Telegram bot for GMX position updates" msgid "account" msgstr "account" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" +msgstr "EIP-4844" + #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Keep leverage at {0}" msgstr "Keep leverage at {0}" @@ -1626,6 +1643,11 @@ msgstr "Number of parts must be between {MIN_TWAP_NUMBER_OF_PARTS} and {MAX_TWAP msgid "GMX (Chinese)" msgstr "GMX (Chinese)" +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "Search" + #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" msgstr "Price is below Mark Price" @@ -1664,6 +1686,10 @@ msgstr "Receive (Approximate)" msgid "No swap path found" msgstr "No swap path found" +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "RPnL" + #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." msgstr "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." @@ -1760,10 +1786,9 @@ msgstr "Close to execution price" msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." msgstr "Express and One-Click Trading are unavailable due to insufficient gas balance." -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "Global Leaderboard" +#~ msgid "Global Leaderboard" +#~ msgstr "Global Leaderboard" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" @@ -1842,6 +1867,7 @@ msgid "Forfeit profit not checked" msgstr "Forfeit profit not checked" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" msgstr "Buy GM" @@ -1906,7 +1932,7 @@ msgstr "Vault Capacity for your Account:" msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" msgstr "{0, plural, one {Cancel order} other {Cancel # orders}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" msgstr "Display PnL After Fees" @@ -1950,6 +1976,7 @@ msgstr "{txnTypeText} {0} order for" msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." msgstr "The fees' USD value is calculated at the time they are earned and does not include incentives." +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1969,6 +1996,7 @@ msgstr "Checking code..." #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" msgstr "GM Pools" @@ -2041,6 +2069,7 @@ msgstr "Size" msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." msgstr "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2085,10 +2114,6 @@ msgstr "STIP.b trading incentives" msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." msgstr "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "Last 365d" - #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." msgstr "<0>Read more</0> about fees." @@ -2118,9 +2143,9 @@ msgstr "Approving {0}..." msgid "Deposited {0} into {positionText}" msgstr "Deposited {0} into {positionText}" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -2157,8 +2182,8 @@ msgid "Address" msgstr "Address" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "Winner:" +#~ msgid "Winner:" +#~ msgstr "Winner:" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" @@ -2194,7 +2219,7 @@ msgstr "GLP buy disabled, pending {0} upgrade" msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" msgstr "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" msgstr "Trading Mode" @@ -2305,6 +2330,11 @@ msgstr "{positionName} Fees settling" msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" msgstr "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." + #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" msgstr "Shift order executed" @@ -2343,7 +2373,7 @@ msgstr "{typeString} Short Stop Market: {0} a short position when the price is b msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." msgstr "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" msgstr "Default Allowed Slippage" @@ -2433,6 +2463,14 @@ msgstr "Fulfilling sell request" msgid "{actionDisplay} Order" msgstr "{actionDisplay} Order" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "Market Graph" + #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" msgstr "There are more longs than shorts, borrow fees for shorting is currently zero" @@ -2482,6 +2520,10 @@ msgstr "You have an existing position with {0} as collateral." msgid "Transfer Account" msgstr "Transfer Account" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "Winners" + #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" @@ -2568,6 +2610,10 @@ msgstr "Not enough Available Swap Liquidity to fill the Order." msgid "Earn prizes by participating in GMX Trading Competitions." msgstr "Earn prizes by participating in GMX Trading Competitions." +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "Collapse" + #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" msgstr "Confirm Long" @@ -2653,7 +2699,7 @@ msgstr "Signing approval..." msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." msgstr "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" msgstr "Auto-Cancel TP/SL" @@ -2765,6 +2811,10 @@ msgstr "Select Market" msgid "Open positions: {0}<0/>Under risk: {1}" msgstr "Open positions: {0}<0/>Under risk: {1}" +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "Cumulative PnL <0>{0}</0>" + #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" msgstr "Speed up page loading" @@ -2836,6 +2886,7 @@ msgid "No liquidity is available for increasing shorts for<0/>this size. Max sho msgstr "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>Execution prices for decreasing longs." #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" msgstr "Trade" @@ -2874,6 +2925,7 @@ msgid "SL" msgstr "SL" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2988,6 +3040,11 @@ msgstr "Execute Order: Swap {fromAmountDisplay} {0} for {toAmountDisplay} {1}" msgid "Buy {swapTokenSymbol} on 1inch" msgstr "Buy {swapTokenSymbol} on 1inch" +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "Leave your Telegram if you’re okay with being contacted for a quick follow-up." + #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" @@ -3159,11 +3216,6 @@ msgstr "Trigger price below liq. price" msgid "Claim failed." msgstr "Claim failed." -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "Positions{0}" - #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" msgstr "Unknown Error" @@ -3208,7 +3260,7 @@ msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5 msgstr "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5></3> deployment for those features." #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "Select Language" @@ -3304,7 +3356,7 @@ msgstr "Enable withdraw sent." msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." msgstr "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." msgstr "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." @@ -3339,11 +3391,6 @@ msgstr "Order cannot be executed as the remaining position would be smaller than msgid "Claiming..." msgstr "Claiming..." -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "All" - #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" msgstr "Request Market Increase" @@ -3407,6 +3454,10 @@ msgstr "Defi Llama" msgid "Orders cancelled." msgstr "Orders cancelled." +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "GMX Account" + #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" msgstr "Last Rebalance" @@ -3474,11 +3525,6 @@ msgstr "Community-led Telegram groups." msgid "{longShortText} {0} Open Interest" msgstr "{longShortText} {0} Open Interest" -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "COMP." - #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." msgstr "You have no GMX tokens to claim." @@ -3543,6 +3589,10 @@ msgstr "More Options" msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." msgstr "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "Network" + #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" msgstr "<0>every</0> {hours} hours{0}" @@ -3675,7 +3725,6 @@ msgstr "Funding Fees" msgid "Approval failed" msgstr "Approval failed" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx @@ -3767,10 +3816,6 @@ msgstr "Unknown buy GM order" msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." msgstr "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "RPnL ($)" - #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." msgstr "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." @@ -4041,8 +4086,8 @@ msgstr "Failed Market Increase" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "EIP-4844 Competition" +#~ msgid "EIP-4844 Competition" +#~ msgstr "EIP-4844 Competition" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4193,8 +4238,8 @@ msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1 msgstr "{0} is required for collateral.<0/><1/>There is no swap path found for {1} to {2} within GMX.<2/><3/><4>You can buy {3} on 1inch.</4>" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx @@ -4237,7 +4282,7 @@ msgstr "Select a token" msgid "Exposure to Market Traders’ PnL" msgstr "Exposure to Market Traders’ PnL" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" msgstr "Optimal" @@ -4288,6 +4333,7 @@ msgstr "Additionally, trigger orders are market orders and are not guaranteed to #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" msgstr "Docs" @@ -4327,10 +4373,6 @@ msgstr "Failed Stop Market" msgid "Address copied to your clipboard" msgstr "Address copied to your clipboard" -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "Version and Network" - #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4413,8 +4455,8 @@ msgstr "Order" msgid "Staked on Avalanche" msgstr "Staked on Avalanche" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" msgstr "Media Kit" @@ -4473,6 +4515,10 @@ msgstr "Price below Liq. Price" msgid "Take Profit / Stop Loss" msgstr "Take Profit / Stop Loss" +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" +msgstr "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" + #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" msgstr "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" @@ -4511,6 +4557,7 @@ msgid "Shorts Net Rate / 1h" msgstr "Shorts Net Rate / 1h" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" msgstr "GLV Vaults" @@ -4580,17 +4627,13 @@ msgstr "External swap is temporarily disabled. Please try again." msgid "GMX APR" msgstr "GMX APR" -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "Switch to:" - #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" msgstr "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" @@ -4707,10 +4750,9 @@ msgstr "Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancel msgid "24h Low" msgstr "24h Low" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "Chain Icon" +#~ msgid "Chain Icon" +#~ msgstr "Chain Icon" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" @@ -4734,10 +4776,6 @@ msgstr "REBATE" msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." msgstr "There may not be sufficient liquidity to execute your order when the Min. Receive are met." -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "DEPTH" - #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" @@ -4775,6 +4813,11 @@ msgstr "{typeString} Long TWAP: {0} a long position in evenly distributed parts msgid "Referral code updated!" msgstr "Referral code updated!" +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "COMPOSITION" + #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" msgstr "Favorites" @@ -4828,7 +4871,7 @@ msgstr "All time" msgid "Select your vesting option below then click \"Claim\"." msgstr "Select your vesting option below then click \"Claim\"." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." msgstr "The default number of parts for Time-Weighted Average Price (TWAP) orders." @@ -4924,7 +4967,7 @@ msgstr "Collateral ({0})" msgid "You will earn {0}% more rewards with this action." msgstr "You will earn {0}% more rewards with this action." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" msgstr "Max Network Fee Buffer" @@ -4984,6 +5027,7 @@ msgid "GMX Announcements" msgstr "GMX Announcements" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" @@ -5050,17 +5094,14 @@ msgid "Swap Order submitted!" msgstr "Swap Order submitted!" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5071,7 +5112,7 @@ msgstr "Swap Order submitted!" msgid "Loading..." msgstr "Loading..." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" msgstr "Include PnL In Leverage Display" @@ -5104,7 +5145,7 @@ msgstr "Telegram Groups" msgid "Search Action" msgstr "Search Action" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" msgstr "Show Leverage Slider" @@ -5113,8 +5154,8 @@ msgid "Cancelling {orderText}." msgstr "Cancelling {orderText}." #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "CONCLUDED" +#~ msgid "CONCLUDED" +#~ msgstr "CONCLUDED" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" @@ -5185,6 +5226,7 @@ msgstr "Referral code updated failed." #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5233,11 +5275,6 @@ msgstr "GMX is the utility and governance token. Accrues 30% and 27% of V1 and V msgid "Transferring" msgstr "Transferring" -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." - #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" msgstr "GLP autocompounding vaults" @@ -5264,8 +5301,8 @@ msgid "Target Weight" msgstr "Target Weight" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "Winners:" +#~ msgid "Winners:" +#~ msgstr "Winners:" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." @@ -5306,6 +5343,10 @@ msgstr "Cancel TWAP Swap" msgid "Transaction" msgstr "Transaction" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "Last year" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5352,7 +5393,7 @@ msgstr "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Plea msgid "Close {longOrShortText} {0}" msgstr "Close {longOrShortText} {0}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" msgstr "Disable validation for testing" @@ -5371,10 +5412,18 @@ msgstr "TP/SL" msgid "Max {0} in" msgstr "Max {0} in" +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "No items yet" + #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" msgstr "Stop Loss Decrease" +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" +msgstr "GMX information for account" + #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Diff" msgstr "Diff" @@ -5430,6 +5479,14 @@ msgstr "You can buy AVAX directly on <0>Avalanche</0> using these options:" msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" msgstr "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "30d" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +msgstr "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." + #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" msgstr "Claim Affiliate Vault Rewards" @@ -5451,7 +5508,6 @@ msgstr "The network fees are very high currently, which may be due to a temporar msgid "There are more shorts than longs, borrow fees for longing is currently zero" msgstr "There are more shorts than longs, borrow fees for longing is currently zero" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" msgstr "Last 90d" @@ -5473,6 +5529,7 @@ msgstr "Search Pool" msgid "GMX Trading Chat" msgstr "GMX Trading Chat" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" msgstr "24H%" @@ -5485,9 +5542,9 @@ msgstr "Perpie" msgid "Useful Links" msgstr "Useful Links" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "Enable external swaps" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "Enable external swaps" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" @@ -5500,8 +5557,8 @@ msgid "Available" msgstr "Available" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "Last 7 days" +#~ msgid "Last 7 days" +#~ msgstr "Last 7 days" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" @@ -5515,6 +5572,10 @@ msgstr "Begin Transfer" msgid "How likely are you to recommend our service to a friend or colleague?" msgstr "How likely are you to recommend our service to a friend or colleague?" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" +msgstr "Enable External Swaps" + #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" msgstr "Insufficient liquidity to swap collateral" @@ -5589,6 +5650,10 @@ msgstr "Buy or Transfer AVAX to Avalanche" msgid "TokenTerminal" msgstr "TokenTerminal" +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" +msgstr "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" + #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for Open Interest on GMX" msgstr "Telegram bot for Open Interest on GMX" @@ -5619,6 +5684,10 @@ msgstr "Current {0} long" msgid "{0} orders were not updated as max order limit reached" msgstr "{0} orders were not updated as max order limit reached" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "90d" + #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" msgstr "Order created!" @@ -5725,10 +5794,6 @@ msgstr "Today" msgid "Receiver Address" msgstr "Receiver Address" -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "GMX {versionName} {networkName} information for account:" - #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" msgstr "From" @@ -5821,6 +5886,10 @@ msgstr "Alternatively, you can select a different \"Collateral In\" token." msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." msgstr "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" +msgstr "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" + #: src/pages/PageNotFound/PageNotFound.jsx msgid "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" msgstr "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" @@ -5889,6 +5958,10 @@ msgstr "Withdrawn!" msgid "3rd Place" msgstr "3rd Place" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." + #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" @@ -5933,8 +6006,8 @@ msgid "Perpetuals Aggregator" msgstr "Perpetuals Aggregator" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "LIVE" +#~ msgid "LIVE" +#~ msgstr "LIVE" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -6084,7 +6157,7 @@ msgstr "Claim esGMX" msgid "Buy or Transfer ETH to Arbitrum" msgstr "Buy or Transfer ETH to Arbitrum" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." msgstr "The maximum percentage difference between your specified price and execution price when placing orders." @@ -6154,6 +6227,7 @@ msgid "less than a minute" msgstr "less than a minute" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "Ecosystem" @@ -6173,8 +6247,8 @@ msgstr "Create" msgid "Limit order submitted!" msgstr "Limit order submitted!" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" msgstr "Last 7d" @@ -6232,8 +6306,8 @@ msgstr "Price Impact / Fees" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "GMX {versionName} Account" +#~ msgid "GMX {versionName} Account" +#~ msgstr "GMX {versionName} Account" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6301,6 +6375,10 @@ msgstr "D2.Finance" msgid "Annualized:" msgstr "Annualized:" +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" +msgstr "Concluded Competitions" + #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" msgstr "Failed to sign approval" @@ -6317,10 +6395,6 @@ msgstr "The network fees are high currently, which may be due to a temporary inc msgid "Scan the QR code" msgstr "Scan the QR code" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "Claims ({totalClaimables})" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" msgstr "Unknown shift GM order" @@ -6349,6 +6423,10 @@ msgstr "Trigger price above mark price" msgid "Order size exceeds position" msgstr "Order size exceeds position" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "Concluded" + #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" msgstr "Order update submitted!" @@ -6490,8 +6568,8 @@ msgid "Win Rate" msgstr "Win Rate" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" @@ -6540,6 +6618,11 @@ msgstr "Vested GMX not withdrawn" msgid "FEES" msgstr "FEES" +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "All Markets" + #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx @@ -6706,6 +6789,8 @@ msgid "Top Positions" msgstr "Top Positions" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" msgstr "Pools" @@ -6780,8 +6865,7 @@ msgstr "Max In" msgid "Myself" msgstr "Myself" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" msgstr "Search Address" @@ -6793,6 +6877,7 @@ msgstr "Max GM buyable amount reached" msgid "Session generated" msgstr "Session generated" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" msgstr "Buy GMX" @@ -6900,6 +6985,7 @@ msgstr "Edit order" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" msgstr "Claims" @@ -6956,7 +7042,7 @@ msgstr "Enter Receiver Address" msgid "Additional reserve required" msgstr "Additional reserve required" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" msgstr "Terms and Conditions" @@ -6982,6 +7068,10 @@ msgstr "Swap {0} for {1}" msgid "Vault Capacity" msgstr "Vault Capacity" +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "Depth" + #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" msgstr "Decrease active: {0}, executed: {1}, cancelled: {2}" @@ -7062,8 +7152,8 @@ msgid "Telegram account" msgstr "Telegram account" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "SOON" +#~ msgid "SOON" +#~ msgstr "SOON" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" @@ -7332,7 +7422,7 @@ msgstr "{title}" msgid "Increasing" msgstr "Increasing" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" msgstr "Fastest" @@ -7463,8 +7553,8 @@ msgid "Staked" msgstr "Staked" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "Leave feedback" +#~ msgid "Leave feedback" +#~ msgstr "Leave feedback" #: src/pages/Referrals/Referrals.tsx msgid "Traders" @@ -7520,6 +7610,10 @@ msgstr "Min required collateral" msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" msgstr "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "GMX Account" + #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." msgstr "GMX ecosystem pages." @@ -7574,7 +7668,7 @@ msgstr "Fees will be shown once you have entered an amount in the order form." msgid "GLP Vault" msgstr "GLP Vault" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" msgstr "Referral Terms" @@ -7588,7 +7682,6 @@ msgid "Fee APY" msgstr "Fee APY" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." msgstr "No markets matched." @@ -7641,10 +7734,6 @@ msgstr "Transaction failed due to execution fee validation. <0>View</0>.<1/><2/> msgid "APY" msgstr "APY" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "Last month" - #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Leave at least {0} {1} for gas" @@ -7681,7 +7770,7 @@ msgstr "Image generation error, please refresh and try again." msgid "Price Impact Rebates" msgstr "Price Impact Rebates" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." msgstr "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." @@ -7832,10 +7921,6 @@ msgstr "Stabilize Protocol" msgid "Enter a valid coin names" msgstr "Enter a valid coin names" -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "Cumulative PnL: <0>{0}</0>" - #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." @@ -7857,6 +7942,10 @@ msgstr "There is currently a high swap price impact for the order swap path." msgid "Increase Size (Stop Market)" msgstr "Increase Size (Stop Market)" +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" +msgstr "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" + #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" msgstr "Stop Loss PnL" @@ -7871,6 +7960,8 @@ msgstr "Settling..." #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" msgstr "Leaderboard" @@ -7976,6 +8067,7 @@ msgstr "Net Rate" msgid "2nd Place" msgstr "2nd Place" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" msgstr "LAST PRICE" @@ -7985,8 +8077,6 @@ msgid "Re-sign" msgstr "Re-sign" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" msgstr "Orders ({ordersCount})" @@ -8002,13 +8092,19 @@ msgstr "<0>Delegate your undelegated {0} GMX DAO</0>voting power before claiming msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." msgstr "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." + #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" msgstr "Sell order cancelled" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "Last 30 days" +#~ msgid "Last 30 days" +#~ msgstr "Last 30 days" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8020,10 +8116,6 @@ msgstr "Execution Price" msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." msgstr "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "Claims History" - #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8041,6 +8133,10 @@ msgstr "Accrued positive funding fees in positions not yet claimable.<0/><1/>The msgid "Fee values do not include incentives." msgstr "Fee values do not include incentives." +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" +msgstr "For detailed stats" + #: src/components/Referrals/AddAffiliateCode.jsx msgid "Generate Referral Code" msgstr "Generate Referral Code" @@ -8052,6 +8148,7 @@ msgstr "High Swap Price Impact" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx @@ -8080,7 +8177,7 @@ msgstr "Deposit {0} USD into {1} {longOrShortText}" msgid "Distribution" msgstr "Distribution" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "Language" @@ -8156,8 +8253,8 @@ msgstr "You do not have any eligible trade during the competition window." msgid "Execution prices for increasing longs and<0/>decreasing shorts." msgstr "Execution prices for increasing longs and<0/>decreasing shorts." -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" msgstr "Last 30d" @@ -8182,6 +8279,10 @@ msgstr "trigger" msgid "Please <0>read here</0> for more information." msgstr "Please <0>read here</0> for more information." +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "7d" + #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" msgstr "Rage Trade" @@ -8200,7 +8301,6 @@ msgid "Enter Referral Code" msgstr "Enter Referral Code" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" msgstr "EIP-4844, 20-27 Mar" @@ -8241,6 +8341,7 @@ msgstr "Open {marketName} in Explorer" msgid "Partial Liquidation" msgstr "Partial Liquidation" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" @@ -8358,9 +8459,13 @@ msgstr "Price is above Mark Price" msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." msgstr "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" +msgstr "PNG" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8578,8 +8683,8 @@ msgid "ORACLE PRICE" msgstr "ORACLE PRICE" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "For detailed stats:" +#~ msgid "For detailed stats:" +#~ msgstr "For detailed stats:" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx diff --git a/src/locales/es/messages.po b/src/locales/es/messages.po index 4bf33702f8..55b0bef4f7 100644 --- a/src/locales/es/messages.po +++ b/src/locales/es/messages.po @@ -15,7 +15,7 @@ msgstr "" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Unrealized Base PnL" -msgstr "" +msgstr "PnL Base No Realizado" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/NftWallet/NftWallet.jsx @@ -24,11 +24,11 @@ msgstr "Monedero no conectado" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pear Protocol" -msgstr "" +msgstr "Protocolo Pear" #: src/components/RatingToast/RatingToast.tsx msgid "Not likely" -msgstr "" +msgstr "Poco probable" #: src/pages/Home/Home.tsx msgid "Available on your preferred network" @@ -49,12 +49,12 @@ msgstr "Desconectar" #: src/components/Glp/GlpSwap.jsx msgid "Buy GM tokens before the epoch resets in {0} to be eligible for the Bonus Rebate. Alternatively, wait for the epoch to reset to redeem GLP and buy GM within the same epoch." -msgstr "" +msgstr "Compra tokens GM antes de que se reinicie la época en {0} para ser elegible para el Reembolso de Bonificación. Alternativamente, espera a que se reinicie la época para canjear GLP y comprar GM dentro de la misma época." #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" msgstr "PRECIO" @@ -62,15 +62,15 @@ msgstr "PRECIO" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "receive" -msgstr "" +msgstr "recibir" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Referrals Dashboard" -msgstr "" +msgstr "Panel de Referidos GMX" #: src/pages/Stake/ClaimModal.tsx msgid "Stake GMX Rewards" -msgstr "" +msgstr "Stakea Recompensas GMX" #: src/components/Glp/SwapErrorModal.tsx msgid "There is not enough liquidity in a single token for your size. Please check the Save on Fees section and consider splitting your order into several different ones" @@ -78,23 +78,23 @@ msgstr "No hay suficiente liquidez en un único token para tu volumen. Por favor #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx msgid "Decrease the withdraw size to match the max. <0>Read more</0>.<1/><2/><3>Set max withdrawal</3>" -msgstr "" +msgstr "Reduce el tamaño del retiro para coincidir con el máx. <0>Leer más</0>.<1/><2/><3>Establecer retiro máximo</3>" #: src/domain/synthetics/userFeedback/utils.ts msgid "What would have made your rating a 9 or 10?" -msgstr "" +msgstr "¿Qué habría hecho que tu calificación fuera un 9 o 10?" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" msgstr "{existingTriggerOrderLength, plural, one {Tienes activa una orden de activación que podría ejecutarse inmediatamente después de que abras esta posición. Por favor, cancela la orden o acepta la confirmación para continuar.} other {Tienes # órdenes de activación activas que podrían ejecutarse inmediatamente después de que abras la posición. Por favor, cancela las órdenes o acepta la confirmación para continuar.}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" -msgstr "" +msgstr "Mostrar valores de depuración" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Loss" -msgstr "" +msgstr "Ejecutar Stop Loss" #: src/pages/Exchange/Exchange.tsx msgid "Could not decrease {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." @@ -106,23 +106,27 @@ msgstr "Aceptar" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "BonsaiDAO" -msgstr "" +msgstr "BonsaiDAO" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Approval signed" +msgstr "Aprobación firmada" + +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" msgstr "" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" -msgstr "" +msgstr "Pérdida Diaria" #: src/pages/Home/Home.tsx msgid "GMX is currently live on Arbitrum and Avalanche." -msgstr "GMX esta actualmente en vivo en Arbitrum y Avalanche." +msgstr "GMX está actualmente en vivo en Arbitrum y Avalanche." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP Swap" -msgstr "" +msgstr "Crear Intercambio TWAP" #: src/components/Glp/GlpSwap.jsx msgid "Max Pool Capacity" @@ -137,7 +141,7 @@ msgstr "Optimizador de rendimientos en Avalanche" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum" -msgstr "" +msgstr "Arbitrum" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -149,11 +153,11 @@ msgstr "Órdenes ({0})" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "You have not deposited any tokens for vesting." -msgstr "" +msgstr "No has depositado ningún token para adquisición." #: src/domain/synthetics/positions/utils.ts msgid "stop loss" -msgstr "" +msgstr "stop loss" #: src/components/Exchange/OrdersList.jsx #: src/components/Referrals/AffiliatesStats.tsx @@ -166,15 +170,15 @@ msgstr "Tipo" #: src/components/Exchange/PositionSeller.jsx msgid "Order submitted!" -msgstr "" +msgstr "¡Orden enviada!" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Updating {updateOrdersCount} TP/SL order(s)" -msgstr "" +msgstr "Actualizando {updateOrdersCount} orden(es) TP/SL" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "RabbitHole" -msgstr "" +msgstr "RabbitHole" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is above its target weight.<0/><1/>Get lower fees to <2>swap</2> tokens for {1}." @@ -183,72 +187,71 @@ msgstr "{0} está por encima de su peso objetivo.<0/><1/>Consigue menores comisi #: src/domain/synthetics/markets/createGlvWithdrawalTxn.ts #: src/domain/synthetics/markets/createWithdrawalTxn.ts msgid "Withdrawal error." -msgstr "" +msgstr "Error de retiro." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit" -msgstr "" +msgstr "Límite Fallido" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Performance" -msgstr "" +msgstr "Rendimiento" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized return of the pool or vault over the selected period, compared to a benchmark that follows Uniswap V2–style rebalancing of the backing tokens in the same GM pool or GLV vault.<0/><1/>Annualized figures based on short periods may be distorted by short-term volatility.<2/><3/>For detailed stats and comparisons, see the <4>GMX V2 LP Dashboard</4>." -msgstr "" +msgstr "Rendimiento anualizado de la reserva o bóveda durante el período seleccionado, comparado con un benchmark que sigue el rebalanceo estilo Uniswap V2 de los tokens de respaldo en la misma reserva GM o bóveda GLV.<0/><1/>Las cifras anualizadas basadas en períodos cortos pueden distorsionarse por volatilidad a corto plazo.<2/><3/>Para estadísticas detalladas y comparaciones, consulta el <4>Panel GMX V2 LP</4>." #: src/pages/Home/Home.tsx msgid "Decentralized<0/>Perpetual Exchange" -msgstr "Exchange<0/>Perpetuo Decentralizado" +msgstr "Exchange<0/>Perpetuo Descentralizado" #: src/pages/Stake/VesterDepositModal.tsx msgid "Current Reserved" -msgstr "" +msgstr "Reservado Actual" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Arbitrum" -msgstr "" +msgstr "V2 Arbitrum" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" -msgstr "" +msgstr "EIP-4844, 13-20 Mar" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Total size" -msgstr "" +msgstr "Tamaño total" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express Trading" -msgstr "" +msgstr "Prueba Trading Express" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if there is not enough available liquidity." -msgstr "" +msgstr "Ten en cuenta que puede haber casos raros en los que la orden no se pueda ejecutar, por ejemplo, si la cadena está caída y no se producen informes de oráculo o si no hay suficiente liquidez disponible." #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Buy {gasPaymentTokensText}" -msgstr "" +msgstr "Comprar {gasPaymentTokensText}" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Show error" -msgstr "" +msgstr "Mostrar error" #: src/components/Exchange/SwapBox.jsx msgid "Trigger orders, increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions using market orders." -msgstr "" +msgstr "Órdenes de activación, aumento de posiciones (mercado o límite), adición de garantía e intercambios en GMX V1 ahora están desactivados. Aún puedes cerrar posiciones existentes usando órdenes de mercado." #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} se puede usar para comprar GM para este mercado hasta los límites de compra especificados." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High TWAP Network Fee" -msgstr "" +msgstr "Alta Comisión de Red TWAP" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Market Swap" @@ -256,12 +259,12 @@ msgstr "Ejecutar Intercambio de Mercado" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit submitted!" -msgstr "" +msgstr "¡Depósito enviado!" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Volume" -msgstr "" +msgstr "Volumen" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit Swap" @@ -269,7 +272,7 @@ msgstr "Cancelar Intercambio Límite" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{seconds}s" -msgstr "" +msgstr "{seconds}s" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Required" @@ -277,7 +280,7 @@ msgstr "{0} Requerido" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "No incentives distribution history yet." -msgstr "" +msgstr "Aún no hay historial de distribución de incentivos." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -301,19 +304,19 @@ msgstr "Ver estado." #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Buyable" -msgstr "" +msgstr "Comprable" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" -msgstr "" +msgstr "Número de Partes TWAP" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee - UI Fee" -msgstr "" +msgstr "Valor Neto: Garantía Inicial + PnL - Comisión de Préstamo - Comisión de Financiación Negativa - Comisión de Cierre - Comisión de UI" #: src/components/Exchange/ConfirmationBox.jsx msgid "The spread is > 1%, please ensure the trade details are acceptable before confirming" -msgstr "" +msgstr "El spread es > 1%, por favor asegúrate de que los detalles de la operación son aceptables antes de confirmar" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}<0/><1/>Please mint GLP using another token" @@ -321,7 +324,7 @@ msgstr "Capacidad máxima de reserva alcanzada para {0}<0/><1/>Por favor, acuñe #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a value" -msgstr "" +msgstr "Introduce un valor" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT Address" @@ -335,24 +338,24 @@ msgstr "DISPONIBLE" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "@username" -msgstr "" +msgstr "@username" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Short Inc." -msgstr "" +msgstr "Mercado Stop - Corto Inc." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Take Profit" -msgstr "" +msgstr "Take Profit Fallido" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Confirm Settle" -msgstr "" +msgstr "Confirmar Liquidación" #: src/domain/synthetics/markets/createDepositTxn.ts #: src/domain/synthetics/markets/createGlvDepositTxn.ts msgid "Deposit error." -msgstr "" +msgstr "Error de depósito." #: src/pages/Exchange/Exchange.tsx msgid "Increased {tokenSymbol} {longOrShortText}, +{0} USD." @@ -360,19 +363,19 @@ msgstr "Incrementado {tokenSymbol} {longOrShortText}, +{0} USD." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{updateOrdersCount} TP/SL order(s) updated" -msgstr "" +msgstr "{updateOrdersCount} orden(es) TP/SL actualizada(s)" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price above mark price" -msgstr "" +msgstr "Precio de mercado stop por encima del precio de referencia" #: src/pages/Stake/StakeModal.tsx msgid "Pending {stakingTokenSymbol} approval" -msgstr "" +msgstr "Aprobación pendiente de {stakingTokenSymbol}" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions" -msgstr "" +msgstr "Posiciones Abiertas" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstaking..." @@ -384,11 +387,11 @@ msgstr "Puedes cambiar el \"Garantía En\" token arriba para encontrar menores c #: src/domain/synthetics/trade/utils/validation.ts msgid "The sellable cap for the pool GM: {0} [{1}] has been reached, as the tokens are reserved by traders. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "Se ha alcanzado el límite vendible para la reserva GM: {0} [{1}], ya que los tokens están reservados por traders. Por favor, elige una reserva diferente, reduce el tamaño de venta o divide tu retiro en múltiples reservas." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap TWAP: Swap tokens in evenly distributed parts over a specified time." -msgstr "" +msgstr "Intercambio TWAP: Intercambia tokens en partes distribuidas uniformemente durante un tiempo especificado." #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} short exceeded" @@ -396,17 +399,17 @@ msgstr "Superados cortos Máx. de {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GM balance" -msgstr "" +msgstr "Saldo GM insuficiente" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token is a vault of automatically rebalanced GM tokens that accrue fees from leverage trading and swaps from the included markets. Backed by {0} and {1}." -msgstr "" +msgstr "Este token es una bóveda de tokens GM rebalanceados automáticamente que acumulan comisiones de trading con apalancamiento e intercambios de los mercados incluidos. Respaldado por {0} y {1}." #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool USD exceeded" -msgstr "" +msgstr "USD de reserva máxima superado" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -414,33 +417,35 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price below mark price" -msgstr "" +msgstr "Precio límite por debajo del precio de referencia" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "sell" -msgstr "" +msgstr "vender" #: src/components/Exchange/SwapBox.jsx #: src/config/events.tsx msgid "Please migrate your positions to GMX V2." -msgstr "" +msgstr "Por favor, migra tus posiciones a GMX V2." +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "Posiciones" #: src/domain/synthetics/trade/utils/validation.ts msgid "{0} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{0} no se puede enviar a direcciones de contratos inteligentes. Selecciona otro token." #: src/domain/synthetics/markets/claimFundingFeesTxn.ts msgid "Funding Claimed" -msgstr "" +msgstr "Financiación Reclamada" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please enable <2>Express trading</2> under settings, which should offer a better experience." -msgstr "" +msgstr "Transacción fallida debido a error RPC.<0/><1/>Por favor, activa <2>Trading Express</2> en ajustes, lo que debería ofrecer una mejor experiencia." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code added!" @@ -448,11 +453,11 @@ msgstr "¡Código de referido añadido!" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELLABLE" -msgstr "" +msgstr "VENDIBLE" #: src/pages/Dashboard/StatsCard.tsx msgid "Treasury" -msgstr "" +msgstr "Tesorería" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap {0} to {1} on 1inch" @@ -464,24 +469,22 @@ msgstr "Intercambiar {0} a {1} en 1inch" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "No pools matched." -msgstr "" - -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "" +msgstr "No se encontraron reservas coincidentes." #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "Órdenes" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Increased {positionText}, +{0}" -msgstr "" +msgstr "Incrementada {positionText}, +{0}" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -489,27 +492,27 @@ msgid "Funding Fee" msgstr "Comisión de Financiación" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Liquidez insuficiente en la reserva de mercado {0}. Selecciona una reserva diferente para este mercado. Elegir una reserva diferente abriría una nueva posición distinta de la existente.<0><1>Cambiar a reserva de mercado {1}</1>.</0>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" -msgstr "" +msgstr "Confirmar Orden Límite" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirm Withdraw" -msgstr "" +msgstr "Confirmar Retiro" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized PnL" -msgstr "" +msgstr "PnL Realizado" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX V2 Data Analytics within Telegram" -msgstr "" +msgstr "Análisis de Datos GMX V2 dentro de Telegram" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer ETH from other networks to Arbitrum using any of the below options:" @@ -524,6 +527,7 @@ msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" msgstr "Token inválido de token: \"{0}\" a token: \"{toTokenAddress}\"" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" @@ -532,36 +536,36 @@ msgstr "Estadísticas" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Price Impact Rebates" -msgstr "" +msgstr "Reclamar Reembolsos de Impacto de Precio" #: src/pages/Stake/VesterDepositModal.tsx msgid "Max Capacity" -msgstr "" +msgstr "Capacidad Máxima" #: src/domain/synthetics/orders/utils.tsx msgid "Market Swap" -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "Historial de Operaciones" +msgstr "Intercambio de Mercado" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" -msgstr "" +msgstr "Más" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." +msgstr "Dado que la garantía de tu posición está en {symbol}, con un valor inicial superior al tamaño de la posición corta {indexName}, el valor de la garantía aumentará para cubrir cualquier PnL negativo, por lo que no hay precio de liquidación." + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" msgstr "" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{actionsCount, plural, one {Orden} other {# Órdenes}}" #: src/config/bridging.tsx msgid "Buy APE on Arbitrum with <0>Camelot</0>." -msgstr "" +msgstr "Compra APE en Arbitrum con <0>Camelot</0>." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You will need to be on this page to accept the transfer, <0>click here</0> to copy the link to this page if needed." @@ -579,6 +583,10 @@ msgstr "ocultar" msgid "in liquidity" msgstr "en liquidez" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "" + #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" msgstr "Precio de Salida" @@ -590,17 +598,17 @@ msgstr "Introduce Precio" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V2" -msgstr "" +msgstr "Reembolsos en V2" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives are airdropped weekly." -msgstr "" +msgstr "Los incentivos se lanzan semanalmente." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "Acceptable Price Impact" -msgstr "" +msgstr "Impacto de Precio Aceptable" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add to Metamask" @@ -608,20 +616,20 @@ msgstr "Añadir a Metamask" #: src/pages/Stake/VesterDepositModal.tsx msgid "Insufficient staked tokens" -msgstr "" +msgstr "Tokens stakeados insuficientes" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Telegram contact (optional)" -msgstr "" +msgstr "Contacto de Telegram (opcional)" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in {minutesText}{seconds}s." -msgstr "" +msgstr "La orden de mercado será cancelable en {minutesText}{seconds}s." #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "providing liquidity" -msgstr "" +msgstr "proporcionando liquidez" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Tap [Create Wallet] to start using your Web3 Wallet." @@ -629,15 +637,15 @@ msgstr "Toca [Crear cartera] para empezar a usar tu cartera Web3." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Plutus" -msgstr "" +msgstr "Plutus" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pairs Trading" -msgstr "" +msgstr "Trading de Pares" #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX {versionName} {networkName} actions for all accounts." -msgstr "" +msgstr "Acciones GMX {versionName} {networkName} para todas las cuentas." #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel submitted" @@ -645,7 +653,7 @@ msgstr "Cancelación enviada" #: src/components/Exchange/PositionSeller.jsx msgid "Please uncheck \"Keep Leverage\", or close a larger position amount." -msgstr "" +msgstr "Por favor, desmarca \"Mantener Apalancamiento\", o cierra una cantidad mayor de posición." #: src/components/Exchange/PositionDropdown.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -654,7 +662,7 @@ msgstr "Editar Garantía" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Mercado Stop Largo: {0} una posición corta cuando el precio está por debajo del precio de activación." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -662,7 +670,11 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price above mark price" -msgstr "" +msgstr "Precio límite por encima del precio de referencia" + +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "Interés Abierto (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" @@ -670,7 +682,7 @@ msgstr "Crear o Importar un Monedero" #: src/pages/Stake/ClaimModal.tsx msgid "Stake esGMX Rewards" -msgstr "" +msgstr "Stakea Recompensas esGMX" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks and Settings" @@ -678,63 +690,56 @@ msgstr "Redes y Ajustes" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max network fee buffer precision is 0.01%" -msgstr "" +msgstr "La precisión máxima del buffer de comisión de red es 0.01%" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Max. Leverage Exceeded" -msgstr "" +msgstr "Apalancamiento Máx. Superado" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" msgstr "Buscar Token" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeltaPrime" -msgstr "" +msgstr "DeltaPrime" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using Decentralized Exchange Aggregators:" -msgstr "" +msgstr "Compra GMX usando Agregadores de Exchanges Descentralizados:" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Min. Required Collateral" -msgstr "" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "" +msgstr "Garantía Mín. Requerida" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" -msgstr "" +msgstr "Rango" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average position size." -msgstr "" +msgstr "Tamaño promedio de posición." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx msgid "{0} <0/><1> to </1>{1} <2/>" -msgstr "" +msgstr "{0} <0/><1> a </1>{1} <2/>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Market: {0} a short position at the current price." -msgstr "" +msgstr "{typeString} Mercado Corto: {0} una posición corta al precio actual." #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "Claim {totalUsd}" -msgstr "" +msgstr "Reclamar {totalUsd}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Swap" -msgstr "" +msgstr "Intercambio Yield Yak" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Vaultka" -msgstr "" +msgstr "Vaultka" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -745,24 +750,24 @@ msgstr "MERCADO" #: src/domain/synthetics/userFeedback/utils.ts msgid "What did you like the most about our service?" -msgstr "" +msgstr "¿Qué es lo que más te gustó de nuestro servicio?" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Paraswap" -msgstr "" +msgstr "Paraswap" #: src/components/TVChartContainer/constants.ts msgid "TP - Long Dec." -msgstr "" +msgstr "TP - Largo Dec." #: src/components/Referrals/AffiliatesStats.tsx msgid "Claimable Rebates" -msgstr "" +msgstr "Reembolsos Reclamables" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount reached" -msgstr "" +msgstr "Cantidad máxima de reserva alcanzada" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Market Orders" @@ -770,23 +775,23 @@ msgstr "Órdenes de Mercado" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we address your concerns and improve your experience?" -msgstr "" +msgstr "¿Cómo podemos abordar tus preocupaciones y mejorar tu experiencia?" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value locked takes into account:" -msgstr "" +msgstr "Valor total bloqueado tiene en cuenta:" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending buy request" -msgstr "" +msgstr "Enviando solicitud de compra" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can check your claim history <0>here</0>." -msgstr "Puede consultar su historial de reclamaciones <0>aquí</0>." +msgstr "Puedes consultar tu historial de reclamaciones <0>aquí</0>." #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable positive funding fees.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "Comisiones de financiación positivas reclamables.<0/><1/>Se vuelven disponibles después de modificar la posición aumentando o disminuyéndola, depositando o retirando garantía, o liquidando las comisiones usando el botón \"Liquidar\"." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -799,22 +804,24 @@ msgstr "Precio aceptable para la orden." #: src/components/TVChartContainer/DynamicLine.tsx msgid "The order could not be updated" -msgstr "" +msgstr "La orden no se pudo actualizar" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Cross-chain one-click deposits into GM" -msgstr "" +msgstr "Depósitos en un clic cross-chain en GM" #: src/pages/Home/Home.tsx msgid "Open positions through a simple swap interface. Conveniently swap from any supported asset into the position of your choice." -msgstr "Abre posiciones a través de una simple interfaz de intercambio. Intercambie desde cualquier activo soportado a la posición de su elección." +msgstr "Abre posiciones a través de una simple interfaz de intercambio. Intercambia convenientemente desde cualquier activo soportado a la posición de tu elección." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives Distribution History" -msgstr "" +msgstr "Historial de Distribución de Incentivos" + +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "No se encontraron mercados" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" @@ -831,7 +838,7 @@ msgstr "{0} precio" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} buyable amount exceeded" -msgstr "" +msgstr "Cantidad máxima comprable de {0} superada" #: src/components/Glp/GlpSwap.jsx msgid "Sell submitted!" @@ -839,7 +846,7 @@ msgstr "¡Venta enviada!" #: src/components/Exchange/PositionSeller.jsx msgid "Closing..." -msgstr "" +msgstr "Cerrando..." #: src/components/Referrals/AddAffiliateCode.jsx msgid "Code already taken" @@ -847,31 +854,30 @@ msgstr "Código ya cogido" #: src/components/TVChartContainer/constants.ts msgid "SL - Short Dec." -msgstr "" +msgstr "SL - Corto Dec." #: src/components/SettingsModal/SettingsModal.tsx msgid "Slippage should be less than -5%" -msgstr "" +msgstr "El deslizamiento debe ser menor que -5%" #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Acceptable Swap Impact" -msgstr "" +msgstr "Impacto de Intercambio Aceptable" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "Deja tu Telegram si estás de acuerdo con ser contactado para un seguimiento rápido" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized PnL" -msgstr "" +msgstr "PnL No Realizado" #: src/pages/Dashboard/OverviewCard.tsx msgid "This value may be higher on other websites due to the collateral of positions being included in the calculation." -msgstr "" +msgstr "Este valor puede ser mayor en otros sitios web debido a que la garantía de posiciones se incluye en el cálculo." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/pages/Stake/GlpCard.tsx @@ -881,7 +887,7 @@ msgstr "Recompensas" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Liq. {0} {longOrShortText}" -msgstr "" +msgstr "Liq. {0} {longOrShortText}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -905,44 +911,44 @@ msgstr "Página de Gobernanza GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Money Market" -msgstr "" +msgstr "Mercado Monetario Descentralizado" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Stop Price" -msgstr "" +msgstr "Precio Stop" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "using GLV and GM tokens. Buying or staking GMX, or using referrals, is not supported at this time." -msgstr "" +msgstr "usando tokens GLV y GM. Comprar o stakear GMX, o usar referidos, no está soportado en este momento." #: src/pages/AccountDashboard/HistoricalLists.tsx msgid "Positions ({positionsCount})" -msgstr "" +msgstr "Posiciones ({positionsCount})" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Trade GMX</0>" -msgstr "" +msgstr "<0>Opera GMX</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "As network fees have increased, an additional network fee is needed." -msgstr "" +msgstr "Dado que las comisiones de red han aumentado, se necesita una comisión de red adicional." #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited" -msgstr "" +msgstr "Depositado" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Limit: Swap tokens when the trigger price is reached." -msgstr "" +msgstr "Límite de Intercambio: Intercambia tokens cuando se alcanza el precio de activación." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP have been reserved for vesting." -msgstr "{0} GLP se han reservado para adquisiciones." +msgstr "{0} GLP se han reservado para adquisición." #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Selling {symbol}..." -msgstr "" +msgstr "Vendiendo {symbol}..." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -951,7 +957,7 @@ msgstr "Compra con {0}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Asset Management" -msgstr "" +msgstr "Gestión de Activos" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding..." @@ -959,7 +965,7 @@ msgstr "Añadiendo..." #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX {VERSION_NAME} {networkName} actions for all accounts." -msgstr "" +msgstr "Acciones GMX {VERSION_NAME} {networkName} para todas las cuentas." #: src/components/Exchange/ConfirmationBox.jsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met" @@ -967,7 +973,7 @@ msgstr "Puede que no haya suficiente liquidez disponible para ejecutar tu orden #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow <0>BTCUSD</0> price in real-time, along with other currency pair rates. The interactive charts offer advanced tools and a user-friendly interface for easier market analysis and decision-making." -msgstr "" +msgstr "GMX usa TradingView para proporcionar gráficos de criptomonedas en tiempo real, para que puedas seguir fácilmente el precio <0>BTCUSD</0> en tiempo real, junto con otras tasas de pares de monedas. Los gráficos interactivos ofrecen herramientas avanzadas y una interfaz amigable para un análisis de mercado y toma de decisiones más fácil." #: src/components/Glp/SwapErrorModal.tsx msgid "Swap on 1inch" @@ -975,15 +981,15 @@ msgstr "Intercambiar en 1inch" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Coingecko" -msgstr "" +msgstr "Abrir {0} en Coingecko" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buy {operationTokenSymbol}" -msgstr "" +msgstr "Comprar {operationTokenSymbol}" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy GM: {0}" -msgstr "" +msgstr "Comprar GM: {0}" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx @@ -993,35 +999,35 @@ msgstr "Capitalización de Mercado" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settled" -msgstr "" +msgstr "Comisiones {positionName} liquidadas" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average leverage used." -msgstr "" +msgstr "Apalancamiento promedio utilizado." #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/TotalRewardsCard.tsx msgid "Escrowed GMX" -msgstr "" +msgstr "GMX en Escrow" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX for Liquidity Providers. For security reasons, we won't contact you first. Please send the message \"I’m a Liquidity Provider\" to our official telegram account:" -msgstr "" +msgstr "Queremos tus insights para ayudar a mejorar GMX para Proveedores de Liquidez. Por razones de seguridad, no te contactaremos primero. Por favor, envía el mensaje \"Soy un Proveedor de Liquidez\" a nuestra cuenta oficial de Telegram:" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Insufficient Liquidity" -msgstr "" +msgstr "Liquidez Insuficiente" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "The max network fee is overestimated, including by the buffer set under settings. Upon execution, any excess network fee is sent back to your account." -msgstr "" +msgstr "La comisión máxima de red está sobreestimada, incluyendo el buffer establecido en ajustes. Al ejecutarse, cualquier exceso de comisión de red se envía de vuelta a tu cuenta." #: src/components/Synthetics/GmList/GmListItem.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "TVL (Supply)" -msgstr "" +msgstr "TVL (Suministro)" #: src/components/ModalViews/RedirectModal.tsx msgid "Alternative links can be found in the <0>docs</0>.<1/><2/>By clicking Agree you accept the <3>T&Cs</3> and <4>Referral T&Cs</4>.<5/><6/>" @@ -1029,11 +1035,11 @@ msgstr "Links alternativos pueden encontrarse en <0>docs</0>.<1/><2/>Haciendo cl #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "All Time" -msgstr "" +msgstr "Todo el Tiempo" #: src/components/Referrals/referralsHelper.js msgid "The referral code can't be more than {MAX_REFERRAL_CODE_LENGTH} characters." -msgstr "El código de referido no puede tener más de {MAX_REFERRAL_CODE_LENGTH} letras." +msgstr "El código de referido no puede tener más de {MAX_REFERRAL_CODE_LENGTH} caracteres." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx @@ -1048,32 +1054,32 @@ msgstr "Fundamentales de GMX" msgid "Referral Code" msgstr "Código de Referido" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" -msgstr "" +msgstr "Gráficos por TradingView" #: src/pages/Stake/TotalRewardsCard.tsx msgid "GMX Staked Rewards" -msgstr "" +msgstr "Recompensas GMX Stakeadas" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Staked Tokens" -msgstr "" +msgstr "Tokens Stakeados" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Beefy" -msgstr "" +msgstr "Beefy" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake completed!" -msgstr "" +msgstr "¡Destake completado!" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/MinReceiveRow.tsx msgid "Min. Receive" -msgstr "Min. a Recibir" +msgstr "Mín. a Recibir" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Estimated Fee Refund" @@ -1081,15 +1087,15 @@ msgstr "Reembolso de Comisión Estimado" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Swaps" -msgstr "" +msgstr "Intercambios GMX" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivating..." -msgstr "" +msgstr "Desactivando..." #: src/components/Header/HomeHeaderLinks.tsx msgid "Protocol" -msgstr "" +msgstr "Protocolo" #: src/pages/Dashboard/OverviewCard.tsx msgid "Overview" @@ -1097,12 +1103,12 @@ msgstr "Resumen" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Allow all my tokens to be transferred to a new account" -msgstr "" +msgstr "Permitir que todos mis tokens se transfieran a una nueva cuenta" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche Max. APY: {0}" -msgstr "" +msgstr "APY Máx. Avalanche: {0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrdersList.jsx @@ -1120,19 +1126,19 @@ msgstr "Garantía" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Market" -msgstr "" +msgstr "Cancelar Mercado Stop" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit" -msgstr "" +msgstr "Ejecutar Límite" #: src/components/AprInfo/AprInfo.tsx msgid "Base APY" -msgstr "" +msgstr "APY Base" #: src/components/TokenCard/TokenCard.tsx msgid "GMX V1 markets are disabled. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "Los mercados GMX V1 están desactivados. GLP se está eliminando gradualmente y ya no soporta mercados GMX V1." #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -1150,26 +1156,32 @@ msgstr "Vender GLP" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." -msgstr "" +msgstr "Dado que la garantía de tu posición está en {symbol}, con un valor inicial superior al tamaño de la posición larga {indexName}, el valor de la garantía cubrirá cualquier PnL negativo, por lo que no hay precio de liquidación." + +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "CSV" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." -msgstr "" +msgstr "Liq. Corto" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Time limit expired." -msgstr "" +msgstr "Trading en Un Clic desactivado. Límite de tiempo expirado." #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {composition} as per the composition displayed." -msgstr "" +msgstr "Este token acumula automáticamente comisiones de trading con apalancamiento e intercambios para el mercado {0}. También está expuesto a {composition} según la composición mostrada." #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Buy Fee" -msgstr "" +msgstr "Comisión de Compra" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "Tokens" @@ -1179,27 +1191,23 @@ msgstr "Solicitar Retiro" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "1inch" -msgstr "" - -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "" +msgstr "1inch" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" -msgstr "" +msgstr "Copiado" #: src/components/Exchange/PositionEditor.jsx msgid "Requested deposit of {0} {1} into {2} {longOrShortText}." -msgstr "" +msgstr "Depósito solicitado de {0} {1} en {2} {longOrShortText}." #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid TWAP number of parts value" -msgstr "" +msgstr "Valor inválido de número de partes TWAP" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid network fee buffer value" -msgstr "" +msgstr "Valor inválido de buffer de comisión de red" #: src/components/Exchange/TradeHistory.jsx msgid "Request deposit into {0} {longOrShortText}" @@ -1207,41 +1215,41 @@ msgstr "Solicitar depósito en {0} {longOrShortText}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "0x" -msgstr "" +msgstr "0x" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "FUNDING FEE" -msgstr "" +msgstr "COMISIÓN DE FINANCIACIÓN" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Markets" -msgstr "" +msgstr "Mercados" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Real-time rants about GMX Trades" -msgstr "" +msgstr "Rants en tiempo real sobre Operaciones GMX" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "The total realized and unrealized profit and loss for the period, considering price impact and fees but excluding swap fees." -msgstr "" +msgstr "El PnL total realizado y no realizado para el período, considerando impacto de precio y comisiones pero excluyendo comisiones de intercambio." #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V2" -msgstr "" +msgstr "Volumen en V2" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show less" -msgstr "" +msgstr "Mostrar menos" #: src/pages/Stake/Vesting.tsx msgid "Vest" -msgstr "" +msgstr "Adquirir" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in the GLP pools." -msgstr "" +msgstr "Valor total de tokens en las reservas GLP." #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Select pool" @@ -1258,7 +1266,7 @@ msgstr "APR" #: src/pages/NftWallet/NftWallet.jsx msgid "Tranferring..." -msgstr "" +msgstr "Transfiriendo..." #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx @@ -1281,14 +1289,14 @@ msgstr "Intercambio activo: {0}, ejecutado: {1}, cancelado: {2}" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Buy token on:" -msgstr "" +msgstr "Comprar token en:" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Price Impact" -msgstr "" +msgstr "Impacto de Precio Realizado" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit Swap" @@ -1296,7 +1304,11 @@ msgstr "Intercambio Límite Fallido" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Liq. {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "Liq. {longOrShortText} - {marketIndexName}" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "Acciones" #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." @@ -1308,11 +1320,11 @@ msgstr "Total de Reembolsos" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {1} and {2} as per the composition displayed." -msgstr "" +msgstr "Este token acumula automáticamente comisiones de trading con apalancamiento e intercambios para el mercado {0}. También está expuesto a {1} y {2} según la composición mostrada." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min order: {0}" -msgstr "" +msgstr "Orden mín.: {0}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -1321,44 +1333,44 @@ msgstr "El monedero no está conectado" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "TWAP Swap" -msgstr "" +msgstr "Intercambio TWAP" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GM is the liquidity provider token for GMX V2 markets. Accrues 63% of the V2 markets generated fees." -msgstr "" +msgstr "GM es el token de proveedor de liquidez para mercados GMX V2. Acumula 63% de las comisiones generadas por mercados V2." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider adding a buffer of 0.30% to it so the order is more likely to be processed." -msgstr "" +msgstr "El impacto de precio actual es {0}. Considera agregar un buffer de 0.30% para que la orden sea más probable que se procese." #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Hide error" -msgstr "" +msgstr "Ocultar error" #: src/components/Referrals/TradersStats.tsx msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." -msgstr "" +msgstr "El propietario de este Código de Referido ha establecido un descuento personalizado de {currentTierDiscount}% en lugar del estándar {0}% para Nivel {1}." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "Tu monedero, tus claves. Firmas cada transacción on-chain usando tu propio RPC, típicamente proporcionado por tu monedero. Pagos de gas en ETH." #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" -msgstr "" +msgstr "Posición sobrante por debajo de 10 USD" #: src/config/bridging.tsx msgid "Mint tBTC using BTC with <0>Threshold</0>." -msgstr "" +msgstr "Acuña tBTC usando BTC con <0>Threshold</0>." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Price Impact" -msgstr "" +msgstr "Impacto de Precio de Intercambio" #: src/domain/synthetics/userFeedback/utils.ts msgid "What issues did you encounter that led to your rating?" -msgstr "" +msgstr "¿Qué problemas encontraste que llevaron a tu calificación?" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Address" @@ -1366,41 +1378,41 @@ msgstr "Dirección NFT" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancelled." -msgstr "" +msgstr "{orderText} cancelada." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} Reservas GLV están <0>incentivizadas{sparkle}.</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Set Max Leverage" -msgstr "" +msgstr "Establecer Apalancamiento Máx." #: src/components/Exchange/PositionSeller.jsx msgid "Insufficient Available Liquidity to swap to {0}:" -msgstr "" +msgstr "Liquidez Disponible Insuficiente para intercambiar a {0}:" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Created At" -msgstr "" +msgstr "Creado En" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Symbiosis" -msgstr "" +msgstr "Symbiosis" #: src/components/TokenSelector/TokenSelector.tsx msgid "No tokens matched." -msgstr "" +msgstr "No se encontraron tokens coincidentes." #: src/components/Exchange/TradeHistory.jsx msgid "Withdraw {0} USD from {1}{longOrShortText}" -msgstr "" +msgstr "Retirar {0} USD de {1}{longOrShortText}" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "{orderTypeLabel} {positionText}, -{0}" -msgstr "" +msgstr "{orderTypeLabel} {positionText}, -{0}" #: src/pages/PageNotFound/PageNotFound.jsx #: src/pages/PageNotFound/PageNotFound.jsx @@ -1415,9 +1427,14 @@ msgstr "Bot de Telegram para actualización de posiciones GMX" msgid "account" msgstr "cuenta" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" +msgstr "" + #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Keep leverage at {0}" -msgstr "" +msgstr "Mantener apalancamiento en {0}" #: src/components/Exchange/SwapBox.jsx msgid "If you have an existing position, the position will be closed at {0} USD.<0/><1/>This exit price will change with the price of the asset.<2/><3/><4>Read more</4>." @@ -1425,7 +1442,7 @@ msgstr "Si tienes una posición existente, la posición se cerrará a {0} USD.<0 #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAIL. LIQ." -msgstr "" +msgstr "LIQ. DISP." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer Submitted" @@ -1433,17 +1450,17 @@ msgstr "Transferencia Enviada" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Action limit exceeded." -msgstr "" +msgstr "Trading en Un Clic desactivado. Límite de acciones superado." #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Shift GM" -msgstr "" +msgstr "Shift GM" #: src/components/Exchange/PositionEditor.jsx msgid "Requested withdrawal of {0} USD from {1} {longOrShortText}." -msgstr "" +msgstr "Retiro solicitado de {0} USD de {1} {longOrShortText}." #: src/pages/Exchange/Exchange.tsx msgid "Could not increase {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." @@ -1452,15 +1469,15 @@ msgstr "No se pudo incrementar {tokenSymbol} {longOrShortText} con el deslizamie #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swapped {0} for {1}" -msgstr "" +msgstr "Intercambiado {0} por {1}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Tier {0} ({currentRebatePercentage}% rebate)" -msgstr "" +msgstr "Nivel {0} ({currentRebatePercentage}% reembolso)" #: src/components/NotifyModal/NotifyModal.tsx msgid "Discover GMX Alerts" -msgstr "" +msgstr "Descubre Alertas GMX" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -1474,11 +1491,11 @@ msgstr "Falló la creación de la Orden de Intercambio." #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Chart positions" -msgstr "Posiciones en gráfca" +msgstr "Posiciones en gráfica" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Unknown Order" -msgstr "" +msgstr "Orden Desconocida" #: src/components/Exchange/ConfirmationBox.jsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity" @@ -1486,7 +1503,7 @@ msgstr "La orden sólo se ejecutará si las condiciones de precio se alcanzan y #: src/components/Exchange/FeesTooltip.tsx msgid "Swap Fee" -msgstr "" +msgstr "Comisión de Intercambio" #: src/components/Glp/GlpSwap.jsx msgid "GLP sell disabled, pending {0} upgrade" @@ -1494,7 +1511,7 @@ msgstr "Venta de GLP desactivada, actualización {0} pendiente" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient receive token liquidity" -msgstr "" +msgstr "Liquidez de token de recepción insuficiente" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements and Updates" @@ -1502,7 +1519,7 @@ msgstr "Anuncios y Actualizaciones de GMX" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit Swap" -msgstr "Actualizar swap límite" +msgstr "Actualizar intercambio límite" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "fee" @@ -1513,34 +1530,34 @@ msgstr "comisión" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche Fuji" -msgstr "" +msgstr "V2 Avalanche Fuji" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order cancelled" -msgstr "" +msgstr "Orden shift cancelada" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order executed" -msgstr "" +msgstr "Orden ejecutada" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Select Positions" -msgstr "" +msgstr "Seleccionar Posiciones" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "Estarás largo en {indexSymbol} desde tu posición larga, mientras estás largo en {collateralSymbol} desde tu garantía {collateralSymbol}. El precio de liquidación variará basado en el precio de {collateralSymbol}." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Failed to update order(s)" -msgstr "" +msgstr "Falló la actualización de orden(es)" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche" -msgstr "" +msgstr "V2 Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Decrease" @@ -1548,7 +1565,7 @@ msgstr "Reducción de Mercado Fallida" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Full market" -msgstr "" +msgstr "Mercado completo" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Wallet" @@ -1560,7 +1577,7 @@ msgstr "Página de votación de propuestas GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy ETH directly on <0>Arbitrum</0> using these options:" -msgstr "" +msgstr "Puedes comprar ETH directamente en <0>Arbitrum</0> usando estas opciones:" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -1598,80 +1615,89 @@ msgstr "Valor Neto" #: src/components/Synthetics/TableMarketFilter/MarketFilterBase.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Search Market" -msgstr "" +msgstr "Buscar Mercado" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the current price impact and set allowed slippage. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "El precio aceptable de la orden incluye el impacto de precio actual y el deslizamiento permitido establecido. El precio de ejecución debe cumplir esta condición para que la orden se ejecute." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be higher than the limit price." -msgstr "" +msgstr "Una vez que el precio de referencia alcance el precio límite, la orden intentará ejecutarse, garantizando el precio aceptable, que incluye el impacto de precio aceptable establecido. Nota que si hay un impacto de precio negativo, el precio de referencia puede necesitar ser mayor que el precio límite." #: src/components/Synthetics/Claims/ClaimsHistory.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Transaction ID" -msgstr "Transacción ID" +msgstr "ID de Transacción" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx msgid "Borrow Fee / Day" -msgstr "Tasa de Préstamo / Día" +msgstr "Comisión de Préstamo / Día" #: src/components/SettingsModal/SettingsModal.tsx msgid "Number of parts must be between {MIN_TWAP_NUMBER_OF_PARTS} and {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "El número de partes debe estar entre {MIN_TWAP_NUMBER_OF_PARTS} y {MAX_TWAP_NUMBER_OF_PARTS}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Chinese)" -msgstr "" +msgstr "GMX (Chino)" + +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "Buscar" #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" -msgstr "El precio se encuentra por debajo del precio de referencia" +msgstr "El precio está por debajo del Precio de Referencia" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GMX Vault" -msgstr "" +msgstr "Retirar de Bóveda GMX" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal submitted." -msgstr "" +msgstr "Retiro enviado." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Referral Discount" -msgstr "" +msgstr "Descuento de Referido" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee or a borrow fee." -msgstr "" +msgstr "Las posiciones {longOrShort} no pagan comisión de financiación ni comisión de préstamo." #: src/pages/Dashboard/OverviewCard.tsx msgid "Fees for the past" -msgstr "" +msgstr "Comisiones para el pasado" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizations" -msgstr "" +msgstr "Optimizaciones de Rendimiento" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive (Approximate)" -msgstr "" +msgstr "Recibir (Aproximado)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "No swap path found" -msgstr "" +msgstr "No se encontró ruta de intercambio" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "RPnL" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "Los stop losses combinados están al máximo (100%). Reduce valores existentes para agregar más órdenes." #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "4-18 Places" -msgstr "" +msgstr "4-18 Lugares" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "MARKETS" @@ -1680,15 +1706,15 @@ msgstr "MERCADOS" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Max {0}" -msgstr "" +msgstr "Máx. {0}" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {marketName} market. It is also exposed to {exposedToLabel} as per the composition displayed." -msgstr "" +msgstr "Este token acumula automáticamente comisiones de trading con apalancamiento e intercambios para el mercado {marketName}. También está expuesto a {exposedToLabel} según la composición mostrada." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Withdrew {0} from {positionText}" -msgstr "" +msgstr "Retirado {0} de {positionText}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Create Order" @@ -1700,7 +1726,7 @@ msgstr "Utilización" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {0} for {1}" -msgstr "" +msgstr "{orderTypeText} {0} por {1}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GLP Vesting Vault" @@ -1708,19 +1734,19 @@ msgstr "El remitente ha retirado todos los tokens del Baúl de Adquisición GLP" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Profit Fee" -msgstr "" +msgstr "Alta Comisión de Beneficio de Intercambio" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "WARNING: This position has a low amount of collateral after deducting fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "" +msgstr "ADVERTENCIA: Esta posición tiene una cantidad baja de garantía después de deducir comisiones, deposita más garantía para reducir el riesgo de liquidación de la posición." #: src/components/Exchange/SwapBox.jsx msgid "Max {0} long capacity" -msgstr "Capacidad Máx. {0} largos" +msgstr "Capacidad larga Máx. {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "" +msgstr "Introduce un precio" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Account" @@ -1728,7 +1754,7 @@ msgstr "Cuenta" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available for wrapping or unwrapping native token {0}." -msgstr "" +msgstr "Trading Express no está disponible para wrapping o unwrapping de token nativo {0}." #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1736,20 +1762,20 @@ msgstr "" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Close Fee" -msgstr "" +msgstr "Comisión de Cierre" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Airdrop" -msgstr "" +msgstr "Airdrop V1" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX" -msgstr "" +msgstr "GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Uniswap or directly on GMX (make sure to select Arbitrum):" -msgstr "" +msgstr "Compra GMX desde Uniswap o directamente en GMX (asegúrate de seleccionar Arbitrum):" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Close to execution price" @@ -1758,22 +1784,21 @@ msgstr "Cerrar al precio de ejecución" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." -msgstr "" +msgstr "Trading Express y en Un Clic no disponibles debido a saldo de gas insuficiente." -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "" +#~ msgid "Global Leaderboard" +#~ msgstr "Tabla de Líderes Global" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" -msgstr "" +msgstr "Tamaño mín. por parte: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above liq. price" -msgstr "" +msgstr "Precio de activación por encima del precio de liq." #: src/pages/Home/Home.tsx msgid "Simple Swaps" @@ -1782,11 +1807,11 @@ msgstr "Intercambios Simples" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "No results found" -msgstr "" +msgstr "No se encontraron resultados" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Pair" -msgstr "" +msgstr "Par" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx @@ -1796,11 +1821,11 @@ msgstr "Máx. {0} fuera" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing shorts or<1/>decreasing longs for this size." -msgstr "" +msgstr "No hay impacto de precio. Hay un precio de ejecución único para aumentar cortos o<0/>reducir largos para este tamaño." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Option-based Vaults" -msgstr "" +msgstr "Bóvedas Basadas en Opciones" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -1813,11 +1838,11 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Mark" -msgstr "" +msgstr "Referencia" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage at {keepLeverageAtValue}" -msgstr "" +msgstr "Mantener apalancamiento en {keepLeverageAtValue}" #: src/pages/Dashboard/GmxCard.tsx msgid "not staked" @@ -1825,29 +1850,30 @@ msgstr "no stakeado" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 2" -msgstr "" +msgstr "Capa 2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates Distribution History" -msgstr "Historial de distribución de reembolsos" +msgstr "Historial de Distribución de Reembolsos" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Negative Funding Fee" -msgstr "" +msgstr "Comisión de Financiación Negativa Acumulada" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit not checked" msgstr "Renuncia de ganancias no marcada" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" -msgstr "" +msgstr "Comprar GM" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of close fee" -msgstr "" +msgstr "de comisión de cierre" #: src/components/Exchange/TradeHistory.jsx msgid "Increase {0} {longOrShortText}, +{1} USD, {2} Price: {3} USD" @@ -1859,11 +1885,11 @@ msgstr "La dirección del token esGMX (IOU) es {esGmxIouAddress}." #: src/components/NotifyModal/NotifyModal.tsx msgid "GMX Alerts" -msgstr "" +msgstr "Alertas GMX" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Show details" -msgstr "" +msgstr "Mostrar detalles" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -1872,47 +1898,47 @@ msgstr "Para reducir las comisiones, seleccione un activo diferente con el que p #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be lower than the limit price." -msgstr "" +msgstr "Una vez que el precio de referencia alcance el precio límite, la orden intentará ejecutarse, garantizando el precio aceptable, que incluye el impacto de precio aceptable establecido. Nota que si hay un impacto de precio negativo, el precio de referencia puede necesitar ser menor que el precio límite." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy {0}" -msgstr "" +msgstr "Comprar {0}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "USD Value may not be accurate since the data does not contain prices for {0}" -msgstr "" +msgstr "Valor USD puede no ser preciso ya que los datos no contienen precios para {0}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Blueberry Club" -msgstr "" +msgstr "Club Blueberry GMX" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Cumulative PnL" -msgstr "" +msgstr "PnL Acumulativo" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum Max. APY:" -msgstr "" +msgstr "APY Máx. Arbitrum:" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity for your Account:" -msgstr "" +msgstr "Capacidad de la Bóveda para tu Cuenta:" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" -msgstr "" +msgstr "{0, plural, one {Cancelar orden} other {Cancelar # órdenes}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" -msgstr "" +msgstr "Mostrar PnL Después de Comisiones" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol risk explorer and stats" -msgstr "" +msgstr "Explorador de riesgos de protocolo y estadísticas" #: src/components/Exchange/PositionShareCard.tsx msgid "Generating shareable image..." @@ -1928,7 +1954,7 @@ msgstr "Generando imagen para compartir..." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Borrow Fee" -msgstr "Tasa de Préstamo" +msgstr "Comisión de Préstamo" #: src/components/Glp/GlpSwap.jsx msgid "Buy submitted." @@ -1936,7 +1962,7 @@ msgstr "Compra enviada." #: src/pages/Stake/Stake.tsx msgid "Incentives & Prizes" -msgstr "" +msgstr "Incentivos y Premios" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you sell GLP for. <0/>Enter the amount of GLP you want to redeem in the order form, then check here to compare fees." @@ -1944,12 +1970,13 @@ msgstr "Las comisiones pueden variar dependiendo del activo por el que vendas GL #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{txnTypeText} {0} order for" -msgstr "" +msgstr "{txnTypeText} {0} orden para" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." -msgstr "" +msgstr "El valor USD de las comisiones se calcula en el momento en que se ganan y no incluye incentivos." +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1959,7 +1986,7 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max" -msgstr "" +msgstr "Máx." #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -1969,32 +1996,33 @@ msgstr "Comprobando código..." #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" -msgstr "" +msgstr "Reservas GM" #: src/components/Exchange/SwapBox.jsx msgid "There is a \"Close\" button on each position row, clicking it will display the option to close positions via market orders." -msgstr "" +msgstr "Hay un botón \"Cerrar\" en cada fila de posición, al hacer clic se mostrará la opción de cerrar posiciones vía órdenes de mercado." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity." -msgstr "" +msgstr "La orden sólo se ejecutará si las condiciones de precio se alcanzan y hay suficiente liquidez." #: src/pages/Referrals/Referrals.tsx msgid "Affiliates" -msgstr "" +msgstr "Afiliados" #: src/pages/Stake/Vesting.tsx msgid "Convert esGMX tokens to GMX tokens.<0/>Please read the <1>vesting details</1> before using the vaults." -msgstr "" +msgstr "Convierte tokens esGMX a tokens GMX.<0/>Por favor lee los <1>detalles de adquisición</1> antes de usar las bóvedas." #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express" -msgstr "" +msgstr "Prueba Express" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to deactivate" -msgstr "" +msgstr "Falló la desactivación" #: src/lib/legacy.ts msgid "No open position, order cannot be executed unless a position is opened" @@ -2007,15 +2035,15 @@ msgstr "Posiciones en Corto" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buying {symbol}..." -msgstr "" +msgstr "Comprando {symbol}..." #: src/components/Exchange/TradeHistory.jsx msgid "Could not increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}  USD" -msgstr "" +msgstr "No se pudo incrementar {0} {longOrShortText}, +{1} USD, Precio Aceptable: {2}  USD" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX on {chainName}" -msgstr "" +msgstr "Comprar GMX en {chainName}" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2039,8 +2067,9 @@ msgstr "Tamaño" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "Valoramos tu experiencia e insights y te invitamos a participar en un chat anónimo uno a uno." +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2063,7 +2092,7 @@ msgstr "Activando Órdenes..." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Avalanche" -msgstr "Adquiera con GLP en Avalanche" +msgstr "Adquirir con GLP en Avalanche" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "No esGMX to claim" @@ -2071,23 +2100,19 @@ msgstr "No hay esGMX para reclamar" #: src/components/Exchange/SwapBox.jsx msgid "Requested increase of {tokenSymbol} {longOrShortText} by {0} USD." -msgstr "Solicitar incremento de {tokenSymbol} {longOrShortText} en {0} USD." +msgstr "Incremento solicitado de {tokenSymbol} {longOrShortText} en {0} USD." #: src/pages/Home/Home.tsx msgid "Enter and exit positions with minimal spread and low price impact. Get the optimal price without incurring additional costs." -msgstr "" +msgstr "Entra y sale de posiciones con spread mínimo e impacto de precio bajo. Obtén el precio óptimo sin incurrir en costos adicionales." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b trading incentives" -msgstr "" +msgstr "Incentivos de trading STIP.b" #: src/components/Exchange/ConfirmationBox.jsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "" +msgstr "Puedes editar el Deslizamiento Permitido predeterminado en el menú de ajustes en la esquina superior derecha de la página.<0/><1/>Nota que un deslizamiento permitido bajo, p.ej. menor que {0}, puede resultar en órdenes fallidas si los precios son volátiles." #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." @@ -2095,7 +2120,7 @@ msgstr "<0>Leer más</0> sobre comisiones." #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The execution price may vary depending on swap fees at the time the order is executed." -msgstr "Tu recibirás al menos {0} {1} si esta orden se ejecuta. El precio de ejecución puede variar dependiendo de las comisiones de intercambio en el momento en el que la orden es ejecutada." +msgstr "Recibirás al menos {0} {1} si esta orden se ejecuta. El precio de ejecución puede variar dependiendo de las comisiones de intercambio en el momento en el que la orden es ejecutada." #: src/components/Exchange/SwapBox.jsx msgid "Limit order creation failed." @@ -2103,11 +2128,11 @@ msgstr "Falló la creación de la orden límite." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics" -msgstr "" +msgstr "Dune Analytics" #: src/domain/synthetics/trade/utils/validation.ts msgid "There isn't enough GM: {0} [{1}] liquidity in GLV to fulfill your sell request. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "No hay suficiente liquidez GM: {0} [{1}] en GLV para cumplir con tu solicitud de venta. Por favor, elige una reserva diferente, reduce el tamaño de venta o divide tu retiro en múltiples reservas." #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -2116,16 +2141,16 @@ msgstr "Aprobando {0}..." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Deposited {0} into {positionText}" -msgstr "" +msgstr "Depositado {0} en {positionText}" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Tu monedero, tus claves. GMX ejecuta transacciones por ti sin firma individual, proporcionando una experiencia fluida similar a CEX. Las operaciones usan RPCs premium patrocinados por GMX para fiabilidad, incluso durante congestión de red. Pagos de gas en USDC o WETH." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Funding Fees" -msgstr "" +msgstr "Reclamar Comisiones de Financiación" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates are airdropped weekly." @@ -2133,7 +2158,7 @@ msgstr "Los reembolsos son entregados semanalmente." #: src/components/SettingsModal/SettingsModal.tsx msgid "Display Settings" -msgstr "" +msgstr "Ajustes de Visualización" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "Total:" @@ -2145,20 +2170,20 @@ msgstr "¡{0} Aprobado!" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to STBTC</0> to use {1} as collateral." -msgstr "" +msgstr "No hay ruta de intercambio disponible. <0>Intercambia {0} a STBTC</0> para usar {1} como garantía." #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Provide liquidity</0> and earn {gmxMarketApyDataText} APY" -msgstr "" +msgstr "<0>Proporciona liquidez</0> y gana {gmxMarketApyDataText} APY" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Address" -msgstr "" +msgstr "Dirección" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "" +#~ msgid "Winner:" +#~ msgstr "Ganador:" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" @@ -2167,15 +2192,15 @@ msgstr "Volumen Total de Operaciones" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx msgid "Collateral Spread" -msgstr "" +msgstr "Spread de Garantía" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing limit order with {symbol} as collateral. <0>Switch to {symbol} collateral</0>." -msgstr "" +msgstr "Tienes una orden límite existente con {symbol} como garantía. <0>Cambiar a garantía {symbol}</0>." #: src/components/Header/Header.tsx msgid "Trade on GMX V2 in Arbitrum and win 280,000 ARB (> $500k) in prizes in <0>two weekly</0> competitions. Live from March 13th to 27th." -msgstr "" +msgstr "Opera en GMX V2 en Arbitrum y gana 280,000 ARB (> $500k) en premios en <0>dos competiciones semanales</0>. En vivo del 13 al 27 de marzo." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Index" @@ -2192,23 +2217,23 @@ msgstr "Compra de GLP desactivada, actualización {0} pendiente" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" -msgstr "" +msgstr "<0>Error al enviar orden.</0><1/><2>Dirección de firmante no coincide con dirección de receptor.</2><3/><4>Por favor, recarga la página e inténtalo de nuevo.</4>" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" -msgstr "" +msgstr "Modo de Trading" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please try changing the RPC url in your wallet settings with the help of <2>chainlist.org</2>.<3/><4/><5>Read more</5>." -msgstr "" +msgstr "Transacción fallida debido a error RPC.<0/><1/>Por favor, intenta cambiar la URL RPC en los ajustes de tu monedero con la ayuda de <2>chainlist.org</2>.<3/><4/><5>Leer más</5>." #: src/components/Exchange/PositionSeller.jsx msgid "You have an active order to decrease {longOrShortText} {sizeInToken} {0} (${1}) at {prefix} {2}" -msgstr "" +msgstr "Tienes una orden activa para reducir {longOrShortText} {sizeInToken} {0} (${1}) en {prefix} {2}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} sellable amount exceeded" -msgstr "" +msgstr "Cantidad máxima vendible de {0} superada" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -2221,7 +2246,7 @@ msgstr "Transferir NFT" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit failed." -msgstr "" +msgstr "Falló la activación de depósito." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GMX tokens before" @@ -2229,7 +2254,7 @@ msgstr "El receptor no ha stakeado tokens GMX antes" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX Swaps monitoring" -msgstr "" +msgstr "Bot de Telegram para monitoreo de Intercambios GMX" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "LIQUIDITY" @@ -2250,7 +2275,7 @@ msgstr "Intercambios" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Allow {0} to be spent" -msgstr "" +msgstr "Permitir gastar {0}" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order created!" @@ -2258,21 +2283,21 @@ msgstr "¡Orden de Intercambio creada!" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "POSITION" -msgstr "" +msgstr "POSICIÓN" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Trading Volume" -msgstr "" +msgstr "Volumen de Trading" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing limit order in the {0} market pool but it lacks liquidity for this order." -msgstr "" +msgstr "Tienes una orden límite existente en la reserva de mercado {0} pero carece de liquidez para esta orden." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Reserved for Vesting" -msgstr "" +msgstr "Reservado para Adquisición" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -2283,43 +2308,48 @@ msgstr "Actualizar" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DODO" -msgstr "" +msgstr "DODO" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Your transfer has been initiated." -msgstr "Su transferencia ha sido iniciada." +msgstr "Tu transferencia ha sido iniciada." #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Estimated annualized fees generated by trading activity (open, close, borrow, liquidations, swaps) over the selected period. Does not include backing token price changes, trading PnL, or funding fees.<0/><1/>For detailed stats and comparisons, see the <2>GMX V2 LP Dashboard</2>." -msgstr "" +msgstr "Comisiones anualizadas estimadas generadas por actividad de trading (apertura, cierre, préstamo, liquidaciones, intercambios) durante el período seleccionado. No incluye cambios de precio de tokens de respaldo, PnL de trading o comisiones de financiación.<0/><1/>Para estadísticas detalladas y comparaciones, consulta el <2>Panel GMX V2 LP</2>." #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Risk Alerts" -msgstr "" +msgstr "Alertas de Riesgo de Liquidación" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settling" -msgstr "" +msgstr "Liquidando comisiones {positionName}" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" msgstr "{existingTriggerOrderLength, plural, one {Tienes activa una orden de activación que podría impactar esta posición.} other {Tienes # órdenes de activación activas que podrían impactar esta posición.}}" +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "<0>{0}</0> tokens GMX pueden ser reclamados, usa las opciones en la sección de Recompensas Totales para reclamarlos." + #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" -msgstr "" +msgstr "Orden de shift ejecutada" #: src/pages/Stake/VesterDepositModal.tsx msgid "You need a total of at least {0} {stakeTokenLabel} to vest {1} esGMX." -msgstr "" +msgstr "Necesitas un total de al menos {0} {stakeTokenLabel} para adquirir {1} esGMX." #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} USDG for{1} {2}" -msgstr "" +msgstr "Intercambiar {0} USDG por{1} {2}" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "{0} will be swapped to {1} on order execution." -msgstr "" +msgstr "{0} se intercambiará a {1} en la ejecución de la orden." #. Button to clear the filter selection #: src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx @@ -2328,24 +2358,24 @@ msgstr "Limpiar selección" #: src/domain/synthetics/orders/utils.tsx msgid "The order will not be executed as its trigger price is beyond the position's liquidation price." -msgstr "" +msgstr "La orden no se ejecutará ya que su precio de activación está más allá del precio de liquidación de la posición." #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Failed to cancel {ordersText}" -msgstr "" +msgstr "Fallo al cancelar {ordersText}" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Corto Stop Mercado: {0} una posición corta cuando el precio está por debajo del precio de activación." #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." msgstr "El precio de referencia ha cambiado, considera incrementar el deslizamiento permitido haciendo clic en el icono \"...\" al lado de tu dirección." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" -msgstr "" +msgstr "Deslizamiento Permitido Predeterminado" #. Total Value Locked #: src/components/Synthetics/MarketsList/MarketsList.tsx @@ -2355,7 +2385,7 @@ msgstr "TVL" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Shift Fee" -msgstr "" +msgstr "Tarifa de Shift" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/OverviewCard.tsx @@ -2369,15 +2399,15 @@ msgstr "Cancelación enviada." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Traderjoe:" -msgstr "" +msgstr "Comprar GMX en Traderjoe:" #: src/pages/Actions/ActionsRouter.tsx msgid "V1 is not supported on {chainName}. Please switch to Arbitrum to use V1." -msgstr "" +msgstr "V1 no es compatible en {chainName}. Por favor, cambia a Arbitrum para usar V1." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Saulius GMX Analytics" -msgstr "" +msgstr "Saulius GMX Analytics" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -2386,29 +2416,29 @@ msgstr "" #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx msgid "{0} Price" -msgstr "{0} Precio" +msgstr "Precio de {0}" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized services" -msgstr "" +msgstr "Comprar GMX en servicios centralizados" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Bridge and swap" -msgstr "" +msgstr "Puente y intercambio" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above lowest limit price" -msgstr "" +msgstr "Precio de activación por encima del precio límite más bajo" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Borrow Fee Rate" -msgstr "" +msgstr "Tasa de Préstamo" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max number of parts: {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Número máximo de partes: {MAX_TWAP_NUMBER_OF_PARTS}" #: src/components/Header/AppHeaderUser.tsx #: src/components/Header/AppHeaderUser.tsx @@ -2423,15 +2453,23 @@ msgstr "Depositado {0} USD en {tokenSymbol} {longOrShortText}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has staked GMX/GLP before" -msgstr "" +msgstr "El receptor ha stakeado GMX/GLP antes" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling sell request" -msgstr "" +msgstr "Cumpliendo solicitud de venta" #: src/components/Exchange/TradeHistory.jsx msgid "{actionDisplay} Order" -msgstr "{actionDisplay} Orden" +msgstr "Orden {actionDisplay}" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "Gráfico de Mercado" #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" @@ -2439,31 +2477,31 @@ msgstr "Hay más largos que cortos, la tasa de préstamo para entrar a corto es #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche APR:" -msgstr "Avalanche APR:" +msgstr "APR de Avalanche:" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics for GMX" -msgstr "" +msgstr "Dune Analytics para GMX" #: src/components/Exchange/TradeHistory.jsx msgid "Could not decrease {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}" -msgstr "" +msgstr "No se pudo reducir {0} {longOrShortText}, +{1} USD, Precio Aceptable: {2}" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "NET RATE / 1 H" -msgstr "NETO TASA / 1 H" +msgstr "TASA NETA / 1 H" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Avalanche" -msgstr "Adquiera con GMX en Avalanche" +msgstr "Adquirir con GMX en Avalanche" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "Haz clic en la Posición para seleccionar su mercado, luego usa el cuadro de trading para aumentar el Tamaño de tu Posición, o para establecer Órdenes de Take Profit / Stop Loss." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Relayer request failed" -msgstr "" +msgstr "Solicitud de relayer fallida" #: src/components/Exchange/TradeHistory.jsx msgid "Request decrease {0} {longOrShortText}, -{1} USD, Acceptable Price: {2} {3} USD" @@ -2471,29 +2509,33 @@ msgstr "Solicitar reducción {0} {longOrShortText}, -{1} USD, Precio Aceptable: #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "settings updated" -msgstr "" +msgstr "ajustes actualizados" #: src/components/Exchange/SwapBox.jsx msgid "You have an existing position with {0} as collateral." -msgstr "" +msgstr "Tienes una posición existente con {0} como garantía." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Transfer Account" msgstr "Transferir Cuenta" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "" + #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" -msgstr "" +msgstr "Acciones de GMX V1" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Part" -msgstr "" +msgstr "Ejecutar Parte TWAP" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Profit Fee" -msgstr "" +msgstr "Tarifa de Beneficio de Intercambio" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Amount to claim" @@ -2501,19 +2543,19 @@ msgstr "Cantidad a reclamar" #: src/pages/Jobs/Jobs.jsx msgid "Job openings at GMX." -msgstr "Publicaciones de empleo en GMX." +msgstr "Ofertas de empleo en GMX." #: src/components/Exchange/OrderEditor.jsx msgid "Price below Mark Price" -msgstr "Precio inferior al Precio de Marca" +msgstr "Precio por debajo del Precio de Marca" #: src/components/Stake/GMXAprTooltip.tsx msgid "APRs are updated weekly on Wednesday and will depend on the fees collected for the week." -msgstr "Los APRs se actualizan semanalmente en Miércoles, y dependerán de las comisiones cobradas en la semana." +msgstr "Los APRs se actualizan semanalmente los miércoles y dependerán de las comisiones recolectadas durante la semana." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Fees (Incl. Swap)" -msgstr "" +msgstr "Comisiones (Incl. Intercambio)" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -2522,24 +2564,24 @@ msgstr "{fromText} a {toMinText}" #: src/components/Errors/errorToasts.tsx msgid "Otherwise, try changing the RPC url in your wallet settings with the help of <0>chainlist.org</0>." -msgstr "" +msgstr "De lo contrario, intenta cambiar la URL RPC en los ajustes de tu monedero con la ayuda de <0>chainlist.org</0>." #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Price above Liq. Price" -msgstr "Precio superior al de liquidación" +msgstr "Precio por encima del Precio de Liquidación" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the pay token to collateral token swap when the price conditions are met." -msgstr "" +msgstr "Es posible que no haya suficiente liquidez para ejecutar el intercambio del token de pago al token de garantía cuando se cumplan las condiciones de precio." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "User Quests" -msgstr "" +msgstr "Misiones de Usuario" #: src/components/Glp/GlpSwap.jsx msgid "{0} pool exceeded, try different token" -msgstr "{0} reserva superada, intente otro token" +msgstr "Reserva de {0} excedida, intenta otro token" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx @@ -2553,7 +2595,7 @@ msgstr "Posiciones ({0})" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake failed." -msgstr "" +msgstr "Destakeo fallido." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx @@ -2562,19 +2604,23 @@ msgstr "Orden cancelada" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Swap Liquidity to fill the Order." -msgstr "No hay suficiente liquidez de intercambio disponible para llenar la orden." +msgstr "No hay suficiente Liquidez de Intercambio Disponible para llenar la Orden." #: src/pages/Stake/Stake.tsx msgid "Earn prizes by participating in GMX Trading Competitions." -msgstr "" +msgstr "Gana premios participando en Competencias de Trading de GMX." + +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "Contraer" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" -msgstr "Confirma orden a Largo" +msgstr "Confirmar Largo" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Arbitrum" -msgstr "" +msgstr "Traders Referidos en Arbitrum" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -2590,11 +2636,11 @@ msgstr "Transacción enviada." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter up to 10 coins" -msgstr "" +msgstr "Ingresa hasta 10 monedas" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Backing Tokens" -msgstr "" +msgstr "Exposición a Tokens de Respaldo" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Creating..." @@ -2604,11 +2650,11 @@ msgstr "Creando..." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing from Subaccount" -msgstr "" +msgstr "Retirando de Subcuenta" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settling Position Fees" -msgstr "" +msgstr "Liquidando Comisiones de Posición" #: src/components/Exchange/OrderEditor.jsx msgid "Minimum received" @@ -2617,23 +2663,23 @@ msgstr "Mínimo recibido" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available amount to withdraw from GLP. Funds not utilized by current open positions." -msgstr "Cantidad disponible para retirar de GLP. Fondos no utilizados por posiciones activas abiertas" +msgstr "Cantidad disponible para retirar de GLP. Fondos no utilizados por posiciones abiertas actuales." #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Enter your feedback here" -msgstr "" +msgstr "Ingresa tu retroalimentación aquí" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Impact on Collateral" -msgstr "" +msgstr "Alto Impacto en Garantía" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "and" -msgstr "" +msgstr "y" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GLV liquidity" -msgstr "" +msgstr "Liquidez de GLV insuficiente" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -2643,43 +2689,43 @@ msgstr "Precio no válido, ver advertencia" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} only from your short position." -msgstr "" +msgstr "Estarás corto en {indexSymbol} solo desde tu posición corta." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Signing approval..." -msgstr "" +msgstr "Firmando aprobación..." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." -msgstr "" +msgstr "El impacto de precio actual es {0}. Considera usar un impacto de precio aceptable de -0.30% para que la orden sea más probable que se procese." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" -msgstr "" +msgstr "Auto-Cancelar TP/SL" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Funding Fee Rate" -msgstr "" +msgstr "Tasa de Comisión de Financiación" #: src/components/Exchange/PositionSeller.jsx msgid "Requested decrease of {0} {longOrShortText} by {sizeDeltaUsd} USD." -msgstr "" +msgstr "Solicitada reducción de {0} {longOrShortText} por {sizeDeltaUsd} USD." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Returned Collateral" -msgstr "" +msgstr "Garantía Devuelta" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "You need to select {swapTokenSymbol} as the \"Pay\" token to use it for collateral to initiate this trade." -msgstr "Tienes que seleccionar {swapTokenSymbol} como el token de \"Pagar\" para usar como garantía para iniciar esta operación." +msgstr "Tienes que seleccionar {swapTokenSymbol} como el token de \"Pagar\" para usarlo como garantía para iniciar esta operación." #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "There are issues in the TP/SL orders." -msgstr "" +msgstr "Hay problemas en las órdenes TP/SL." #: src/components/Glp/GlpSwap.jsx msgid "The Bonus Rebate is an estimate and will be airdropped as ARB tokens when migrating this liquidity to GM pools within the same epoch. <0>Read more</0>." -msgstr "" +msgstr "El Reembolso de Bono es una estimación y se enviará como tokens ARB al migrar esta liquidez a reservas GM dentro de la misma época. <0>Leer más</0>." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP sold for {1} {2}!" @@ -2687,23 +2733,23 @@ msgstr "¡{0} GLP vendido por {1} {2}!" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Long Inc." -msgstr "" +msgstr "Stop Mercado - Largo Inc." #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Failed to Claim Price Impact Rebate" -msgstr "" +msgstr "Fallo al Reclamar Reembolso de Impacto de Precio" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Only positions with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "Solo posiciones con más de {0} en \"Capital Usado\" están clasificadas." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept minimum and {action}" -msgstr "Acepta el mínimo y {action}" +msgstr "Aceptar mínimo y {action}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Withdraw from Affiliate Vault" -msgstr "" +msgstr "Retirar de Vault de Afiliado" #: src/components/Glp/GlpSwap.jsx msgid "Current Pool Amount" @@ -2716,78 +2762,82 @@ msgstr "Cancelación fallida." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will be executed if there is sufficient liquidity and the execution price guarantees that you will receive the minimum receive amount." -msgstr "" +msgstr "La orden se ejecutará si hay suficiente liquidez y el precio de ejecución garantiza que recibirás la cantidad mínima de recepción." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Transacting with a depegged stable coin is subject to spreads reflecting the worse of current market price or $1.00, with transactions involving multiple stablecoins may have multiple spreads." -msgstr "" +msgstr "Transacciones con una stablecoin despegada están sujetas a spreads que reflejan lo peor del precio de mercado actual o $1.00, con transacciones involucrando múltiples stablecoins pueden tener múltiples spreads." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the \"Close\" button to reduce your Position Size." -msgstr "" +msgstr "Usa el botón \"Cerrar\" para reducir el Tamaño de tu Posición." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Limit)" -msgstr "" +msgstr "Aumentar Tamaño (Límite)" #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute at the desired {priceText} as its acceptable price impact is set to {formattedOrderAcceptablePriceImpact}, which is lower than the current market price impact of {formattedCurrentAcceptablePriceImpact}. It can be edited using the \"Edit\" button." -msgstr "" +msgstr "La orden puede no ejecutarse al {priceText} deseado ya que su impacto de precio aceptable está establecido en {formattedOrderAcceptablePriceImpact}, que es menor que el impacto de precio de mercado actual de {formattedCurrentAcceptablePriceImpact}. Puede editarse usando el botón \"Editar\"." #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Liquidation Fee" -msgstr "" +msgstr "Comisión de Liquidación" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settle" -msgstr "" +msgstr "Liquidar" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TWAP: {0} a short position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Corto TWAP: {0} una posición corta en partes distribuidas uniformemente durante un tiempo especificado." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap when the min. receive conditions are met." -msgstr "" +msgstr "Es posible que no haya suficiente liquidez para ejecutar el intercambio cuando se cumplan las condiciones mínimas de recepción." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "{fromText} to" -msgstr "" +msgstr "{fromText} a" #: src/components/Exchange/PositionDropdown.tsx msgid "Select Market" -msgstr "Seleccionar Idioma" +msgstr "Seleccionar Mercado" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "Open positions: {0}<0/>Under risk: {1}" msgstr "Posiciones Abiertas: {0}<0/>Bajo riesgo: {1}" +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "" + #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" msgstr "Acelerar la carga de la página" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: Swap {amountInDisplay}{1} for{minOutDisplay} {2}, Price:{3} USD" -msgstr "" +msgstr "{0}: Intercambiar {amountInDisplay}{1} por{minOutDisplay} {2}, Precio:{3} USD" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "(Rebated)" -msgstr "" +msgstr "(Reembolsado)" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized exchanges:" -msgstr "" +msgstr "Comprar GMX en exchanges centralizados:" #: src/pages/BuyGMX/BuyGMX.tsx msgid "GMX bonds can be bought on Bond Protocol with a discount and a small vesting period:" -msgstr "" +msgstr "Bonos GMX pueden comprarse en Bond Protocol con descuento y un pequeño período de adquisición:" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above highest limit price" -msgstr "" +msgstr "Precio de activación por encima del precio límite más alto" #: src/components/Exchange/OrdersToa.jsx msgid "Note that orders are not guaranteed to be executed.<0/><1/>This can occur in a few situations including but not exclusive to:" @@ -2795,32 +2845,32 @@ msgstr "Tenga en cuenta que no se garantiza la ejecución de las órdenes.<0/><1 #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions with Orders" -msgstr "" +msgstr "Posiciones Abiertas con Órdenes" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Copin" -msgstr "" +msgstr "Copin" #: src/components/Exchange/PositionSeller.jsx msgid "{nativeTokenSymbol} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{nativeTokenSymbol} no puede enviarse a direcciones de contratos inteligentes. Selecciona otro token." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "This swap is routed through several GM pools for the lowest possible fees and price impact." -msgstr "" +msgstr "Este intercambio se enruta a través de varias reservas GM para las comisiones e impacto de precio más bajos posibles." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "{0}" -msgstr "" +msgstr "{0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Liquidity." -msgstr "No hay suficiente liquidez disponible para llenar la orden. La orden se llenará cuando se cumpla la condición y haya suficiente liquidez disponible." +msgstr "No hay suficiente Liquidez Disponible para llenar la Orden. La Orden se llenará cuando se cumpla la condición y haya suficiente Liquidez Disponible." #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized data based on the past 7 days." -msgstr "" +msgstr "Datos anualizados basados en los últimos 7 días." #: src/components/Exchange/OrdersToa.jsx #: src/components/Exchange/OrdersToa.jsx @@ -2833,47 +2883,49 @@ msgstr "Capacidad máxima de reserva alcanzada para {0}. Por favor, acuñe GLP u #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>Execution prices for decreasing longs." -msgstr "" +msgstr "No hay liquidez disponible para aumentar cortos para<0/>este tamaño. Tamaño corto máximo: {0}<1/><2/>Precios de ejecución para reducir largos." #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" -msgstr "Comercio" +msgstr "Trading" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding referral code failed." -msgstr "Fallo al añadir el código de referido." +msgstr "Fallo al añadir código de referido." #: src/components/Exchange/PositionEditor.jsx msgid "Max leverage without PnL: {0}x" -msgstr "" +msgstr "Apalancamiento máximo sin GyP: {0}x" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "V2 doesn't currently support this network" -msgstr "" +msgstr "V2 no soporta esta red actualmente" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Arbitrum" -msgstr "" +msgstr "V1 Arbitrum" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche" -msgstr "" +msgstr "Avalanche" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Fee APR" -msgstr "" +msgstr "APR de Comisión" #: src/domain/synthetics/positions/utils.ts msgid "SL" -msgstr "" +msgstr "SL" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2890,16 +2942,16 @@ msgstr "Stake" #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx msgid "Allow {tokenSymbol} to be spent" -msgstr "" +msgstr "Permitir gastar {tokenSymbol}" #: src/components/NpsModal/NpsModal.tsx msgid "Help us improve" -msgstr "" +msgstr "Ayúdanos a mejorar" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Invalid Liquidation Price" -msgstr "" +msgstr "Precio de Liquidación Inválido" #: src/pages/Home/Home.tsx msgid "An aggregate of high-quality price feeds determine when liquidations occur. This keeps positions safe from temporary wicks." @@ -2907,32 +2959,32 @@ msgstr "Un conjunto de fuentes de precios de alta calidad determinan cuando se p #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} available liquidity. Choose a different \"Receive\" token." -msgstr "" +msgstr "Cantidad de intercambio de {0} a {1} excede {2} liquidez disponible. Elige un token \"Recibir\" diferente." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Take Profit" -msgstr "" +msgstr "Crear Take Profit" #: src/components/Exchange/OrderEditor.jsx msgid "Update Order" -msgstr "Actualizar orden" +msgstr "Actualizar Orden" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP" -msgstr "" +msgstr "Cancelar TWAP" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the liquidation." -msgstr "Precio de referencia para la liquidación." +msgstr "Precio de marca para la liquidación." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Selling {0}{1}<1>{poolName}</1></0>" -msgstr "" +msgstr "<0>Vendiendo {0}{1}<1>{poolName}</1></0>" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Max close amount exceeded" -msgstr "" +msgstr "Cantidad máxima de cierre excedida" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2942,15 +2994,15 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max leverage: {0}x" -msgstr "" +msgstr "Apalancamiento máximo: {0}x" #: src/domain/synthetics/positions/utils.ts msgid "T" -msgstr "" +msgstr "T" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Please enter the names of the coins you'd like to see added:" -msgstr "" +msgstr "Por favor, ingresa los nombres de las monedas que te gustaría ver agregadas:" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and Short" @@ -2958,27 +3010,27 @@ msgstr "Renunciar a la ganancia y entrar a corto" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Arbitrum" -msgstr "" +msgstr "Stakeado en Arbitrum" #: src/components/Exchange/PositionSeller.jsx msgid "Order creation failed." -msgstr "" +msgstr "Creación de orden fallida." #: src/components/TokenCard/TokenCard.tsx msgid "Sell token on:" -msgstr "" +msgstr "Vender token en:" #: src/components/Synthetics/MissedCoinsHint/MissedCoinsHint.tsx msgid "Can’t find the coin you need? Let us know" -msgstr "" +msgstr "¿No encuentras la moneda que necesitas? Háznoslo saber" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegated to" -msgstr "" +msgstr "Delegado a" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} update failed." -msgstr "" +msgstr "Actualización de {orderText} fallida." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: Swap {fromAmountDisplay} {0} for {toAmountDisplay} {1}" @@ -2988,26 +3040,31 @@ msgstr "Ejecutar Orden: Intercambiar {fromAmountDisplay} {0} por {toAmountDispla msgid "Buy {swapTokenSymbol} on 1inch" msgstr "Comprar {swapTokenSymbol} en 1inch" +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "" + #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" -msgstr "" +msgstr "GyP (%)" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we continue to meet your expectations?" -msgstr "" +msgstr "¿Cómo podemos seguir cumpliendo con tus expectativas?" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another address to claim if you'd like." -msgstr "El token esGMX (IOU) es transferible. Puedes agregar el token a tu cartera y enviarlo a otra dirección para reclamarlo si lo deseas." +msgstr "El token esGMX (IOU) es transferible. Puedes agregar el token a tu monedero y enviarlo a otra dirección para reclamarlo si lo deseas." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Self-transfer not supported" -msgstr "No se admite la autotransferencia" +msgstr "Autotransferencia no admitida" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Generating session..." -msgstr "" +msgstr "Generando sesión..." #: src/pages/Exchange/Exchange.tsx msgid "Decreased {tokenSymbol} {longOrShortText}, -{0} USD." @@ -3015,11 +3072,11 @@ msgstr "Reducido {tokenSymbol} {longOrShortText}, -{0} USD." #: src/components/Exchange/PositionEditor.jsx msgid "Leave at least {0} ETH for gas" -msgstr "" +msgstr "Deja al menos {0} ETH para gas" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders failed." -msgstr "Activación de órdenes falló." +msgstr "Activación de órdenes fallida." #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx @@ -3038,7 +3095,7 @@ msgstr "Comisión de Red" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact." -msgstr "" +msgstr "Precio de ejecución esperado para la orden, incluyendo el impacto de precio actual." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3056,16 +3113,16 @@ msgstr "Apalancamiento" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders sent." -msgstr "Activación de órdenes enviado." +msgstr "Activación de órdenes enviada." #: src/components/Exchange/PositionEditor.jsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing..." -msgstr "" +msgstr "Retirando..." #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims match the selected filters" -msgstr "" +msgstr "No hay reclamos que coincidan con los filtros seleccionados" #: src/components/Exchange/SwapBox.jsx #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx @@ -3087,57 +3144,57 @@ msgstr "Mercado" #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} acceptable amount. Can only receive {3}." -msgstr "" +msgstr "Cantidad de intercambio de {0} a {1} excede {2} cantidad aceptable. Solo se puede recibir {3}." #: src/pages/Stake/Stake.tsx msgid "Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2." -msgstr "" +msgstr "Gana incentivos de token {incentivesToken} comprando tokens GM o trading en GMX V2." #: src/components/Exchange/PositionEditor.jsx msgid "Withdraw disabled, pending {0} upgrade" -msgstr "" +msgstr "Retiro deshabilitado, pendiente actualización de {0}" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Read the rules" -msgstr "" +msgstr "Lee las reglas" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Lev." -msgstr "" +msgstr "Apal." #: src/pages/Stake/StakeModal.tsx msgid "Stake failed." -msgstr "" +msgstr "Stake fallido." #: src/components/NpsModal/NpsModal.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Submitting..." -msgstr "" +msgstr "Enviando..." #: src/components/Header/HomeHeaderLinks.tsx msgid "App" -msgstr "Aplicación" +msgstr "App" #: src/components/Synthetics/GmList/GlvList.tsx msgid "Yield-optimized vaults supplying liquidity across multiple GMX markets." -msgstr "" +msgstr "Vaults optimizados para yield que suministran liquidez a través de múltiples mercados GMX." #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Add {marketName} to Wallet" -msgstr "" +msgstr "Agregar {marketName} a Monedero" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized Performance" -msgstr "" +msgstr "Rendimiento Anualizado" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" -msgstr "" +msgstr "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap {0} to {1}" -msgstr "" +msgstr "Intercambiar {0} a {1}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}." @@ -3145,13 +3202,13 @@ msgstr "Las comisiones son altas para intercambiar de {0} a {1}." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Debug values are not available" -msgstr "" +msgstr "Valores de depuración no disponibles" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below liq. price" -msgstr "" +msgstr "Precio de activación por debajo del precio de liq." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx @@ -3159,14 +3216,9 @@ msgstr "" msgid "Claim failed." msgstr "Reclamación fallida." -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "" - #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" -msgstr "" +msgstr "Error Desconocido" #: src/components/Glp/GlpSwap.jsx msgid "Buying..." @@ -3174,24 +3226,24 @@ msgstr "Comprando..." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a new ratio or allowed slippage" -msgstr "" +msgstr "Ingresa una nueva proporción o deslizamiento permitido" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap UI Fee" -msgstr "" +msgstr "Comisión UI de Intercambio" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the size to match the max. allowed leverage:" -msgstr "" +msgstr "Reduce el tamaño para coincidir con el apalancamiento máximo permitido:" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Positive Funding Fee" -msgstr "" +msgstr "Comisión de Financiación Positiva Acumulada" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from Affiliate Vesting Vault" -msgstr "" +msgstr "Emisor ha retirado todos los tokens del Vault de Adquisición de Afiliado" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/keys.ts @@ -3201,33 +3253,33 @@ msgstr "Liquidado" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Blueberry Pulse" -msgstr "" +msgstr "Blueberry Pulse" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5></3> deployment for those features." -msgstr "" +msgstr "Por favor, cambia al despliegue de <0><1/><2>Arbitrum</2></0> o <3><4/><5>Avalanche</5></3> para esas características." #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "Seleccionar Idioma" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Direction" -msgstr "" +msgstr "Dirección" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} and {1} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM puede venderse por {0} y {1} para este mercado hasta los límites de venta especificados. Los tokens restantes en la reserva están reservados para posiciones abiertas actuales." #: src/components/Glp/GlpSwap.jsx msgid "Due to the recent incident on GMX V1 Arbitrum, GLP on Arbitrum is not sellable." -msgstr "" +msgstr "Debido al incidente reciente en GMX V1 Arbitrum, GLP en Arbitrum no es vendible." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "Graph showing performance vs benchmark over the selected period." -msgstr "" +msgstr "Gráfico mostrando rendimiento vs benchmark durante el período seleccionado." #: src/components/Synthetics/ExecutionPriceRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3248,11 +3300,11 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "Order Acceptable Price" -msgstr "Precio Aceptable de la Orden" +msgstr "Precio Aceptable de Orden" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "VOL." -msgstr "" +msgstr "VOL." #: src/components/Glp/GlpSwap.jsx msgid "Max Capacity for {0} Reached" @@ -3261,11 +3313,11 @@ msgstr "Capacidad Máxima para {0} Alcanzada" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below limit price" -msgstr "" +msgstr "Precio de activación por debajo del precio límite" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Buying {0}{1}<1>{poolName}</1></0> <2>with {tokensText}</2>" -msgstr "" +msgstr "<0>Comprando {0}{1}<1>{poolName}</1></0> <2>con {tokensText}</2>" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionsList.jsx @@ -3278,57 +3330,57 @@ msgstr "Garantía Inicial" #: src/pages/Stake/StakeModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power before staking." -msgstr "" +msgstr "<0>Delega tu poder de voto {0} GMX DAO no delegado</0> antes de stakear." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Size" -msgstr "" +msgstr "Tamaño Prom." #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 esGMX" -msgstr "" +msgstr "V1 esGMX" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit PnL" -msgstr "" +msgstr "GyP de Take Profit" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Let us know which coins you're missing" -msgstr "" +msgstr "Háznoslo saber qué monedas te faltan" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw sent." -msgstr "" +msgstr "Activación de retiro enviada." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." -msgstr "El saldo de su esGMX (IOU) disminuirá en la cantidad de su reclamación después de reclamar, este es el comportamiento esperado." +msgstr "Tu saldo de esGMX (IOU) disminuirá por la cantidad de tu reclamo después de reclamar, este es el comportamiento esperado." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." -msgstr "" +msgstr "La Comisión de Red Máxima está establecida en un valor más alto para manejar posibles aumentos en el precio de gas durante la ejecución de la orden. Cualquier comisión de red en exceso se reembolsará a tu cuenta cuando se ejecute la orden. Solo aplica a GMX V2." #: src/domain/synthetics/positions/utils.ts msgid "stop market" -msgstr "" +msgstr "stop mercado" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized PnL" -msgstr "" +msgstr "GyP No Realizada Inicial" #: src/components/TVChartContainer/constants.ts msgid "Limit - Short Inc." -msgstr "" +msgstr "Límite - Corto Inc." #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Sending settle request" -msgstr "" +msgstr "Enviando solicitud de liquidación" #: src/lib/legacy.ts msgid "Order cannot be executed as the remaining position would be smaller than $5.00" -msgstr "La orden no se puede ejecutar pues la posición restante sería menor de $5.00" +msgstr "La orden no se puede ejecutar ya que la posición restante sería menor a $5.00" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -3339,30 +3391,25 @@ msgstr "La orden no se puede ejecutar pues la posición restante sería menor de msgid "Claiming..." msgstr "Reclamando..." -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "" - #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" -msgstr "Solicitar incremento del mercado" +msgstr "Solicitar Aumento de Mercado" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Edit {0}" -msgstr "" +msgstr "Editar {0}" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Arbitrum" -msgstr "Adquiera con GMX en Arbitrum" +msgstr "Adquirir con GMX en Arbitrum" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable price impact rebates.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "Reembolsos de impacto de precio reclamables.<0/><1/><2>Leer más</2>." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and {borrowAction} a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "Posiciones {longOrShort} {fundingAction} una comisión de financiación de {fundingRate} por hora y {borrowAction} una comisión de préstamo de {borrowRate} por hora." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx @@ -3371,70 +3418,74 @@ msgstr "" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "TWAP" -msgstr "" +msgstr "TWAP" #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Updating Order..." -msgstr "Actualizando orden..." +msgstr "Actualizando Orden..." #: src/components/Exchange/PositionSeller.jsx msgid "Close failed." -msgstr "" +msgstr "Cierre fallido." #: src/pages/Stake/Stake.tsx msgid "You are earning rewards with {0} tokens.<0/>Tokens: {amountStr}." -msgstr "" +msgstr "Estás ganando recompensas con {0} tokens.<0/>Tokens: {amountStr}." #: src/components/ModalViews/RedirectModal.tsx msgid "The website is a community deployed and maintained instance of the open source <0>GMX front end</0>, hosted and served on the distributed, peer-to-peer <1>IPFS network</1>." -msgstr "La página web es una instancia desplegada y mantenida del código abierto <0>Interfaz de GMX</0>, alojado y recibiendo servicio de la distribuida, de usuario a usuario <1>red IPFS</1>." +msgstr "La página web es una instancia desplegada y mantenida por la comunidad del código abierto <0>frontend de GMX</0>, alojada y servida en la red distribuida peer-to-peer <1>IPFS</1>." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit failed." -msgstr "" +msgstr "Depósito fallido." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "<0>Set Recommended Impact: {0}</0>." -msgstr "" +msgstr "<0>Establecer Impacto Recomendado: {0}</0>." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Defi Llama" -msgstr "" +msgstr "Defi Llama" #: src/pages/Exchange/Exchange.tsx msgid "Orders cancelled." msgstr "Órdenes canceladas." +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" + #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" -msgstr "" +msgstr "Último Rebalanceo" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit" -msgstr "" +msgstr "Cancelar Límite" #: src/components/Referrals/AffiliatesStats.tsx msgid "V2 Claim" -msgstr "" +msgstr "Reclamo V2" #: src/components/Exchange/OrdersToa.jsx msgid "Accept that orders are not guaranteed to execute and trigger orders may not settle at the trigger price" -msgstr "Acepta que las órdenes no tienen garantía de ejecución y que las órdenes de activación pueden no ejecutarse al precio de activación" +msgstr "Acepta que las órdenes no tienen garantía de ejecución y que las órdenes de activación pueden no liquidarse al precio de activación" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a market" -msgstr "" +msgstr "Seleccionar un mercado" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please choose a different pool or reduce the buy size." -msgstr "" +msgstr "El límite de compra para la reserva GM: {0} en {1} [{2}] ha sido alcanzado. Por favor, elige una reserva diferente o reduce el tamaño de compra." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High External Swap Impact" -msgstr "" +msgstr "Alto Impacto de Intercambio Externo" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx @@ -3448,11 +3499,11 @@ msgstr "No hay operaciones todavía" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Allowed Slippage" -msgstr "Deslizamiento permitido" +msgstr "Deslizamiento Permitido" #: src/components/Exchange/OrderEditor.jsx msgid "Order update failed." -msgstr "La actualización de la orden ha fallado" +msgstr "Actualización de orden fallida." #: src/components/Glp/GlpSwap.jsx msgid "Waiting for Approval" @@ -3460,41 +3511,36 @@ msgstr "Esperando Aprobación" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and do not pay a borrow fee." -msgstr "" +msgstr "Posiciones {longOrShort} {fundingAction} una comisión de financiación de {fundingRate} por hora y no pagan comisión de préstamo." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TP/SL: {0} a short position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Corto TP/SL: {0} una posición corta cuando se alcanza el precio de activación." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community-led Telegram groups." -msgstr "Grupos de Telegram dirigidos por la comunidad." +msgstr "Grupos de Telegram liderados por la comunidad." #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Open Interest" -msgstr "" - -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "" +msgstr "Interés Abierto {longShortText} {0}" #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." -msgstr "" +msgstr "No tienes tokens GMX para reclamar." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Settled Funding Fees" -msgstr "" +msgstr "Comisiones de Financiación Liquidadas" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Ends in" -msgstr "" +msgstr "Termina en" #: src/components/Referrals/JoinReferralCode.tsx msgid "Please input a referral code to benefit from fee discounts." -msgstr "Por favor, introduzca un código de referido para beneficiarse de los descuentos en las comisiones." +msgstr "Por favor, ingresa un código de referido para beneficiarte de descuentos en comisiones." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Deposit" @@ -3502,15 +3548,15 @@ msgstr "Depósito Fallido" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Swap" -msgstr "Solicitar intercambio del mercado" +msgstr "Solicitar Intercambio de Mercado" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market.{1}" -msgstr "" +msgstr "Liquidez insuficiente en la reserva de mercado {0}. Selecciona una reserva diferente para este mercado.{1}" #: src/domain/synthetics/trade/utils/validation.ts msgid "App disabled, pending {0} upgrade" -msgstr "" +msgstr "App deshabilitada, pendiente actualización de {0}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates earned by this account as an affiliate." @@ -3533,7 +3579,7 @@ msgstr "Destakear" #: src/components/SettingsModal/SettingsModal.tsx msgid "Debug Settings" -msgstr "" +msgstr "Ajustes de Depuración" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "More Options" @@ -3541,24 +3587,28 @@ msgstr "Más Opciones" #: src/components/TokenCard/TokenCard.tsx msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." -msgstr "" +msgstr "GLV es el token de proveedor de liquidez para vaults de GMX V2. Consiste en varios tokens GM y acumula comisiones generadas por ellos." + +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "Red" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" -msgstr "" +msgstr "<0>cada</0> {hours} horas{0}" #: src/components/Referrals/TradersStats.tsx msgid "For trades on V1, this discount will be airdropped to your account every Wednesday. On V2, discounts are applied automatically and will reduce your fees when you make a trade." -msgstr "" +msgstr "Para trades en V1, este descuento se enviará a tu cuenta cada miércoles. En V2, los descuentos se aplican automáticamente y reducirán tus comisiones cuando hagas un trade." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Fail External Swaps" -msgstr "" +msgstr "Fallar Intercambios Externos" #: src/domain/synthetics/orders/utils.tsx msgid "Swap {fromTokenText} for {toTokenText}" -msgstr "" +msgstr "Intercambiar {fromTokenText} por {toTokenText}" #: src/components/Exchange/SwapBox.jsx #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts @@ -3582,20 +3632,20 @@ msgstr "GyP" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available using network's native token {0}. Consider using {1} instead." -msgstr "" +msgstr "Trading Express no está disponible usando el token nativo de la red {0}. Considera usar {1} en su lugar." #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx msgid "Market Increase" -msgstr "Aumento del mercado" +msgstr "Aumento de Mercado" #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims yet" -msgstr "" +msgstr "No hay reclamos todavía" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Cancel Order" -msgstr "" +msgstr "Cancelar Orden" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3611,47 +3661,47 @@ msgstr "Retirar" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Market" -msgstr "" +msgstr "Actualizar Stop Mercado" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Vested Claimable GMX" -msgstr "" +msgstr "GMX Adquirible Reclamable" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy {nativeTokenSymbol}" -msgstr "" +msgstr "Comprar {nativeTokenSymbol}" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "View in Explorer" -msgstr "Ver en el Explorador" +msgstr "Ver en Explorador" #: src/components/AprInfo/AprInfo.tsx msgid "Bonus APR" -msgstr "" +msgstr "APR de Bono" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift request sent" -msgstr "" +msgstr "Solicitud de shift enviada" #: src/pages/Jobs/Jobs.jsx msgid "GMX is not actively looking for new hires at the moment. However, if you think you can contribute to the project, please email <0>jobs@gmx.io</0>." -msgstr "GMX no se encuentra contratando en este momento. Sin embargo, si crees que puedes contribuir al proyecto, manda un email por favor <0>jobs@gmx.io</0>." +msgstr "GMX no está buscando activamente nuevas contrataciones en este momento. Sin embargo, si crees que puedes contribuir al proyecto, por favor envía un email a <0>jobs@gmx.io</0>." #: src/components/Exchange/ConfirmationBox.jsx msgid "You have multiple existing Increase {longOrShortText} {0} limit orders" -msgstr "Tienes múltiples órdenes límites para incrementar {longOrShortText} {0}" +msgstr "Tienes múltiples órdenes límites existentes para aumentar {longOrShortText} {0}" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "After you scan, a connection prompt will appear for you to connect your wallet." -msgstr "Después de escanear, aparecerá un mensaje de conexión para que conecte su billetera." +msgstr "Después de escanear, aparecerá un mensaje de conexión para que conectes tu monedero." #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer AVAX from other networks to Avalanche using any of the below options:" -msgstr "" +msgstr "Puedes transferir AVAX desde otras redes a Avalanche usando cualquiera de las opciones abajo:" #: src/pages/Stake/Vesting.tsx msgid "Unsupported network" -msgstr "" +msgstr "Red no compatible" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -3661,11 +3711,11 @@ msgstr "Abriendo..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche" -msgstr "" +msgstr "Traders Referidos en Avalanche" #: src/components/Exchange/PositionSeller.jsx msgid "Trigger order disabled, pending {0} upgrade" -msgstr "" +msgstr "Orden de activación deshabilitada, pendiente actualización de {0}" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Funding Fees" @@ -3675,7 +3725,6 @@ msgstr "Comisiones de Financiación" msgid "Approval failed" msgstr "Aprobación fallida" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx @@ -3684,11 +3733,11 @@ msgstr "Interés Abierto" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Updating settings..." -msgstr "" +msgstr "Actualizando ajustes..." #: src/components/Exchange/SwapBox.jsx msgid "The position will be opened at {0} USD with a max slippage of {1}%.<0/><1/>The slippage amount can be configured under Settings, found by clicking on your address at the top right of the page after connecting your wallet.<2/><3/><4>Read more</4>." -msgstr "La posición se abrirá a {0} USD con un deslizamiento máximo de {1}%.<0/><1/>La cantidad de deslizamiento se puede configurar desde Ajustes, que se encuentra haciendo clic en tu dirección en la esquina superior derecha de la página después de conectar tu monedero.<2/><3/><4>Leer más</4>." +msgstr "La posición se abrirá a {0} USD con un deslizamiento máximo de {1}%.<0/><1/>La cantidad de deslizamiento se puede configurar en Ajustes, encontrada al hacer clic en tu dirección en la esquina superior derecha de la página después de conectar tu monedero.<2/><3/><4>Leer más</4>." #: src/components/Referrals/TradersStats.tsx msgid "Active Referral Code" @@ -3696,113 +3745,109 @@ msgstr "Código de Referido Activo" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "Save One-Click Trading settings" -msgstr "" +msgstr "Guardar ajustes de Trading One-Click" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Please switch your network to Arbitrum." -msgstr "Por favor, cambie su red a Arbitrum." +msgstr "Por favor, cambia tu red a Arbitrum." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "The position would be immediately liquidated upon order execution. Try reducing the size." -msgstr "" +msgstr "La posición sería liquidada inmediatamente al ejecutar la orden. Intenta reducir el tamaño." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUYABLE" -msgstr "" +msgstr "COMPRABLE" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP" -msgstr "" +msgstr "Crear TWAP" #: src/components/Exchange/PositionEditor.jsx msgid "Enabling Leverage" -msgstr "" +msgstr "Activando Apalancamiento" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid Receiver Address" -msgstr "Dirección del Receptor Inválida" +msgstr "Dirección de Receptor Inválida" #: src/components/Exchange/PositionSeller.jsx msgid "Collateral is not enough to cover pending Fees. Please uncheck \"Keep Leverage\" to pay the Fees with the realized PnL." -msgstr "" +msgstr "La garantía no es suficiente para cubrir Comisiones pendientes. Por favor, desmarca \"Mantener Apalancamiento\" para pagar las Comisiones con la GyP realizada." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have yet to reach the minimum \"Capital Used\" of {0} to qualify for the rankings." -msgstr "" +msgstr "Aún no has alcanzado el mínimo \"Capital Usado\" de {0} para calificar en las clasificaciones." #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience as GMX Liquidity Provider and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "Valoramos tu experiencia como Proveedor de Liquidez de GMX e invitamos a participar en un chat anónimo uno a uno." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "TVL (SUPPLY)" -msgstr "" +msgstr "TVL (SUMINISTRO)" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the leverage to match the max. allowed leverage." -msgstr "" +msgstr "Reduce el apalancamiento para coincidir con el máximo permitido." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Shorts" -msgstr "" +msgstr "Cortos" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Prev" -msgstr "Prev" +msgstr "Ant" #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 180d" -msgstr "" +msgstr "Últimos 180d" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown buy GM order" -msgstr "" +msgstr "Orden de compra GM desconocida" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "" +msgstr "Puedes editar el Deslizamiento Permitido predeterminado en el menú de ajustes en la esquina superior derecha de la página.<0/><1/>Nota que un deslizamiento permitido bajo, p.ej. menor a -{0}, puede resultar en órdenes fallidas si los precios son volátiles." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." -msgstr "" +msgstr "No hay impacto de precio. Hay un solo<0/>precio de ejecución para aumentar largos o<1/>reducir cortos para este tamaño." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 days." -msgstr "Tras reclamar, los tokens esGMX serán enviados a su cuenta en la red seleccionada dentro de 7 días." +msgstr "Después de reclamar, los tokens esGMX serán enviados a tu cuenta en la red seleccionada dentro de 7 días." #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Buy GLV" -msgstr "" +msgstr "Comprar GLV" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Part" -msgstr "" +msgstr "Parte TWAP Fallida" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Impact+Fees" -msgstr "" +msgstr "Impacto+Comisiones" #: src/components/TVChartContainer/constants.ts msgid "TP - Short Dec." -msgstr "" +msgstr "TP - Corto Dec." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs GM Token Dashboard" -msgstr "" +msgstr "Dashboard de Token GM de Compass Labs" #: src/components/Exchange/TradeHistory.jsx msgid "Request increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2} {3} USD" -msgstr "Solicitar incremento {0} {longOrShortText}, +{1} USD, Precio Aceptable: {2} {3} USD" +msgstr "Solicitar aumento {0} {longOrShortText}, +{1} USD, Precio Aceptable: {2} {3} USD" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -3815,11 +3860,11 @@ msgstr "Garantía En" #: src/pages/Dashboard/GmCard.tsx msgid "GM Markets" -msgstr "" +msgstr "Mercados GM" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Your opinions and experiences matter to us. Your feedback helps us understand what we are doing well and where we can make enhancements." -msgstr "" +msgstr "Tus opiniones y experiencias nos importan. Tu retroalimentación nos ayuda a entender qué hacemos bien y dónde podemos mejorar." #: src/components/Exchange/UsefulLinks.tsx msgid "Trading guide" @@ -3827,15 +3872,15 @@ msgstr "Guía de Trading" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Open {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "Abrir {longOrShortText} - {marketIndexName}" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "TRADING Airdrop" -msgstr "" +msgstr "Airdrop de TRADING" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. This can be useful for delta-neutral strategies to earn funding fees." -msgstr "" +msgstr "Estarás corto en {indexSymbol} desde tu posición corta, mientras estás largo en {collateralSymbol} desde tu garantía {collateralSymbol}. Esto puede ser útil para estrategias delta-neutral para ganar comisiones de financiación." #: src/components/Referrals/TradersStats.tsx msgid "Rebates earned by this account as a trader." @@ -3862,7 +3907,7 @@ msgstr "Leer más" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "This Year" -msgstr "" +msgstr "Este Año" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -3870,45 +3915,48 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{actionDisplay} {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} Precio: {3} USD" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Vesting Status" -msgstr "" +msgstr "Estado de Adquisición" #: src/components/Exchange/ConfirmationBox.jsx msgid "You have an active Limit Order to Increase {longOrShortText} {sizeInToken} {0} (${1}) at price ${2}" -msgstr "Tienes una Orden Límite para Incrementar {longOrShortText} {sizeInToken} {0} (${1}) al precio ${2}" +msgstr "Tienes una Orden Límite activa para Aumentar {longOrShortText} {sizeInToken} {0} (${1}) al precio ${2}" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Claiming Price Impact Rebate..." -msgstr "" +msgstr "Reclamando Reembolso de Impacto de Precio..." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Negative funding fees are automatically settled against the collateral and impact the liquidation price. Positive funding fees can be claimed under the claims tab." -msgstr "" +msgstr "Comisiones de financiación negativas se liquidan automáticamente contra la garantía e impactan el precio de liquidación. Comisiones de financiación positivas pueden reclamarse en la pestaña de reclamos." #: src/pages/Stake/Stake.tsx msgid "Unstake esGMX" -msgstr "" +msgstr "Destakear esGMX" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "The actual trigger price at which order gets filled will depend on fees and price impact at the time of execution to guarantee that you receive the minimum receive amount." -msgstr "" +msgstr "El precio de activación real al que se llena la orden dependerá de comisiones e impacto de precio en el momento de ejecución para garantizar que recibas la cantidad mínima de recepción." #: src/components/Exchange/PositionDropdown.tsx msgid "Set TP/SL" -msgstr "" +msgstr "Establecer TP/SL" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition. The Order will get filled when the condition is met." -msgstr "El precio de ejecución no cumplió la condición de precio aceptable. La orden se llenará cuando se cumpla la condición." +msgstr "El Precio de Ejecución no cumplió la condición de Precio Aceptable. La Orden se llenará cuando se cumpla la condición." #: src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx msgid "Initial Collateral (Collateral excluding Borrow and Funding Fee)." -msgstr "" +msgstr "Garantía Inicial (Garantía excluyendo Préstamo y Comisión de Financiación)." #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx @@ -3917,15 +3965,15 @@ msgstr "Tasa Neta / 1h" #: src/pages/Stake/ClaimModal.tsx msgid "Claim esGMX Rewards" -msgstr "" +msgstr "Reclamar Recompensas esGMX" #: src/pages/Stake/Stake.tsx msgid "Trading incentives program is live on {avalancheLink}." -msgstr "" +msgstr "Programa de incentivos de trading está activo en {avalancheLink}." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending sell request" -msgstr "" +msgstr "Enviando solicitud de venta" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx @@ -3935,11 +3983,11 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "NA" -msgstr "" +msgstr "NA" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This action will not apply for that position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "Tienes una posición existente con {0} como garantía. Esta acción no aplicará para esa posición. <0>Cambiar a garantía {1}</0>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -4004,33 +4052,33 @@ msgstr "Corto" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "PnL ($)" -msgstr "" +msgstr "GyP ($)" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "GMX Market Tokens" -msgstr "" +msgstr "Tokens de Mercado GMX" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is above mark price" -msgstr "" +msgstr "Precio Stop Mercado está por encima del precio de marca" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Txn failed. <0>View</0>." -msgstr "" +msgstr "Txn fallida. <0>Ver</0>." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Affiliate Vault" -msgstr "" +msgstr "Vault de Afiliado" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "Introduce un precio" +msgstr "Ingresa un precio" #: src/components/Referrals/JoinReferralCode.tsx msgid "Updating..." -msgstr "Actualizando" +msgstr "Actualizando..." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Increase" @@ -4038,8 +4086,8 @@ msgstr "Aumento de Mercado Fallido" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "" +#~ msgid "EIP-4844 Competition" +#~ msgstr "Competencia EIP-4844" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4057,23 +4105,23 @@ msgstr "Precio de Liq." #: src/components/NotifyModal/NotifyModal.tsx msgid "Trading Pair Price Alerts" -msgstr "" +msgstr "Alertas de Precio de Par de Trading" #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The exact execution price may vary depending on fees at the time the order is executed." -msgstr "Tu recibirás al menos {0} {1} si esta orden se ejecuta. El precio exacto de ejecución puede variar en función de las comisiones en el momento en el que la orden es ejecutada." +msgstr "Recibirás al menos {0} {1} si esta orden se ejecuta. El precio de ejecución exacto puede variar dependiendo de las comisiones en el momento de ejecución de la orden." #: src/components/Common/SEO.tsx msgid "GMX | Decentralized Perpetual Exchange" -msgstr "" +msgstr "GMX | Exchange Perpetuo Descentralizado" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "<0>Botanix</0> currently only supports" -msgstr "" +msgstr "<0>Botanix</0> actualmente solo soporta" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "No position" -msgstr "No hay posición" +msgstr "Sin posición" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -4088,35 +4136,35 @@ msgstr "Cancelación fallida" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "{daysConsidered}d Earned Fees" -msgstr "" +msgstr "Comisiones Ganadas en {daysConsidered}d" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Fulfilling order request" -msgstr "" +msgstr "Cumpliendo solicitud de orden" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance to pay for gas" -msgstr "" +msgstr "Saldo de {0} insuficiente para pagar gas" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can currently vest a maximum of {0} esGMX tokens at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "Actualmente puede adquirir un máximo de {0} tokens esGMX a razón de {1} {stakingToken} por 1 esGMX\"." +msgstr "Actualmente puedes adquirir un máximo de {0} tokens esGMX a una razón de {1} {stakingToken} por 1 esGMX." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy AVAX directly to Avalanche or transfer it there." -msgstr "" +msgstr "Comprar AVAX directamente en Avalanche o transferirlo allí." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Open Ocean" -msgstr "" +msgstr "Open Ocean" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Single" -msgstr "" +msgstr "Simple" #: src/domain/synthetics/orders/prepareOrderTxn.ts msgid "Error preparing transaction. Provider is not defined" -msgstr "" +msgstr "Error preparando transacción. Proveedor no definido" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx msgid "Funding fees" @@ -4124,33 +4172,33 @@ msgstr "Comisiones de financiación" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity in GM Pool" -msgstr "" +msgstr "Liquidez insuficiente en Reserva GM" #: src/components/Exchange/ExchangeBanner.jsx msgid "Trade on GMX and win <0>$250.000</0> in prizes! Live until November 30th, <1>click here</1> to learn more." -msgstr "Opere en GMX y gane <0>$250.000</0> en premios! Activo hasta el 30 de Noviembre, <1>haz click aquí</1> para aprender más." +msgstr "Tradea en GMX y gana <0>$250.000</0> en premios! Activo hasta el 30 de Noviembre, <1>haz clic aquí</1> para aprender más." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "tBTC LP incentives" -msgstr "" +msgstr "Incentivos LP de tBTC" #: src/components/ModalViews/RedirectModal.tsx msgid "You are leaving GMX.io and will be redirected to a third party, independent website." -msgstr "Estas dejando GMX.io y serás redirigido a una página independiente y gestionada por terceras partes." +msgstr "Estás dejando GMX.io y serás redirigido a un sitio web independiente de terceros." #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Borrow Fee" -msgstr "" +msgstr "Comisión de Préstamo Acumulada" #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "Read more." -msgstr "" +msgstr "Leer más." #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "PnL Analysis" -msgstr "" +msgstr "Análisis de GyP" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "View Details" @@ -4158,58 +4206,58 @@ msgstr "" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}." -msgstr "" +msgstr "No hay ruta de intercambio disponible. <0>Intercambiar {0} a {swapToTokenSymbol}</0>, luego a {1}." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Longs" -msgstr "" +msgstr "Largos" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit submitted." -msgstr "" +msgstr "Depósito enviado." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown sell GM order" -msgstr "" +msgstr "Orden de venta GM desconocida" #: src/components/NotifyModal/NotifyModal.tsx msgid "<0>Notifications are provided by Notifi and not affiliated with GMX. By subscribing, you agree that info you provide to Notifi will be governed by its </0><1>Privacy Policy</1><2> and </2><3>Terms of Use</3>." -msgstr "" +msgstr "<0>Las notificaciones son proporcionadas por Notifi y no afiliadas con GMX. Al suscribirte, aceptas que la info que provees a Notifi estará gobernada por su </0><1>Política de Privacidad</1><2> y </2><3>Términos de Uso</3>." #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} and {avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} y {avalancheLink} Reservas GLV están <0>incentivadas{sparkle}.</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Limit: {0} a long position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Largo Límite: {0} una posición larga cuando el precio está por debajo del precio de activación." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1} to {2} within GMX.<2/><3/><4>You can buy {3} on 1inch.</4>" -msgstr "" +msgstr "{0} es requerido para garantía.<0/><1/>No se encontró ruta de intercambio para {1} a {2} dentro de GMX.<2/><3/><4>Puedes comprar {3} en 1inch.</4>" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Tienes una posición existente en la reserva de mercado {0}.<0><1>Cambiar a reserva de mercado {1}</1>.</0>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Capital Used" -msgstr "" +msgstr "Capital Usado" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 10 symbols in name" -msgstr "" +msgstr "Máx 10 símbolos en nombre" #: src/pages/Dashboard/StatsCard.tsx msgid "Users" -msgstr "" +msgstr "Usuarios" #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx msgid "Gas Payment Token" -msgstr "" +msgstr "Token de Pago de Gas" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -4228,45 +4276,45 @@ msgstr "Impacto de Precio" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a token" -msgstr "" +msgstr "Seleccionar un token" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Market Traders’ PnL" -msgstr "" +msgstr "Exposición a GyP de Traders de Mercado" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" -msgstr "" +msgstr "Óptimo" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "UI Fee" -msgstr "" +msgstr "Comisión UI" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Execute order simulation failed." -msgstr "" +msgstr "Simulación de ejecución de orden fallida." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Invalid Transfer Addresses: Please check the url." -msgstr "" +msgstr "Direcciones de Transferencia Inválidas: Por favor verifica la url." #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "GLP Index Composition" -msgstr "Composición Índice GLP" +msgstr "Composición de Índice GLP" #: src/domain/synthetics/positions/utils.ts msgid "TP" -msgstr "" +msgstr "TP" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "<0>Claimable Funding Fee.</0>" -msgstr "" +msgstr "<0>Comisión de Financiación Reclamable.</0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Log in to your Binance app and tap [Wallets]. Go to [Web3]." @@ -4281,31 +4329,32 @@ msgstr "Reclamable" #: src/components/Exchange/OrdersToa.jsx msgid "Additionally, trigger orders are market orders and are not guaranteed to settle at the trigger price." -msgstr "Además, las órdenes de activación son órdenes de mercado y no se garantiza que se ejecuten al precio de activación." +msgstr "Además, las órdenes de activación son órdenes de mercado y no se garantiza que se liquiden al precio de activación." #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" -msgstr "Documentos" +msgstr "Docs" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Stats" -msgstr "" +msgstr "Estadísticas de Trading GMX" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Creating Order..." -msgstr "Creando Order..." +msgstr "Creando Orden..." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit disabled, pending {0} upgrade" -msgstr "" +msgstr "Depósito deshabilitado, pendiente actualización de {0}" #: src/pages/Jobs/Jobs.jsx msgid "Jobs" -msgstr "Trabajos" +msgstr "Empleos" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Options Strategies" @@ -4314,19 +4363,15 @@ msgstr "Estrategias de Opciones Descentralizadas" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Technical Announcements" -msgstr "" +msgstr "Anuncios Técnicos de GMX" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Market" -msgstr "" +msgstr "Stop Mercado Fallido" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Address copied to your clipboard" -msgstr "" - -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "" +msgstr "Dirección copiada a tu portapapeles" #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4337,34 +4382,34 @@ msgstr "Ajustes" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs Trading Simulations" -msgstr "" +msgstr "Simulaciones de Trading de Compass Labs" #: src/components/Referrals/AffiliatesStats.tsx msgid "Amount of traders you referred." -msgstr "Cantidad de traders que ha referido." +msgstr "Cantidad de traders que has referido." #: src/components/Exchange/PositionSeller.jsx msgid "GMX V1 only supports closing positions using market orders. For advanced trading features, use GMX V2." -msgstr "" +msgstr "GMX V1 solo soporta cerrar posiciones usando órdenes de mercado. Para características de trading avanzadas, usa GMX V2." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Take Profit" -msgstr "" +msgstr "Take Profit" #: src/components/Exchange/PositionSeller.jsx msgid "Close submitted!" -msgstr "" +msgstr "Cierre enviado!" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Hour(s)" -msgstr "" +msgstr "Hora(s)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} liquidity" -msgstr "" +msgstr "Liquidez de {0} insuficiente" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -4373,11 +4418,11 @@ msgstr "Creador" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Derivatives Portfolio Tracker" -msgstr "" +msgstr "Tracker de Portafolio de Derivados" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit" -msgstr "" +msgstr "Crear Límite" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer already initiated" @@ -4386,20 +4431,20 @@ msgstr "Transferencia ya iniciada" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw submitted." -msgstr "" +msgstr "Retiro enviado." #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/AddAffiliateCode.jsx msgid "Enter a code" -msgstr "Introduzca un código" +msgstr "Ingresa un código" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "Details" -msgstr "" +msgstr "Detalles" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Umami DAO" -msgstr "" +msgstr "Umami DAO" #: src/components/Exchange/OrdersList.jsx #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -4408,10 +4453,10 @@ msgstr "Orden" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Avalanche" -msgstr "" +msgstr "Stakeado en Avalanche" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" msgstr "Kit de Medios" @@ -4421,7 +4466,7 @@ msgstr "Reducir Riesgos de Liquidación" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "UniDex Leverage" -msgstr "" +msgstr "Apalancamiento UniDex" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "collateral" @@ -4438,19 +4483,19 @@ msgstr "MONEDERO" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/OrderList/OrderList.tsx msgid "No open orders" -msgstr "No hay ordenes abiertas." +msgstr "No hay órdenes abiertas." #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche Fuji" -msgstr "" +msgstr "Traders Referidos en Avalanche Fuji" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claim V2 Rebates from your referred Traders." -msgstr "" +msgstr "Reclama Reembolsos V2 de tus Traders referidos." #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in GM Pools." -msgstr "" +msgstr "Valor total de tokens en Reservas GM." #: src/components/Glp/GlpSwap.jsx msgid "Reserved" @@ -4459,48 +4504,52 @@ msgstr "Reservado" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Botanix" -msgstr "" +msgstr "Botanix" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Price below Liq. Price" -msgstr "Precio inferior al de liquidación" +msgstr "Precio por debajo del Precio de Liquidación" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit / Stop Loss" +msgstr "Take Profit / Stop Loss" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" msgstr "" #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" -msgstr "" +msgstr "No hay suficiente {0} en tu cuenta en {networkName} para enviar esta transacción.<0/><1/><2>Compra o Transfiere {1} a {networkName}</2>" #: src/components/TVChartContainer/constants.ts msgid "SL - Long Dec." -msgstr "" +msgstr "SL - Largo Dec." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Airdrop" -msgstr "" +msgstr "Airdrop" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake submitted!" -msgstr "" +msgstr "Destakeo enviado!" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "This competition is held on the {0} network. <0>Change your network</0> to participate." -msgstr "" +msgstr "Esta competencia se lleva a cabo en la red {0}. <0>Cambia tu red</0> para participar." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Loss" -msgstr "" +msgstr "Crear Stop Loss" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to generate session" -msgstr "" +msgstr "Fallo al generar sesión" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "This competition has ended." -msgstr "" +msgstr "Esta competencia ha terminado." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -4508,54 +4557,55 @@ msgid "Shorts Net Rate / 1h" msgstr "Tasa Neta de Cortos / 1h" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" -msgstr "" +msgstr "Vaults GLV" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Portuguese)" -msgstr "" +msgstr "GMX (Portugués)" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Stake GMX</0> and earn {gmxAvgAprText} APR" -msgstr "" +msgstr "<0>Stakea GMX</0> y gana {gmxAvgAprText} APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Mozaic Finance" -msgstr "" +msgstr "Mozaic Finance" #: src/pages/Exchange/Exchange.tsx msgid "Withdrew {0} USD from {tokenSymbol} {longOrShortText}." -msgstr "Se retiró {0} USD de {tokenSymbol} {longOrShortText}." +msgstr "Retirado {0} USD de {tokenSymbol} {longOrShortText}." #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Accrued Funding Fee." -msgstr "" +msgstr "Comisión de Financiación Acumulada." #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw failed." -msgstr "" +msgstr "Retiro fallido." #: src/pages/Stake/ClaimModal.tsx msgid "Pending GMX approval" -msgstr "" +msgstr "Aprobación GMX pendiente" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "No markets found." -msgstr "" +msgstr "No se encontraron mercados." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "ODOS" -msgstr "" +msgstr "ODOS" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Substack" -msgstr "" +msgstr "Substack de GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Positions Bot" -msgstr "" +msgstr "Bot de Posiciones GMX" #: src/components/Referrals/TradersStats.tsx msgid "Edit Referral Code" @@ -4563,39 +4613,35 @@ msgstr "Editar Código de Referido" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Take Profit" -msgstr "" +msgstr "Ejecutar Take Profit" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stryke" -msgstr "" +msgstr "Stryke" #: src/components/Errors/errorToasts.tsx msgid "External swap is temporarily disabled. Please try again." -msgstr "" +msgstr "Intercambio externo está temporalmente deshabilitado. Por favor intenta de nuevo." #: src/components/Stake/GMXAprTooltip.tsx msgid "GMX APR" -msgstr "" - -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "" +msgstr "APR de GMX" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" -msgstr "" +msgstr "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Tienes una orden límite existente en la reserva de mercado {0}.<0><1>Cambiar a reserva de mercado {1}</1>.</0>" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" -msgstr "" +msgstr "Reduciendo" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "You have set a high allowed slippage. The current swap impact including fees is {0}." -msgstr "" +msgstr "Has establecido un deslizamiento permitido alto. El impacto de intercambio actual incluyendo comisiones es {0}." #: src/components/Referrals/AffiliatesStats.tsx msgid "Create Referral Code" @@ -4603,7 +4649,7 @@ msgstr "Crear Código de Referido" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined take profits are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "Take profits combinados están al máximo (100%). Reduce valores existentes para agregar más órdenes." #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks" @@ -4611,7 +4657,7 @@ msgstr "Redes" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: {1}, Price: {priceDisplay}" -msgstr "" +msgstr "{0}: {1}, Precio: {priceDisplay}" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx @@ -4621,23 +4667,23 @@ msgstr "RESERVA" #: src/components/Header/HomeHeaderLinks.tsx msgid "Voting" -msgstr "" +msgstr "Votación" #: src/components/Exchange/TradeHistory.jsx msgid "This position was liquidated as the max leverage of 100x was exceeded." -msgstr "Esta posición fue liquidada debido a que el apalancamiento máximo de 100x fue superado" +msgstr "Esta posición fue liquidada ya que se excedió el apalancamiento máximo de 100x" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "<0>Switch to:</0>" -msgstr "" +msgstr "<0>Cambiar a:</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Limit: {0} a short position when the price is above the trigger price." -msgstr "" +msgstr "{typeString} Corto Límite: {0} una posición corta cuando el precio está por encima del precio de activación." #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "No trades match the selected filters" -msgstr "No hay operaciones que coincidan con los filtros seleccionados" +msgstr "No hay trades que coincidan con los filtros seleccionados" #: src/components/Exchange/TradeHistory.jsx #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx @@ -4646,7 +4692,7 @@ msgstr "Reducido" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Updating {orderText}." -msgstr "" +msgstr "Actualizando {orderText}." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4661,7 +4707,7 @@ msgstr "Reducir" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover collateral below 5 USD" -msgstr "" +msgstr "Garantía restante por debajo de 5 USD" #: src/lib/legacy.ts msgid "Order cannot be executed as it would reduce the position's leverage below 1" @@ -4669,7 +4715,7 @@ msgstr "La orden no se puede ejecutar pues reduciría el apalancamiento de la po #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "Existing Executable Trigger Orders" -msgstr "" +msgstr "Órdenes de activación ejecutables existentes" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Weight" @@ -4681,7 +4727,7 @@ msgstr "Enlace copiado al portapapeles." #: src/components/SettingsModal/SettingsModal.tsx msgid "Max slippage precision is -0.01%" -msgstr "" +msgstr "La precisión máxima de deslizamiento es -0.01%" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Dec." @@ -4693,7 +4739,7 @@ msgstr "Actualizaciones semanales de GMX" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} only from your long position." -msgstr "" +msgstr "Estarás en largo {indexSymbol} solo desde tu posición larga." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal}" @@ -4702,16 +4748,15 @@ msgstr "Total activo: {openTotal}, ejecutado: {executedTotal}, cancelado: {cance #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h Low" -msgstr "" +msgstr "Mínimo 24h" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "" +#~ msgid "Chain Icon" +#~ msgstr "Ícono de cadena" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" -msgstr "" +msgstr "Solicitud de liquidación para {0, plural, one {# posición} other {# posiciones}} enviada" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -4720,65 +4765,66 @@ msgstr "Precio en Arbitrum" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM se puede vender por {0} en este mercado hasta los límites de venta especificados. Los tokens restantes en la reserva están reservados para posiciones abiertas actualmente." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "REBATE" -msgstr "" +msgstr "REEMBOLSO" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." -msgstr "" - -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "" +msgstr "Es posible que no haya suficiente liquidez para ejecutar tu orden cuando se cumpla el Mín. Recibir." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" -msgstr "" +msgstr "Operaciones Totales" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Market Composition" -msgstr "" +msgstr "Composición del Mercado" #: src/components/Errors/errorToasts.tsx msgid "<0>Permit signature is invalid. Please try again.</0>" -msgstr "" +msgstr "<0>La firma de permiso es inválida. Por favor, inténtalo de nuevo.</0>" #: src/components/NpsModal/NpsModal.tsx msgid "Enter your answer here" -msgstr "" +msgstr "Ingresa tu respuesta aquí" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Firebird Finance" -msgstr "" +msgstr "Firebird Finance" #: src/pages/Stake/Stake.tsx msgid "Stake GMX" -msgstr "" +msgstr "Stake GMX" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shifting from <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> to <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" -msgstr "" +msgstr "Cambiando de <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> a <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TWAP: {0} a long position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Largo TWAP: {0} una posición larga en partes distribuidas uniformemente durante un tiempo especificado." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated!" msgstr "¡Código de referido actualizado!" +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "COMPOSICIÓN" + #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" -msgstr "" +msgstr "Favoritos" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} short capacity" -msgstr "Capacidad Máx. {0} cortos" +msgstr "Capacidad máxima de {0} cortos" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition." @@ -4786,11 +4832,11 @@ msgstr "El precio de ejecución no cumplió la condición de precio aceptable." #: src/pages/Stake/VesterDepositModal.tsx msgid "Reserve Amount" -msgstr "" +msgstr "Cantidad Reservada" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling buy request" -msgstr "" +msgstr "Cumpliendo solicitud de compra" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Reason: {0}" @@ -4798,7 +4844,7 @@ msgstr "Razón: {0}" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Approval nonce expired. Please sign a new approval." -msgstr "" +msgstr "Nonce de aprobación One-Click caducado. Por favor, firma una nueva aprobación." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -4825,9 +4871,9 @@ msgstr "Todo el tiempo" msgid "Select your vesting option below then click \"Claim\"." msgstr "Seleccione su opción de adquisición a continuación y haga clic en \"Reclamar\"." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." -msgstr "" +msgstr "El número predeterminado de partes para órdenes de Precio Promedio Ponderado en el Tiempo (TWAP)." #: src/pages/Home/Home.tsx msgid "Save on Costs" @@ -4835,23 +4881,23 @@ msgstr "Ahorrar en Costes" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order cancelled" -msgstr "" +msgstr "Orden de compra cancelada" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Reserve" -msgstr "" +msgstr "{longShortText} {0} Reserva" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Cancel newly created orders" -msgstr "" +msgstr "Cancelar órdenes recién creadas" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegate" -msgstr "" +msgstr "Delegar" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Harmonix" -msgstr "" +msgstr "Harmonix" #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid NFT Address" @@ -4859,39 +4905,39 @@ msgstr "Dirección NFT inválida" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LIQ." -msgstr "" +msgstr "LIQ." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP and GMX autocompounding vaults" -msgstr "" +msgstr "Vaults de autocomposición de GLP y GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "esGMX OTC Market" -msgstr "" +msgstr "Mercado OTC de esGMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Leverage Trading Terminal" -msgstr "" +msgstr "Terminal de Trading con Apalancamiento" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing shorts and<0/>decreasing longs." -msgstr "" +msgstr "Precios de ejecución para aumentar cortos y<0/>disminuir largos." #: src/pages/Stake/Stake.tsx msgid "Deposit <0>GMX</0> and <1>esGMX</1> tokens to earn rewards." -msgstr "" +msgstr "Deposita <0>GMX</0> y <1>esGMX</1> tokens para ganar recompensas." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "The bonus rebate is an estimate and can be up to {0}% of the open fee. It will be airdropped as {incentivesTokenTitle} tokens on a pro-rata basis. <0><1>Read more</1>.</0>" -msgstr "" +msgstr "El reembolso de bonificación es una estimación y puede ser hasta {0}% de la comisión de apertura. Se lanzará como tokens {incentivesTokenTitle} en base prorrateada. <0><1>Leer más</1>.</0>" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>The order will be executed when the oracle price is {0} {1}.</0><1/><2>Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if the price impact exceeds your acceptable price.</2>" -msgstr "" +msgstr "<0>La orden se ejecutará cuando el precio del oráculo sea {0} {1}.</0><1/><2>Nota que puede haber casos raros donde la orden no se pueda ejecutar, por ejemplo, si la cadena está caída y no se producen informes de oráculo o si el impacto de precio excede tu precio aceptable.</2>" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Market" -msgstr "" +msgstr "Crear Stop Market" #: src/components/Exchange/SwapBox.jsx msgid "Swap submitted!" @@ -4899,14 +4945,14 @@ msgstr "¡Intercambio Enviado!" #: src/components/Exchange/SwapBox.jsx msgid "V1 trading disabled. Switch to V2" -msgstr "" +msgstr "Trading V1 desactivado. Cambiar a V2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche" -msgstr "" +msgstr "V1 Avalanche" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -4919,11 +4965,11 @@ msgstr "Garantía ({0})" #: src/pages/Stake/StakeModal.tsx msgid "You will earn {0}% more rewards with this action." -msgstr "" +msgstr "Ganarás {0}% más recompensas con esta acción." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" -msgstr "" +msgstr "Buffer Máximo de Comisión de Red" #: src/components/Exchange/OrderEditor.jsx msgid "Order updated!" @@ -4931,15 +4977,15 @@ msgstr "¡Orden actualizada!" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "Estarás en corto {indexSymbol} desde tu posición corta, mientras estás en largo {collateralSymbol} desde tu garantía {collateralSymbol}. El precio de liquidación variará basado en el precio de {collateralSymbol}." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Market: Swap tokens at the current market price." -msgstr "" +msgstr "Intercambio Mercado: Intercambia tokens al precio de mercado actual." #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "TVL/CAP" -msgstr "" +msgstr "TVL/CAP" #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx @@ -4948,11 +4994,11 @@ msgstr "Selecciona una reserva que contenga {0} para usarla como garantía." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Trading Simulations on GMX using DOJO" -msgstr "" +msgstr "Simulaciones de Trading en GMX usando DOJO" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Farming" -msgstr "" +msgstr "Agricultura de Rendimiento" #: src/lib/contracts/callContract.tsx msgid "Transaction completed!" @@ -4964,7 +5010,7 @@ msgstr "Aprobando..." #: src/components/Exchange/PositionSeller.jsx msgid "Neither Collateral nor realized PnL is enough to cover pending Fees. Please close a larger position amount." -msgstr "" +msgstr "Ni la Garantía ni el PnL realizado son suficientes para cubrir las Comisiones pendientes. Por favor, cierra una cantidad de posición mayor." #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4973,14 +5019,15 @@ msgstr "UTILIZACIÓN" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "One-Click Settings" -msgstr "" +msgstr "Configuraciones One-Click" #: src/components/NotifyModal/NotifyModal.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements" -msgstr "" +msgstr "Anuncios de GMX" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" @@ -4988,7 +5035,7 @@ msgstr "Referidos" #: src/components/Exchange/PositionSeller.jsx msgid "Max Leverage without PnL: 100x" -msgstr "" +msgstr "Apalancamiento Máx. sin PnL: 100x" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Short" @@ -4996,37 +5043,37 @@ msgstr "Confirma orden a Corto" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Short Liquidity" -msgstr "" +msgstr "Liquidez Corta" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Order Type" -msgstr "" +msgstr "Tipo de Orden" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order executed" -msgstr "" +msgstr "Orden de venta ejecutada" #: src/domain/synthetics/orders/createStakeOrUnStakeTxn.tsx msgid "Failed to {0}" -msgstr "" +msgstr "Falló {0}" #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Affiliate Rewards Claimed" -msgstr "" +msgstr "Recompensas de Afiliado Reclamadas" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Order error. Prices are currently volatile for this market, try again by <0>increasing the allowed slippage</0> under the advanced display section." -msgstr "" +msgstr "Error de orden. Los precios son actualmente volátiles para este mercado, inténtalo de nuevo <0>aumentando el deslizamiento permitido</0> en la sección de visualización avanzada." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Swap Price Impact for External Swap Threshold" -msgstr "" +msgstr "Impacto de Precio de Intercambio para Umbral de Intercambio Externo" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Limit / Take Profit / Stop Loss" -msgstr "" +msgstr "Límite / Take Profit / Stop Loss" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -5040,24 +5087,21 @@ msgstr "Esta posición fue liquidada debido a que el apalancamiento máximo de { #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Swap {0}" -msgstr "" +msgstr "Intercambiar {0}" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order submitted!" msgstr "¡Orden de Intercambio enviada!" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5068,9 +5112,9 @@ msgstr "¡Orden de Intercambio enviada!" msgid "Loading..." msgstr "Cargando..." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" -msgstr "" +msgstr "Incluir PnL en Visualización de Apalancamiento" #: src/components/Exchange/PositionsList.jsx msgid "Share" @@ -5090,7 +5134,7 @@ msgstr "Operaciones" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available." -msgstr "" +msgstr "No hay ruta de intercambio disponible." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Telegram Groups" @@ -5099,31 +5143,31 @@ msgstr "Grupos de Telegram" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Search Action" -msgstr "" +msgstr "Buscar Acción" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" -msgstr "" +msgstr "Mostrar Deslizador de Apalancamiento" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Cancelling {orderText}." -msgstr "" +msgstr "Cancelando {orderText}." #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "" +#~ msgid "CONCLUDED" +#~ msgstr "CONCLUIDO" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" -msgstr "" +msgstr "Delta de Garantía" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "Realized PnL after fees and price impact." -msgstr "" +msgstr "PnL Realizado después de comisiones e impacto de precio." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Long Liquidity" -msgstr "" +msgstr "Liquidez Larga" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -5135,7 +5179,7 @@ msgstr "Precio de ejecución para la orden." #: src/components/AprInfo/AprInfo.tsx msgid "wstETH APR" -msgstr "" +msgstr "APR de wstETH" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group" @@ -5143,11 +5187,11 @@ msgstr "Grupo de Telegram" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TP/SL: {0} a long position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Largo TP/SL: {0} una posición larga cuando se alcanza el precio de activación." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{toTokenIcon}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> a </1>{toTokenIcon}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in any {0}/USD market pools for your order." @@ -5156,11 +5200,11 @@ msgstr "Insuficiente liquidez en cualquier {0}/USD mercado de pools para tu orde #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have not traded during the selected period." -msgstr "" +msgstr "No has operado durante el período seleccionado." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "The trigger price for this order is based on the swap fees and price impact to guarantee that you will receive at least {toMinText} on order execution." -msgstr "" +msgstr "El precio de activación para esta orden se basa en las comisiones de intercambio e impacto de precio para garantizar que recibirás al menos {toMinText} en la ejecución de la orden." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated failed." @@ -5182,6 +5226,7 @@ msgstr "Falló la actualización del código de referido." #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5194,54 +5239,49 @@ msgstr "Precio" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing was cancelled" -msgstr "" +msgstr "Firma de permiso cancelada" #: src/components/Exchange/PositionSeller.jsx msgid "Realized PnL insufficient for Fees" -msgstr "" +msgstr "PnL Realizado insuficiente para Comisiones" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending shift request" -msgstr "" +msgstr "Enviando solicitud de cambio" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Optimizer" -msgstr "" +msgstr "Optimizador Yield Yak" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Incorrect Account" -msgstr "Cantidad Incorrecta" +msgstr "Cuenta Incorrecta" #: src/components/Exchange/PositionEditor.jsx msgid "Min residual collateral: 10 USD" -msgstr "" +msgstr "Garantía residual mínima: 10 USD" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX & Voting Power" -msgstr "" +msgstr "GMX y Poder de Voto" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GMX is the utility and governance token. Accrues 30% and 27% of V1 and V2 markets generated fees, respectively." -msgstr "" +msgstr "GMX es el token de utilidad y gobernanza. Acumula 30% y 27% de las comisiones generadas por mercados V1 y V2, respectivamente." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transferring" msgstr "Transfiriendo" -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "" - #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" -msgstr "" +msgstr "Vaults de autocomposición de GLP" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "TP/SL orders exceed the position" -msgstr "" +msgstr "Órdenes TP/SL exceden la posición" #: src/components/Glp/GlpSwap.jsx msgid "Buy failed." @@ -5250,19 +5290,19 @@ msgstr "Compra fallida." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "pay" -msgstr "" +msgstr "pagar" #: src/pages/Dashboard/GmxCard.tsx msgid "Total circulating supply of GMX tokens." -msgstr "" +msgstr "Suministro circulante total de tokens GMX." #: src/pages/Dashboard/WeightText.tsx msgid "Target Weight" msgstr "Peso Objetivo" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "" +#~ msgid "Winners:" +#~ msgstr "Ganadores:" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." @@ -5270,20 +5310,20 @@ msgstr "Al cerrar la posición, puedes seleccionar en que token deseas recibir l #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "You can have up to {allowedAutoCancelOrdersNumber} active auto-cancelable TP/SL orders. Additional orders must be canceled manually, while existing ones will still close automatically with their related position." -msgstr "" +msgstr "Puedes tener hasta {allowedAutoCancelOrdersNumber} órdenes TP/SL autocancelables activas. Órdenes adicionales deben cancelarse manualmente, mientras que las existentes se cerrarán automáticamente con su posición relacionada." #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL (%)" -msgstr "" +msgstr "PnL Máximo (%)" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met." -msgstr "" +msgstr "Es posible que no haya suficiente liquidez para ejecutar tu orden cuando se cumplan las condiciones de precio." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Error submitting coins" -msgstr "" +msgstr "Error al enviar monedas" #: src/components/Glp/GlpSwap.jsx msgid "WARNING: High Fees" @@ -5295,7 +5335,7 @@ msgstr "No hay suficiente liquidez de intercambio disponible para llenar la orde #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP Swap" -msgstr "" +msgstr "Cancelar Intercambio TWAP" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -5303,6 +5343,10 @@ msgstr "" msgid "Transaction" msgstr "Transacción" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "Último año" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5315,23 +5359,23 @@ msgstr "Precio de liquidación inválido" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized Buy Pressure (BB&D):" -msgstr "" +msgstr "Presión de Compra Anualizada (BB&D):" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "buy" -msgstr "" +msgstr "comprar" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAILABLE LIQ." -msgstr "" +msgstr "LIQ. DISPONIBLE" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized pnl" -msgstr "" +msgstr "PnL no realizado inicial" #: src/config/events.tsx msgid "Increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions." -msgstr "" +msgstr "Aumentar posiciones (mercado o límite), agregar garantía e intercambiar en GMX V1 ahora están desactivados. Aún puedes cerrar posiciones existentes." #: src/domain/tokens/approveTokens.tsx msgid "Approval submitted! <0>View status.</0>" @@ -5343,33 +5387,41 @@ msgstr "El tamaño de la orden es 0" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please reduce the buy size, pick a different GM token, or shift the GM tokens to a different pool and try again." -msgstr "" +msgstr "El límite de compra para la reserva GM: {0} en {1} [{2}] ha sido alcanzado. Por favor, reduce el tamaño de compra, elige un token GM diferente, o cambia los tokens GM a una reserva diferente e inténtalo de nuevo." #: src/components/Exchange/PositionSeller.jsx msgid "Close {longOrShortText} {0}" -msgstr "" +msgstr "Cerrar {longOrShortText} {0}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" -msgstr "" +msgstr "Desactivar validación para pruebas" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited!" -msgstr "" +msgstr "¡Depositado!" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx msgid "TP/SL" -msgstr "" +msgstr "TP/SL" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Max {0} in" msgstr "Máx. {0} dentro" +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "No hay elementos aún" + #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" +msgstr "Disminución Stop Loss" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" msgstr "" #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -5401,19 +5453,19 @@ msgstr "No hay posiciones abiertas" #: src/components/DepthChart/DepthChart.tsx msgid "Size, $" -msgstr "" +msgstr "Tamaño, $" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Close {0} {1}{2}" -msgstr "" +msgstr "Cerrar {0} {1}{2}" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GLV" -msgstr "" +msgstr "Vender GLV" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b Retroactive Bonus" -msgstr "" +msgstr "Bonificación Retroactiva STIP.b" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right." @@ -5421,15 +5473,23 @@ msgstr "Prueba a incrementar el \"Deslizamiento Permitido\", debajo del menú de #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy AVAX directly on <0>Avalanche</0> using these options:" -msgstr "" +msgstr "Puedes comprar AVAX directamente en <0>Avalanche</0> usando estas opciones:" #: src/components/Exchange/NetValueTooltip.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" +msgstr "Valor Neto: Garantía Inicial + PnL - Comisión de Préstamo - Comisión de Cierre" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "30d" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." msgstr "" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" -msgstr "" +msgstr "Reclamar Recompensas de Vault de Afiliado" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select different tokens" @@ -5438,7 +5498,7 @@ msgstr "Selecciona tokens diferentes" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Network Fees" -msgstr "" +msgstr "Altas Comisiones de Red" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are very high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -5448,47 +5508,47 @@ msgstr "Las tasas de red son muy altas actualmente, lo que puede deberse a un au msgid "There are more shorts than longs, borrow fees for longing is currently zero" msgstr "Hay más cortos que largos, la tasa de préstamo para entrar a largo es cero en estos momentos" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" -msgstr "" +msgstr "Últimos 90d" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "There is no liquidation price, as the position's collateral value will increase to cover any negative PnL." -msgstr "" +msgstr "No hay precio de liquidación, ya que el valor de la garantía de la posición aumentará para cubrir cualquier PnL negativo." #: src/components/TVChartContainer/DynamicLine.tsx msgid "Edit Order" -msgstr "" +msgstr "Editar Orden" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx msgid "Search Pool" -msgstr "" +msgstr "Buscar Reserva" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Chat" -msgstr "" +msgstr "Chat de Trading GMX" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" -msgstr "" +msgstr "24H%" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpie" -msgstr "" +msgstr "Perpie" #: src/components/Exchange/UsefulLinks.tsx msgid "Useful Links" msgstr "Enlaces Útiles" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "Habilitar intercambios externos" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" -msgstr "" +msgstr "Confirmaciones de Operaciones" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -5497,12 +5557,12 @@ msgid "Available" msgstr "Disponible" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "" +#~ msgid "Last 7 days" +#~ msgstr "Últimos 7 días" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" -msgstr "" +msgstr "Solv Finance" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Begin Transfer" @@ -5510,24 +5570,28 @@ msgstr "Comenzar Transferencia" #: src/components/RatingToast/RatingToast.tsx msgid "How likely are you to recommend our service to a friend or colleague?" +msgstr "¿Qué tan probable es que recomiendes nuestro servicio a un amigo o colega?" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" msgstr "" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" -msgstr "" +msgstr "Liquidez insuficiente para intercambiar garantía" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx msgid "Market Decrease" -msgstr "Disminución del mercado" +msgstr "Disminución del Mercado" #: src/components/NotifyModal/NotifyModal.tsx msgid "Governance Alerts" -msgstr "" +msgstr "Alertas de Gobernanza" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for{2} USDG" -msgstr "" +msgstr "Intercambiar {0} {1} por{2} USDG" #: src/components/Header/HomeHeaderLinks.tsx msgid "Governance" @@ -5547,11 +5611,11 @@ msgstr "Cancelar" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} updated." -msgstr "" +msgstr "{orderText} actualizada." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Tradao" -msgstr "" +msgstr "Tradao" #: src/components/Glp/GlpSwap.jsx msgid "Redemption time not yet reached" @@ -5564,7 +5628,7 @@ msgstr "Insuficiente liquidez" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Bot" -msgstr "" +msgstr "Bot de Telegram" #: src/domain/legacy.ts msgid "Order cancelled." @@ -5572,18 +5636,22 @@ msgstr "Orden cancelada." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Swap Part" -msgstr "" +msgstr "Ejecutar Parte de Intercambio TWAP" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {seconds} seconds" -msgstr "" +msgstr "<0>cada</0> {seconds} segundos" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer AVAX to Avalanche" -msgstr "" +msgstr "Comprar o Transferir AVAX a Avalanche" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "TokenTerminal" +msgstr "TokenTerminal" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -5598,11 +5666,11 @@ msgstr "Comprueba la sección \"Ahorrar en comisiones\" para obtener los porcent #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The total realized and unrealized profit and loss for the period, including fees and price impact." -msgstr "" +msgstr "El PnL total realizado y no realizado para el período, incluyendo comisiones e impacto de precio." #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Ann. Performance" -msgstr "" +msgstr "Rendimiento Anualizado" #: src/domain/legacy.ts msgid "The network Fees are very high currently, which may be due to a temporary increase in transactions on the {0} network." @@ -5614,11 +5682,15 @@ msgstr "Actual {0} a largo " #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{0} orders were not updated as max order limit reached" -msgstr "" +msgstr "{0} órdenes no se actualizaron ya que se alcanzó el límite máximo de órdenes" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "90d" #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" -msgstr "" +msgstr "¡Orden creada!" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx #: src/domain/synthetics/orders/utils.tsx @@ -5627,7 +5699,7 @@ msgstr "Liquidación" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Risk Monitoring" -msgstr "" +msgstr "Monitoreo de Riesgos GMX" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GLP tokens before" @@ -5635,19 +5707,19 @@ msgstr "El receptor no ha stakeado tokens GLP antes" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min collateral: {0}" -msgstr "" +msgstr "Garantía mínima: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter new amount or price" -msgstr "" +msgstr "Ingresa nueva cantidad o precio" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Wins and losses for fully closed positions." -msgstr "" +msgstr "Ganancias y pérdidas para posiciones completamente cerradas." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "<0>This will claim {formattedRewards} GMX.<1/><2/>After claiming, you can stake these GMX tokens by using the \"Stake\" button in the GMX section of this Earn page.<3/><4/></0>" -msgstr "" +msgstr "<0>Esto reclamará {formattedRewards} GMX.<1/><2/>Después de reclamar, puedes stakear estos tokens GMX usando el botón \"Stake\" en la sección GMX de esta página de Ganancias.<3/><4/></0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Open Binance app" @@ -5682,11 +5754,11 @@ msgstr "Editar" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No available leverage found" -msgstr "" +msgstr "No se encontró apalancamiento disponible" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Only addresses with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "Solo direcciones con más de {0} en \"Capital Usado\" son clasificadas." #: src/components/Exchange/ConfirmationBox.jsx msgid "Shorting..." @@ -5698,16 +5770,16 @@ msgstr "Tienes una transferencia <0>pendiente</0> a {pendingReceiver}." #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Limit size is required" -msgstr "" +msgstr "Se requiere tamaño límite" #: src/pages/Buy/Buy.tsx #: src/pages/Home/Home.tsx msgid "Protocol Tokens" -msgstr "" +msgstr "Tokens de Protocolo" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Collateral at Liquidation" -msgstr "" +msgstr "Garantía en Liquidación" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming you will be able to vest a maximum of {0} esGMX at a ratio of {1} {stakingToken} to 1 esGMX." @@ -5715,20 +5787,16 @@ msgstr "Tras reclamar podrás adquirir un máximo de {0} esGMX en una relación #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Today" -msgstr "" +msgstr "Hoy" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Receiver Address" msgstr "Dirección del receptor" -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "" - #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" -msgstr "" +msgstr "De" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -5742,11 +5810,11 @@ msgstr "Precio de Disparo de la Orden" #: src/components/Glp/GlpSwap.jsx msgid "Epoch ending is not acknowledged" -msgstr "" +msgstr "Fin de época no reconocido" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Increase" -msgstr "" +msgstr "Aumento Límite" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -5756,11 +5824,11 @@ msgstr "Usa el icono de editar garantía para depositar o retirar garantía." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing shorts for<4/>this size." -msgstr "" +msgstr "No hay liquidez disponible para aumentar largos para<0/>este tamaño. Tamaño máximo largo: {0}<1/><2/>No hay impacto de precio. Hay un solo<3/>precio de ejecución para disminuir cortos para<4/>este tamaño." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using any token from any network:" -msgstr "" +msgstr "Comprar GMX usando cualquier token de cualquier red:" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume traded by your referred traders." @@ -5772,43 +5840,43 @@ msgstr "Porcentaje de Stablecoin" #: src/domain/synthetics/orders/utils.tsx msgid "Parts of this order will be executed once there is sufficient liquidity." -msgstr "" +msgstr "Partes de esta orden se ejecutarán una vez que haya suficiente liquidez." #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This Order will not be valid for that Position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "Tienes una posición existente con {0} como garantía. Esta Orden no será válida para esa Posición. <0>Cambiar a garantía {1}</0>." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Please only use this for full account transfers.<0/>This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account.<1/>Transfers are only supported if the receiving account has not staked GMX or GLP tokens before.<2/>Transfers are one-way, you will not be able to transfer staked tokens back to the sending account." -msgstr "" +msgstr "Por favor, usa esto solo para transferencias completas de cuenta.<0/>Esto transferirá todos tus GMX, esGMX, GLP, Puntos Multiplicadores y poder de voto a tu nueva cuenta.<1/>Las transferencias solo se soportan si la cuenta receptora no ha stakeado tokens GMX o GLP antes.<2/>Las transferencias son de un solo sentido, no podrás transferir tokens stakeados de vuelta a la cuenta emisora." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "SNTL esGMX Market" -msgstr "" +msgstr "Mercado SNTL esGMX" #: src/components/Referrals/TradersStats.tsx msgid "Tier {0} ({currentTierDiscount}% discount)" -msgstr "" +msgstr "Nivel {0} ({currentTierDiscount}% descuento)" #: src/domain/synthetics/orders/utils.tsx msgid "This order using {collateralSymbol} as collateral will not be valid for the existing {longText} position using {symbol} as collateral." -msgstr "" +msgstr "Esta orden usando {collateralSymbol} como garantía no será válida para la posición {longText} existente usando {symbol} como garantía." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Generative Market eXplore - AIGMX Agent" -msgstr "" +msgstr "Generative Market eXplore - Agente AIGMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dolomite" -msgstr "" +msgstr "Dolomite" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order request sent" -msgstr "" +msgstr "Solicitud de orden enviada" #: src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx msgid "Express Trading is enabled. Enjoy smoother, more reliable trades!" -msgstr "" +msgstr "Trading Express habilitado. ¡Disfruta de operaciones más suaves y confiables!" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Alternatively, you can select a different \"Collateral In\" token." @@ -5816,6 +5884,10 @@ msgstr "Alternativamente, puedes seleccionar \"Garantía En\" un token distinto. #: src/components/NotifyModal/NotifyModal.tsx msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." +msgstr "Recibe alertas y anuncios de GMX para estar al tanto de tus operaciones, riesgo de liquidación y más." + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/PageNotFound/PageNotFound.jsx @@ -5824,36 +5896,36 @@ msgstr "<0>Volver a </0><1>Página inicial</1> <2>o </2> <3>Operar</3>" #: src/components/Synthetics/BridgingInfo/BridgingInfo.tsx msgid "Bridge {tokenSymbol} to {chainName} with" -msgstr "" +msgstr "Puente {tokenSymbol} a {chainName} con" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing failed" -msgstr "" +msgstr "Firma de permiso fallida" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price below mark price" -msgstr "" +msgstr "Precio stop market por debajo del precio de referencia" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Swapped {0} {1} for {2} {3}!" -msgstr "Intercambiar {0} {1} por {2} {3}!" +msgstr "Intercambiado {0} {1} por {2} {3}!" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "A size percentage is required" -msgstr "" +msgstr "Se requiere un porcentaje de tamaño" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show more" -msgstr "" +msgstr "Mostrar más" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized Fees" -msgstr "" +msgstr "Comisiones No Realizadas" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx @@ -5862,38 +5934,42 @@ msgstr "Traders Referidos" #: src/pages/Stake/StakeModal.tsx msgid "Stake submitted!" -msgstr "" +msgstr "¡Stake enviado!" #: src/components/Exchange/PositionsList.jsx msgid "Use the \"Close\" button to reduce your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "Usa el botón \"Cerrar\" para reducir el Tamaño de tu Posición, o para establecer Órdenes Take Profit / Stop Loss." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Market)" -msgstr "" +msgstr "Aumentar Tamaño (Mercado)" #: src/domain/synthetics/trade/utils/validation.ts msgid "Couldn't find a swap path with enough liquidity" -msgstr "" +msgstr "No se pudo encontrar una ruta de intercambio con suficiente liquidez" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdrawn!" -msgstr "" +msgstr "¡Retirado!" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "3rd Place" +msgstr "3er Lugar" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." msgstr "" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" -msgstr "" +msgstr "Reclamación fallida" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Loss" -msgstr "" +msgstr "Actualizar Stop Loss" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -5913,25 +5989,25 @@ msgstr "Superados largos Máx. de {0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "N/A" -msgstr "" +msgstr "N/A" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is below mark price" -msgstr "" +msgstr "Precio Stop Market por debajo del precio de referencia" #: src/components/Exchange/PositionEditor.jsx #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Amount should be greater than zero" -msgstr "" +msgstr "La cantidad debe ser mayor que cero" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpetuals Aggregator" -msgstr "" +msgstr "Agregador de Perpetuos" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "" +#~ msgid "LIVE" +#~ msgstr "EN VIVO" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -5952,20 +6028,20 @@ msgstr "Balance" #: src/pages/Stake/Stake.tsx msgid "Liquidity and trading incentives programs are live on {avalancheLink}." -msgstr "" +msgstr "Programas de incentivos de liquidez y trading están en vivo en {avalancheLink}." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX v2 Telegram & Discord Analytics" -msgstr "" +msgstr "Análisis de GMX v2 Telegram & Discord" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-enable" -msgstr "" +msgstr "Re-habilitar" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "I do not want to transfer the Affiliate esGMX tokens" -msgstr "" +msgstr "No quiero transferir los tokens esGMX de Afiliado" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and {action}" @@ -5973,47 +6049,47 @@ msgstr "Renunciar a la ganancia y {action}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win/Loss" -msgstr "" +msgstr "Ganancia/Pérdida" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Names could be separated by commas or spaces" -msgstr "" +msgstr "Los nombres pueden separarse por comas o espacios" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from decentralized exchanges" -msgstr "" +msgstr "Comprar GMX de exchanges descentralizados" #: src/components/NotifyModal/NotifyModal.tsx msgid "Powered by" -msgstr "" +msgstr "Impulsado por" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order executed" -msgstr "" +msgstr "Orden de compra ejecutada" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the set acceptable price impact. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "El precio aceptable de la orden incluye el impacto de precio aceptable establecido. El precio de ejecución debe cumplir esta condición para que la orden se ejecute." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "This TWAP order will execute {numberOfParts} {0} {type} orders of {1} each over the next {2} for the {3} market." -msgstr "" +msgstr "Esta orden TWAP ejecutará {numberOfParts} {0} {type} órdenes de {1} cada una durante los próximos {2} para el mercado {3}." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim submitted." -msgstr "" +msgstr "Reclamación enviada." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "OPEN INTEREST" -msgstr "" +msgstr "INTERÉS ABIERTO" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Failed to download trade history CSV." -msgstr "" +msgstr "Falló la descarga del CSV de historial de operaciones." #: src/domain/synthetics/positions/utils.ts msgid "market" -msgstr "" +msgstr "mercado" #: src/components/Referrals/JoinReferralCode.tsx msgid "Same as current active code" @@ -6021,20 +6097,20 @@ msgstr "Igual que el código activo actual" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "The current swap impact including fees is {0}. Consider adding a buffer of 1% to it so the order is more likely to be processed" -msgstr "" +msgstr "El impacto de intercambio actual incluyendo comisiones es {0}. Considera agregar un buffer del 1% para que la orden sea más probable de procesarse" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Win / Loss" -msgstr "" +msgstr "Ganancia / Pérdida" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 rebates are airdropped weekly. V2 rebates are automatically applied as fee discounts on each trade and do not show on this table." -msgstr "" +msgstr "Reembolsos V1 se lanzan semanalmente. Reembolsos V2 se aplican automáticamente como descuentos de comisiones en cada operación y no se muestran en esta tabla." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min position size: {0}" -msgstr "" +msgstr "Tamaño mínimo de posición: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6042,36 +6118,36 @@ msgstr "" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below mark price" -msgstr "" +msgstr "Precio de activación por debajo del precio de referencia" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "No delegate found" -msgstr "" +msgstr "No se encontró delegado" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Community with NFTs, Trading and Education initiatives" -msgstr "" +msgstr "Comunidad GMX con iniciativas de NFTs, Trading y Educación" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Confirmations" -msgstr "" +msgstr "Confirmaciones de Liquidación" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the stop market order executes." -msgstr "" +msgstr "Precio de ejecución esperado para la orden, incluyendo el impacto de precio actual, una vez que la orden stop market se ejecute." #: src/components/Glp/GlpSwap.jsx msgid "Acknowledge epoch is ending in {minutes} minutes" -msgstr "" +msgstr "Reconocer que la época termina en {minutes} minutos" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Price Impact" -msgstr "" +msgstr "Alto Impacto de Precio" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX. For security reasons, we won't contact you first. Please send the message \"I have feedback\" to any of our official accounts:" -msgstr "" +msgstr "Queremos tus insights para mejorar GMX. Por razones de seguridad, no te contactaremos primero. Por favor, envía el mensaje \"Tengo feedback\" a cualquiera de nuestras cuentas oficiales:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Claim esGMX" @@ -6079,19 +6155,19 @@ msgstr "Reclamar esGMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer ETH to Arbitrum" -msgstr "" +msgstr "Comprar o Transferir ETH a Arbitrum" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." -msgstr "" +msgstr "La diferencia porcentual máxima entre tu precio especificado y el precio de ejecución al colocar órdenes." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the limit order executes." -msgstr "" +msgstr "Precio de ejecución esperado para la orden, incluyendo el impacto de precio actual, una vez que la orden límite se ejecute." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of open fee" -msgstr "" +msgstr "de comisión de apertura" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -6125,7 +6201,7 @@ msgstr "Ejecutar Intercambio Límite" #: src/pages/BuyGMX/BuyGMX.tsx msgid "To purchase GMX on the {0} blockchain, please <0>change your network</0>." -msgstr "" +msgstr "Para comprar GMX en la blockchain {0}, por favor <0>cambia tu red</0>." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx #: src/components/NpsModal/NpsModal.tsx @@ -6136,7 +6212,7 @@ msgstr "Enviar" #: src/domain/tokens/approveTokens.tsx msgid "Permit signed!" -msgstr "" +msgstr "¡Permiso firmado!" #: src/components/Exchange/TradeHistory.jsx msgid "Request withdrawal from {0} {longOrShortText}" @@ -6148,9 +6224,10 @@ msgstr "Seleccionar una opción" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "less than a minute" -msgstr "" +msgstr "menos de un minuto" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "Ecosistema" @@ -6168,16 +6245,16 @@ msgstr "Crear" #: src/components/Exchange/SwapBox.jsx msgid "Limit order submitted!" -msgstr "¡Orden limite enviada!" +msgstr "¡Orden límite enviada!" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" -msgstr "" +msgstr "Últimos 7d" #: src/components/Synthetics/StatusNotification/StakeNotification.tsx msgid "Swap {fromAmount} for {toAmount}" -msgstr "" +msgstr "Intercambiar {fromAmount} por {toAmount}" #: src/components/Exchange/PositionShare.tsx msgid "Copy" @@ -6191,11 +6268,11 @@ msgstr "Cantidad" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} order" -msgstr "" +msgstr "Crear {0} orden" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx msgid "Edit {0} {1}{2}" -msgstr "" +msgstr "Editar {0} {1}{2}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6204,11 +6281,11 @@ msgstr "Aún no hay historial de distribución de reembolsos." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Governance" -msgstr "" +msgstr "Gobernanza GMX" #: src/domain/synthetics/orders/utils.tsx msgid "trigger price" -msgstr "" +msgstr "precio de activación" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -6225,12 +6302,12 @@ msgstr "Reclamar" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Price Impact / Fees" -msgstr "" +msgstr "Impacto de Precio / Comisiones" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "" +#~ msgid "GMX {versionName} Account" +#~ msgstr "Cuenta GMX {versionName}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6244,11 +6321,11 @@ msgstr "El precio de ejecución de la orden tiene en cuenta el impacto del preci #: src/pages/Buy/Buy.tsx msgid "Buy GLP or GMX" -msgstr "" +msgstr "Comprar GLP o GMX" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max Out" -msgstr "" +msgstr "Máximo" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6276,35 +6353,39 @@ msgstr "Conectar" #: src/components/InterviewToast/InterviewToast.tsx msgid "Click here to give us your feedback on GMX." -msgstr "" +msgstr "Haz clic aquí para darnos tu feedback sobre GMX." #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche Fuji" -msgstr "" +msgstr "V1 Avalanche Fuji" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "1st Place" -msgstr "" +msgstr "1er Lugar" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "D2.Finance" -msgstr "" +msgstr "D2.Finance" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized:" +msgstr "Anualizado:" + +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" msgstr "" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" -msgstr "" +msgstr "Falló la firma de aprobación" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Starts in" -msgstr "" +msgstr "Comienza en" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -6314,13 +6395,9 @@ msgstr "Las tasas de red son altas actualmente, lo que puede deberse a un aument msgid "Scan the QR code" msgstr "Escanear el código QR" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" -msgstr "" +msgstr "Orden de cambio GM desconocida" #: src/components/Exchange/TradeHistory.jsx msgid "Max leverage of 100x was exceeded, the remaining collateral after deducting losses and fees have been sent back to your account:" @@ -6328,7 +6405,7 @@ msgstr "El apalancamiento máximo de 100x ha sido superado, la garantía restant #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Shifting {symbol}..." -msgstr "" +msgstr "Cambiando {symbol}..." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order." @@ -6340,23 +6417,27 @@ msgstr "No hay suficiente liquidez disponible para llenar la orden." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above mark price" -msgstr "" +msgstr "Precio de activación por encima del precio de referencia" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size exceeds position" msgstr "El tamaño de la orden supera la posición" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "" + #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" -msgstr "La actualización de la orden se ha enviado" +msgstr "¡Actualización de orden enviada!" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw failed." -msgstr "" +msgstr "Habilitar retiro fallido." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Explore, analyze, and copy on-chain traders" -msgstr "" +msgstr "Explora, analiza y copia traders on-chain" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit" @@ -6364,7 +6445,7 @@ msgstr "Renunciar a la ganancia" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Sell Fee" -msgstr "" +msgstr "Comisión de Venta" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx @@ -6372,11 +6453,11 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Execution Details" -msgstr "" +msgstr "Detalles de Ejecución" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GM Airdrop" -msgstr "" +msgstr "Airdrop GM" #: src/components/Glp/GlpSwap.jsx msgid "Save on Fees" @@ -6384,7 +6465,7 @@ msgstr "Ahorrar en Comisiones" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Take Profit" -msgstr "" +msgstr "Actualizar Take Profit" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -6393,24 +6474,24 @@ msgstr "Órdenes Activas" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "You have set a high acceptable price impact. The current price impact is {0}." -msgstr "" +msgstr "Has establecido un alto impacto de precio aceptable. El impacto de precio actual es {0}." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Lending and Borrowing" -msgstr "" +msgstr "Préstamos y Empréstitos" #: src/components/Exchange/SwapBox.jsx msgid "Switch to {0} collateral." -msgstr "" +msgstr "Cambiar a garantía {0}." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GMX Vault" -msgstr "" +msgstr "Vault GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Jones DAO" -msgstr "" +msgstr "Jones DAO" #: src/components/Exchange/TradeHistory.jsx msgid "Partially Liquidated" @@ -6422,16 +6503,16 @@ msgstr "Balance GLP insuficiente" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Minute(s)" -msgstr "" +msgstr "Minuto(s)" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized Fees" -msgstr "" +msgstr "Comisiones No Realizadas Iniciales" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "V2 trading" -msgstr "" +msgstr "Trading V2" #: src/components/Exchange/ConfirmationBox.jsx msgid "view" @@ -6439,7 +6520,7 @@ msgstr "vista" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancel failed." -msgstr "" +msgstr "{orderText} cancelación fallida." #: src/components/Exchange/OrdersToa.jsx msgid "Accept terms to enable orders" @@ -6461,6 +6542,9 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"Liquidado {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} Precio: {3} USD" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Inc." @@ -6468,11 +6552,11 @@ msgstr "Inc." #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed amount" -msgstr "" +msgstr "Comisiones exceden la cantidad" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx msgid "Search Type" -msgstr "" +msgstr "Buscar Tipo" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is below its target weight.<0/><1/>Get lower fees to <2>buy GLP</2> with {1}, and to <3>swap</3> {2} for other tokens." @@ -6481,23 +6565,23 @@ msgstr "{0} está por debajo de su peso objetivo.<0/><1/>Consigue menores comisi #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win Rate" -msgstr "" +msgstr "Tasa de Ganancia" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "Ahorra {0} en impacto de precio y comisiones <0><1>cambiando a la reserva {1}</1>.</0>" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" -msgstr "" +msgstr "Tienes tokens esGMX en el Vault de Afiliado, necesitas retirar estos tokens si quieres transferirlos a la nueva cuenta" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Explorer" -msgstr "" +msgstr "Abrir {0} en Explorer" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} and {1} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} y {1} se pueden usar para comprar GM en este mercado hasta los límites de compra especificados." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/StatusNotification/StakeNotification.tsx @@ -6511,7 +6595,7 @@ msgstr "Ver" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Market" -msgstr "" +msgstr "Ejecutar Stop Market" #: src/components/Referrals/TradersStats.tsx msgid "Volume traded by this account with an active referral code." @@ -6519,7 +6603,7 @@ msgstr "Volumen negociado por esta cuenta con un código de referido activo." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized fees" -msgstr "" +msgstr "Comisiones no realizadas iniciales" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Codes" @@ -6534,11 +6618,16 @@ msgstr "GMX adquirido no retirado" msgid "FEES" msgstr "COMISIONES" +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "Todos los Mercados" + #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Open Fee" -msgstr "" +msgstr "Comisión de Apertura" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Looks like you don't have a referral code to share. <0/> Create one now and start earning rebates!" @@ -6548,15 +6637,15 @@ msgstr "Parece que no tienes un código de referido para compartir. <0/> ¡Crea #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Update 1CT (One-Click Trading) settings" -msgstr "" +msgstr "Actualizar configuraciones 1CT (One-Click Trading)" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Kudai AI Agent" -msgstr "" +msgstr "Agente AI Kudai" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Current Price" -msgstr "" +msgstr "Precio Actual" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT ID" @@ -6564,7 +6653,7 @@ msgstr "Introduce tu ID de NFT" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal failed." -msgstr "" +msgstr "Retiro fallido." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -6573,19 +6662,19 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Limit Price" -msgstr "Precio límite" +msgstr "Precio Límite" #: src/components/AddressView/AddressView.tsx msgid "You" -msgstr "" +msgstr "Tú" #: src/components/Synthetics/GmList/GmList.tsx msgid "Pools providing liquidity to specific GMX markets, supporting single-asset and native asset options." -msgstr "" +msgstr "Reservas que proporcionan liquidez a mercados GMX específicos, soportando opciones de activo único y activo nativo." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivate 1CT (One-Click Trading)" -msgstr "" +msgstr "Desactivar 1CT (One-Click Trading)" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute deposit into {0} {longOrShortText}" @@ -6606,11 +6695,11 @@ msgstr "Depositar" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d Est. Fees" -msgstr "" +msgstr "Comisiones Est. 365d" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below highest limit price" -msgstr "" +msgstr "Precio de activación por debajo del precio límite más alto" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -6622,11 +6711,11 @@ msgstr "Precio Aceptable" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell request sent" -msgstr "" +msgstr "Solicitud de venta enviada" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Margin Protocol" -msgstr "" +msgstr "Protocolo de Margen DeFi" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6636,23 +6725,23 @@ msgstr "Activando Apalancamiento..." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap to the receive token when the price conditions are met." -msgstr "" +msgstr "Es posible que no haya suficiente liquidez para ejecutar el intercambio al token de recepción cuando se cumplan las condiciones de precio." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawn {balanceFormatted} to Main Account" -msgstr "" +msgstr "Retirado {balanceFormatted} a Cuenta Principal" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Errors" -msgstr "" +msgstr "Errores de Operaciones" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Consider selecting only positions where the accrued funding fee exceeds the {0} gas cost to settle each position." -msgstr "" +msgstr "Considera seleccionar solo posiciones donde la comisión de financiamiento acumulada exceda el costo de gas {0} para liquidar cada posición." #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} using the pay token selected is reached. Please choose a different pool, reduce the buy size, or pick a different composition of tokens." -msgstr "" +msgstr "El límite de compra para la reserva GM: {0} usando el token de pago seleccionado ha sido alcanzado. Por favor, elige una reserva diferente, reduce el tamaño de compra o elige una composición diferente de tokens." #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you use to buy GLP. <0/>Enter the amount of GLP you want to purchase in the order form, then check here to compare fees." @@ -6660,7 +6749,7 @@ msgstr "Las comisiones pueden variar dependiendo del activo que uses para compra #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Claim <0>{0}</0>" -msgstr "" +msgstr "Reclamar <0>{0}</0>" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6693,15 +6782,17 @@ msgstr "tiempo para liq." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Fees" -msgstr "" +msgstr "Comisiones Realizadas" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Positions" -msgstr "" +msgstr "Posiciones Principales" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" -msgstr "" +msgstr "Reservas" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute withdrawal from {0} {longOrShortText}" @@ -6709,11 +6800,11 @@ msgstr "No se pudo ejecutar la retirada desde {0} {longOrShortText}" #: src/components/Synthetics/GmList/GlvList.tsx msgid "VAULT" -msgstr "" +msgstr "VAULT" #: src/components/Glp/GlpSwap.jsx msgid "Fees (Rebated)" -msgstr "" +msgstr "Comisiones (Reembolsadas)" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Your transfer has been completed." @@ -6721,29 +6812,29 @@ msgstr "Su transferencia ha sido completada." #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "We Value Your Feedback" -msgstr "" +msgstr "Valoramos Tu Feedback" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Loss" -msgstr "" +msgstr "Stop Loss" #: src/pages/Stake/Stake.tsx msgid "Liquidity incentives program is live on {avalancheLink}." -msgstr "" +msgstr "Programa de incentivos de liquidez está en vivo en {avalancheLink}." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could still be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "Esta posición aún podría liquidarse, excluyendo cualquier movimiento de precio, debido a tasas de financiamiento y préstamo que reducen la garantía de la posición con el tiempo." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Transfer {nativeTokenSymbol}" -msgstr "" +msgstr "Transferir {nativeTokenSymbol}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Meme" -msgstr "" +msgstr "Meme" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx @@ -6752,44 +6843,44 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeboxTransactions.tsx msgid "Error submitting order" -msgstr "" +msgstr "Error al enviar la orden" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Rebates and V1/V2 esGMX are airdropped weekly. V2 Rebates are claimed manually." -msgstr "" +msgstr "Reembolsos V1 y esGMX V1/V2 se lanzan semanalmente. Reembolsos V2 se reclaman manualmente." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Duration" -msgstr "" +msgstr "Duración" #: src/components/Common/SEO.tsx msgid "Trade spot or perpetual BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet on Arbitrum and Avalanche." -msgstr "" +msgstr "Opera spot o perpetuos BTC, ETH, AVAX y otras criptomonedas top con hasta 100x apalancamiento directamente desde tu wallet en Arbitrum y Avalanche." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max In" -msgstr "" +msgstr "Máx. Dentro" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Myself" -msgstr "" +msgstr "Yo mismo" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" -msgstr "" +msgstr "Buscar Dirección" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max GM buyable amount reached" -msgstr "" +msgstr "Cantidad máxima comprable de GM alcanzada" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Session generated" -msgstr "" +msgstr "Sesión generada" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" -msgstr "" +msgstr "Comprar GMX" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -6798,27 +6889,27 @@ msgstr "Capacidad {0} máxima" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copy error" -msgstr "" +msgstr "Error de copia" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects developed by the GMX community. <0/>Please exercise caution when interacting with any app, apps are fully maintained by community developers." -msgstr "" +msgstr "Proyectos desarrollados por la comunidad GMX. <0/>Por favor, ejerce precaución al interactuar con cualquier app, las apps son mantenidas completamente por desarrolladores de la comunidad." #: src/domain/synthetics/userFeedback/utils.ts msgid "What areas can we improve to make your experience better?" -msgstr "" +msgstr "¿En qué áreas podemos mejorar para hacer tu experiencia mejor?" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Market: {0} a long position at the current price." -msgstr "" +msgstr "{typeString} Mercado Largo: {0} una posición larga al precio actual." #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a collateral" -msgstr "" +msgstr "Seleccionar una garantía" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Size per part" -msgstr "" +msgstr "Tamaño por parte" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -6835,15 +6926,15 @@ msgstr "Balance {0} insuficiente" #: src/domain/synthetics/orders/utils.tsx msgid "limit price" -msgstr "" +msgstr "precio límite" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price impact rebates for closing trades are claimable under the claims tab. <0>Read more</0>." -msgstr "" +msgstr "Reembolsos de impacto de precio para cierres de operaciones son reclamables en la pestaña de reclamaciones. <0>Leer más</0>." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Sending order request" -msgstr "" +msgstr "Enviando solicitud de orden" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Can't execute because of an error" @@ -6851,32 +6942,32 @@ msgstr "No se puede ejecutar debido a un error" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Yield Products" -msgstr "" +msgstr "Productos de Rendimiento Descentralizados" #: src/components/Exchange/PositionSeller.jsx msgid "Keep Leverage is not possible" -msgstr "" +msgstr "Mantener Apalancamiento no es posible" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee includes fees for additional orders. It will be sent back in full to your account if they don't trigger and are cancelled. <0>Read more</0>." -msgstr "" +msgstr "Comisión Máxima de Red incluye comisiones para órdenes adicionales. Se enviará de vuelta en su totalidad a tu cuenta si no se activan y se cancelan. <0>Leer más</0>." #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Failed to settle" -msgstr "" +msgstr "{positionName} Falló en liquidar" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates" -msgstr "" +msgstr "Reembolsos" #: src/components/Glp/GlpSwap.jsx msgid "GLP is not sellable" -msgstr "" +msgstr "GLP no es vendible" #: src/pages/BuyGlp/BuyGlp.jsx msgid "GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "Mercados GMX V1 están desactivados y solo permiten cierre de posiciones. GLP está siendo eliminado gradualmente y ya no soporta mercados GMX V1." #: src/components/Glp/GlpSwap.jsx msgid "Sell failed." @@ -6884,7 +6975,7 @@ msgstr "Venta fallida." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit" -msgstr "" +msgstr "Actualizar Límite" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -6894,8 +6985,9 @@ msgstr "Editar orden" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" -msgstr "" +msgstr "Reclamaciones" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6909,7 +7001,7 @@ msgstr "Fecha" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using FIAT gateways:" -msgstr "" +msgstr "Comprar GMX usando pasarelas FIAT:" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Referral code created!" @@ -6931,15 +7023,15 @@ msgstr "Precio de Activación" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Sellable" -msgstr "" +msgstr "Vendible" #: src/components/Exchange/PositionSeller.jsx msgid "Initial Collateral (Collateral excluding Borrow Fee)." -msgstr "" +msgstr "Garantía Inicial (Garantía excluyendo Comisión de Préstamo)." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "COMPETITION Airdrop" -msgstr "" +msgstr "Airdrop COMPETITION" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx @@ -6948,16 +7040,16 @@ msgstr "Introduzca la Dirección del Receptor" #: src/pages/Stake/VesterDepositModal.tsx msgid "Additional reserve required" -msgstr "" +msgstr "Reserva adicional requerida" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" msgstr "Términos y Condiciones" #: src/pages/Stake/ClaimModal.tsx msgid "Convert {wrappedTokenSymbol} to {nativeTokenSymbol}" -msgstr "" +msgstr "Convertir {wrappedTokenSymbol} a {nativeTokenSymbol}" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -6970,11 +7062,15 @@ msgstr "Descargar" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Swap {0} for {1}" -msgstr "" +msgstr "Intercambiar {0} por {1}" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity" -msgstr "" +msgstr "Capacidad de Vault" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "Profundidad" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" @@ -6982,15 +7078,15 @@ msgstr "Reducción activa: {0}, ejecutada: {1}, cancelada: {2}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 1" -msgstr "" +msgstr "Capa 1" #: src/components/Exchange/TradeHistory.jsx msgid "{0}  {1} {longOrShortText}, -{2} USD, {3} Price: ${4} USD" -msgstr "" +msgstr "{0}  {1} {longOrShortText}, -{2} USD, {3} Precio: ${4} USD" #: src/components/Exchange/PositionSeller.jsx msgid "Keep leverage at {0}x" -msgstr "" +msgstr "Mantener apalancamiento en {0}x" #: src/pages/Stake/StakeModal.tsx msgid "Staking..." @@ -6998,16 +7094,16 @@ msgstr "Stakeando..." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy request sent" -msgstr "" +msgstr "Solicitud de compra enviada" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} amount exceeded" -msgstr "" +msgstr "Cantidad máxima de {0} excedida" #: src/components/Exchange/PositionSeller.jsx msgid "Position close disabled, pending {0} upgrade" -msgstr "" +msgstr "Cierre de posición deshabilitado, pendiente actualización de {0}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Swapping..." @@ -7015,7 +7111,7 @@ msgstr "Intercambiando..." #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Realized Base PnL" -msgstr "" +msgstr "PnL Base Realizado" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -7023,15 +7119,15 @@ msgstr "" #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap failed." -msgstr "Falló el Intercambio." +msgstr "Intercambio fallido." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Failed to withdraw {balanceFormatted} to Main Account" -msgstr "" +msgstr "Falló el retiro de {balanceFormatted} a la Cuenta Principal" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from swaps for the {0}/{1} market. It is also exposed to {2} and {3} as per the composition displayed." -msgstr "" +msgstr "Este token acumula automáticamente comisiones de intercambios para el mercado {0}/{1}. También está expuesto a {2} y {3} según la composición mostrada." #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -7040,11 +7136,11 @@ msgstr "Página obsoleta, por favor actualice" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals" -msgstr "" +msgstr "Propuestas de GMX" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUY…" -msgstr "" +msgstr "COMPRAR…" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Arbitrum" @@ -7053,45 +7149,45 @@ msgstr "Adquiera con GLP en Arbitrum" #: src/components/InterviewModal/InterviewModal.tsx #: src/components/InterviewModal/InterviewModal.tsx msgid "Telegram account" -msgstr "" +msgstr "Cuenta de Telegram" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "" +#~ msgid "SOON" +#~ msgstr "PRONTO" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" -msgstr "" +msgstr "Vender {operationTokenSymbol}" #: src/components/Exchange/PositionEditor.jsx msgid "Liquidation price would cross mark price." -msgstr "" +msgstr "El precio de liquidación cruzaría el precio de referencia." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perfectswap" -msgstr "" +msgstr "Perfectswap" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Leaderboard for traders on GMX V2." -msgstr "" +msgstr "Tabla de clasificación para traders en GMX V2." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Withdraw" -msgstr "Retirada Fallida" +msgstr "Retiro Fallido" #: src/pages/Referrals/Referrals.tsx msgid "Get fee discounts and earn rebates through the GMX referral program.<0/>For more information, please read the <1>referral program details</1>." -msgstr "" +msgstr "Obtenga descuentos en comisiones y gane reembolsos a través del programa de referidos de GMX.<0/>Para más información, lea los <1>detalles del programa de referidos</1>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Freeze" -msgstr "" +msgstr "Congelar" #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Express params loading..." -msgstr "" +msgstr "Cargando parámetros express..." #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "As there is not enough liquidity in GLP to swap {0} to {swapTokenSymbol}, you can use the option below to do so:" @@ -7106,17 +7202,17 @@ msgstr "¡Reclamación completada!" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Market" -msgstr "" +msgstr "Stop Mercado" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Min number of parts: {MIN_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Número mínimo de partes: {MIN_TWAP_NUMBER_OF_PARTS}" #: src/components/Exchange/PositionSeller.jsx msgid "You can change this in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" +msgstr "Puedes cambiar esto en el menú de ajustes en la esquina superior derecha de la página.<0/><1/>Nota que un deslizamiento permitido bajo, por ejemplo, menos de {0}, puede resultar en órdenes fallidas si los precios son volátiles." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -7125,7 +7221,7 @@ msgstr "Solicitar liquidación de comisiones de financiación" #: src/pages/Dashboard/WeightText.tsx msgid "Current Weight" -msgstr "Actual peso" +msgstr "Peso Actual" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Partnerships and Integrations" @@ -7133,21 +7229,21 @@ msgstr "Asociaciones e Integraciones" #: src/components/Exchange/PositionEditor.jsx msgid "Leftover Collateral not enough to cover fees" -msgstr "" +msgstr "Garantía restante insuficiente para cubrir comisiones" #: src/components/InterviewToast/InterviewToast.tsx #: src/components/InterviewToast/InterviewToast.tsx msgid "As a token of our appreciation, you'll receive a reward of <0>100 <1/></0>." -msgstr "" +msgstr "Como muestra de nuestro agradecimiento, recibirás una recompensa de <0>100 <1/></0>." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above limit price" -msgstr "" +msgstr "Precio de activación por encima del precio límite" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a Pay token" -msgstr "" +msgstr "Selecciona un token de pago" #: src/components/Exchange/SwapBox.jsx msgid "Swap {0} submitted!" @@ -7155,7 +7251,7 @@ msgstr "¡Intercambio {0} enviado!" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The available liquidity will be the lesser of the difference between the maximum value and the current value for both the reserve and open interest." -msgstr "" +msgstr "La liquidez disponible será la menor de la diferencia entre el valor máximo y el valor actual tanto para la reserva como para el interés abierto." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral Code does not exist" @@ -7163,18 +7259,18 @@ msgstr "El Código de Referido no existe" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "shift" -msgstr "" +msgstr "cambio" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GLP to GM Airdrop" -msgstr "" +msgstr "Airdrop de GLP a GM" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Vaults" -msgstr "Cajas de rendimientos" +msgstr "Vaults de Rendimiento" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Portuguese)" @@ -7182,7 +7278,7 @@ msgstr "Grupo de Telegram (Portugués)" #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX V2 Actions" -msgstr "" +msgstr "Acciones de GMX V2" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code has been taken by someone else on {takenNetworkNames}, you will not receive rebates from traders using this code on {takenNetworkNames}." @@ -7192,27 +7288,27 @@ msgstr "Este código ha sido tomado por otra persona en {takenNetworkNames}, no #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Confirm Claim" -msgstr "" +msgstr "Confirmar Reclamación" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX community discussion" -msgstr "Debate comunitario de GMX" +msgstr "Discusión comunitaria de GMX" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} Las reservas GLV están <0>incentivadas{sparkle}.</0>" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GM" -msgstr "" +msgstr "Vender GM" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power." -msgstr "" +msgstr "<0>Delega tu poder de voto {0} GMX DAO no delegado</0>." #: src/domain/synthetics/markets/createShiftTxn.ts msgid "Shift error." -msgstr "" +msgstr "Error de cambio." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7278,11 +7374,11 @@ msgstr "Reserva" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Venus" -msgstr "" +msgstr "Venus" #: src/pages/Referrals/Referrals.tsx msgid "Referral code creation failed." -msgstr "" +msgstr "Creación del código de referido fallida." #: src/components/Glp/SwapErrorModal.tsx msgid "<0>The pool's capacity has been reached for {0}. Please use another token to buy GLP.</0><1>Check the \"Save on Fees\" section for tokens with the lowest fees.</1>" @@ -7294,7 +7390,7 @@ msgstr "Paneles y análisis de GMX." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "External Swap {0} to {1}" -msgstr "" +msgstr "Intercambio Externo {0} a {1}" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx @@ -7304,11 +7400,11 @@ msgstr "Posición" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Bonus Rebate" -msgstr "" +msgstr "Reembolso de Bonificación" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing position in the {0} market pool, but it lacks liquidity for this order." -msgstr "" +msgstr "Tienes una posición existente en la reserva del mercado {0}, pero carece de liquidez para esta orden." #: src/components/Exchange/PositionEditor.jsx msgid "Enable Leverage" @@ -7316,35 +7412,35 @@ msgstr "Habilitar Apalancamiento" #: src/components/Exchange/PositionSeller.jsx msgid "Close without profit" -msgstr "" +msgstr "Cerrar sin ganancias" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "{title}" -msgstr "" +msgstr "{title}" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Increasing" -msgstr "" +msgstr "Incrementando" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" -msgstr "" +msgstr "Más rápido" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Lev." -msgstr "" +msgstr "Apal. Prom." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing longs for<4/>this size." -msgstr "" +msgstr "No hay liquidez disponible para incrementar cortos para<0/>este tamaño. Tamaño máximo corto: {0}<1/><2/>No hay impacto de precio. Hay un solo<3/>precio de ejecución para disminuir largos para<4/>este tamaño." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche LP incentives" -msgstr "" +msgstr "Incentivos LP en Avalanche" #: src/components/Stake/GMXAprTooltip.tsx msgid "{nativeTokenSymbol} APR" -msgstr "" +msgstr "APR de {nativeTokenSymbol}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Chinese)" @@ -7352,75 +7448,75 @@ msgstr "Grupo de Telegram (Chino)" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for {2} {3}" -msgstr "" +msgstr "Intercambiar {0} {1} por {2} {3}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "<0>This will withdraw all esGMX tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button.<5/><6/></0>" -msgstr "" +msgstr "<0>Esto retirará todos los tokens esGMX y pausará la adquisición.<1/><2/>Los tokens esGMX que han sido convertidos a GMX serán reclamados y permanecerán como tokens GMX.<3/><4/>Para reclamar tokens GMX sin retirar, usa el botón \"Reclamar\".<5/><6/></0>" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "DeFi" -msgstr "" +msgstr "DeFi" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "SNAPSHOT" -msgstr "" +msgstr "SNAPSHOT" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Liquidation Price" -msgstr "" +msgstr "Precio de Liquidación" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Voting Power" -msgstr "" +msgstr "Poder de Voto" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The long reserve accounts for the PnL of open positions, while the open interest does not." -msgstr "" +msgstr "La reserva larga contabiliza el PnL de posiciones abiertas, mientras que el interés abierto no lo hace." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Take Profit" -msgstr "" +msgstr "Cancelar Toma de Ganancias" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL ($)" -msgstr "" +msgstr "PnL Máximo ($)" #: src/pages/AccountDashboard/AccountDashboard.tsx msgid "Invalid address. Please make sure you have entered a valid Ethereum address" -msgstr "" +msgstr "Dirección inválida. Asegúrate de haber ingresado una dirección Ethereum válida" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GMX Vesting Vault" -msgstr "El remitente ha retirado todos los tokens del Cajas de Adquisición GMX" +msgstr "El remitente ha retirado todos los tokens del Vault de Adquisición GMX" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Failed Settlement of Funding Fees" -msgstr "" +msgstr "Liquidación Fallida de Comisiones de Financiación" #: src/components/Exchange/ConfirmationBox.jsx msgid "Pay Amount" -msgstr "Importe a pagar" +msgstr "Importe a Pagar" #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GLP is the liquidity provider token for GMX V1 markets. Accrues 70% of the V1 markets generated fees." -msgstr "" +msgstr "GLP es el token de proveedor de liquidez para mercados GMX V1. Acumula el 70% de las comisiones generadas por mercados V1." #: src/domain/synthetics/orders/utils.tsx msgid "{increaseOrDecreaseText} {tokenText} by {sizeText}" -msgstr "" +msgstr "{increaseOrDecreaseText} {tokenText} por {sizeText}" #: src/pages/Stake/UnstakeModal.tsx msgid "{0}<0>You will earn {1}% less rewards with this action.</0>" -msgstr "" +msgstr "{0}<0>Ganarás {1}% menos recompensas con esta acción.</0>" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirming..." -msgstr "" +msgstr "Confirmando..." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7435,7 +7531,7 @@ msgstr "Incrementar" #: src/pages/Stake/ClaimModal.tsx msgid "Claim {wrappedTokenSymbol} Rewards" -msgstr "" +msgstr "Reclamar Recompensas de {wrappedTokenSymbol}" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/GmxCard.tsx @@ -7447,7 +7543,7 @@ msgstr "Suministro Total" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Pool Capacity Reached" -msgstr "{0} Capacidad de la Reserva Alcanzada" +msgstr "Capacidad de Reserva {0} Alcanzada" #: src/components/Glp/GlpSwap.jsx #: src/pages/Stake/EscrowedGmxCard.tsx @@ -7457,29 +7553,29 @@ msgid "Staked" msgstr "Stakeado" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "" +#~ msgid "Leave feedback" +#~ msgstr "Dejar comentarios" #: src/pages/Referrals/Referrals.tsx msgid "Traders" -msgstr "" +msgstr "Traders" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{ordersText} cancelled" -msgstr "" +msgstr "{ordersText} canceladas" #: src/domain/synthetics/positions/utils.ts msgid "take profit" -msgstr "" +msgstr "toma de ganancias" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Force External Swaps" -msgstr "" +msgstr "Forzar Intercambios Externos" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}. <0/>{2} is needed for collateral." -msgstr "Las comisiones son altas para intercambiar de {0} a {1}. <0/>{2} se requiere de garantía." +msgstr "Las comisiones son altas para intercambiar de {0} a {1}. <0/>{2} se requiere como garantía." #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "size" @@ -7491,7 +7587,7 @@ msgstr "Crear Intercambio Límite" #: src/components/Errors/errorToasts.tsx msgid "<0>Your wallet is not connected to {0}.</0><1/><2>Switch to {1}</2>" -msgstr "" +msgstr "<0>Tu monedero no está conectado a {0}.</0><1/><2>Cambia a {1}</2>" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx @@ -7500,11 +7596,11 @@ msgstr "La transacción fue cancelada." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept confirmation of trigger orders" -msgstr "Acepta la confirmación de las órdenes de activación" +msgstr "Aceptar confirmación de órdenes de activación" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Choose to buy from decentralized or centralized exchanges." -msgstr "" +msgstr "Elige comprar en exchanges descentralizados o centralizados." #: src/components/Exchange/TradeHistory.jsx msgid "Min required collateral" @@ -7512,7 +7608,11 @@ msgstr "Garantía mínima requerida" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" -msgstr "Prueba a incrementar el \"Deslizamiento Permitido\", debajo del menú de Ajustes en la esquina superior derecha" +msgstr "Prueba a incrementar el \"Deslizamiento Permitido\", en el menú de Ajustes en la esquina superior derecha" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." @@ -7520,12 +7620,12 @@ msgstr "Páginas del ecosistema GMX." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GM Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} Las reservas GM están <0>incentivadas{sparkle}.</0>" #: src/components/Exchange/PositionsList.jsx #: src/lib/legacy.ts msgid "Order size is bigger than position, will only be executable if position increases" -msgstr "El tamaño de la orden es mayor que la posición, sólo se ejecutará si la posición se incrementa" +msgstr "El tamaño de la orden es mayor que la posición, solo se ejecutará si la posición aumenta" #: src/components/Header/AppHeaderLinks.tsx msgid "Buy" @@ -7533,62 +7633,61 @@ msgstr "Comprar" #: src/config/events.tsx msgid "Incentives are live for <0>Arbitrum</0> and <1>Avalanche</1> GM pools and V2 trading." -msgstr "" +msgstr "Los incentivos están activos para reservas GM en <0>Arbitrum</0> y <1>Avalanche</1> y trading V2." #: src/pages/Stake/TotalRewardsCard.tsx msgid "Total Rewards" -msgstr "" +msgstr "Recompensas Totales" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT ID" -msgstr "NFT ID" +msgstr "ID de NFT" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Success claimings" -msgstr "" +msgstr "Reclamaciones exitosas" #: src/lib/legacy.ts msgid "Decentralized Perpetual Exchange | GMX" -msgstr "" +msgstr "Exchange Perpetuo Descentralizado | GMX" #: src/components/Exchange/PositionEditor.jsx msgid "The pending borrow fee will be charged on this transaction." -msgstr "" +msgstr "La comisión de préstamo pendiente se cobrará en esta transacción." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Fees will be shown once you have entered an amount in the order form." -msgstr "Las comisiones se mostrarán una vez que haya introducido una cantidad en el formulario de pedido." +msgstr "Las comisiones se mostrarán una vez que hayas ingresado una cantidad en el formulario de orden." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GLP Vault" -msgstr "" +msgstr "Vault de GLP" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" msgstr "Términos de Referido" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter unique coins" -msgstr "" +msgstr "Ingresa monedas únicas" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Fee APY" -msgstr "" +msgstr "APY de Comisión" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." -msgstr "" +msgstr "No hay mercados coincidentes." #: src/pages/Stake/Stake.tsx msgid "Stake esGMX" -msgstr "" +msgstr "Stakear esGMX" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -7600,7 +7699,7 @@ msgstr "Cantidad Mínima Objetivo" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed Pay amount" -msgstr "" +msgstr "Comisiones exceden el importe a pagar" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Swap" @@ -7608,12 +7707,12 @@ msgstr "Intercambio de Mercado Fallido" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "HoudiniSwap" -msgstr "" +msgstr "HoudiniSwap" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Error occurred. Please try again" -msgstr "" +msgstr "Ocurrió un error. Por favor intenta de nuevo" #: src/components/Referrals/referralsHelper.js msgid "Only letters, numbers and underscores are allowed." @@ -7621,28 +7720,24 @@ msgstr "Solo letras, números y guiones bajos están permitidos" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling shift request" -msgstr "" +msgstr "Cumpliendo solicitud de cambio" #: src/pages/Referrals/Referrals.tsx msgid "Referral code submitted!" -msgstr "" +msgstr "¡Código de referido enviado!" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Transaction failed due to execution fee validation. <0>View</0>.<1/><2/>Please <3>enable Express trading</3> under settings, which should offer a better experience.<4/><5/>Otherwise, try increasing the max network fee buffer to {0} in <6>settings</6>." -msgstr "" +msgstr "Transacción fallida debido a validación de comisión de ejecución. <0>Ver</0>.<1/><2/>Por favor <3>habilita trading Express</3> en ajustes, lo que debería ofrecer una mejor experiencia.<4/><5/>De lo contrario, intenta aumentar el buffer máximo de comisión de red a {0} en <6>ajustes</6>." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "APY" -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "El mes pasado" +msgstr "APY" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Leave at least {0} {1} for gas" -msgstr "Deja al menos {0} {1} para el gas" +msgstr "Deja al menos {0} {1} para gas" #: src/pages/Dashboard/GmxCard.tsx msgid "staked" @@ -7651,7 +7746,7 @@ msgstr "stakeado" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "There is not enough {0} in your account on {1} to send this transaction.<0/><1/><2>Buy or Transfer {2} to {3}</2>" -msgstr "" +msgstr "No hay suficiente {0} en tu cuenta en {1} para enviar esta transacción.<0/><1/><2>Compra o Transfiere {2} a {3}</2>" #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Volume" @@ -7660,11 +7755,11 @@ msgstr "Volumen Total" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx msgid "Enter new Price" -msgstr "Introduce el nuevo Precio" +msgstr "Ingresa nuevo Precio" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GLP Vault" -msgstr "" +msgstr "Retirar del Vault de GLP" #: src/components/Exchange/PositionShare.tsx msgid "Image generation error, please refresh and try again." @@ -7673,31 +7768,31 @@ msgstr "Error de generación de imagen, por favor actualice e intente de nuevo" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price Impact Rebates" -msgstr "" +msgstr "Reembolsos de Impacto de Precio" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." -msgstr "" +msgstr "Las órdenes de Toma de Ganancias y Stop Loss se cancelarán automáticamente cuando la posición asociada se cierre completamente. Esto solo afectará órdenes TP/SL recién creadas." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Swap Part" -msgstr "" +msgstr "Parte de Intercambio TWAP Fallida" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Open {0} {longOrShortText}" -msgstr "" +msgstr "Abrir {0} {longOrShortText}" #: src/components/InterviewToast/InterviewToast.tsx msgid "Give us your feedback on GMX." -msgstr "" +msgstr "Danos tus comentarios sobre GMX." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Borrow Fee / Day" -msgstr "" +msgstr "Comisión de Préstamo Actual / Día" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V1" -msgstr "" +msgstr "Reembolsos en V1" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token indexToken: \"{0}\" collateralToken: \"{1}\"" @@ -7706,31 +7801,31 @@ msgstr "Token inválido índice del token: \"{0}\" Garantía del token: \"{1}\"" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Header/AppHeaderLinks.tsx msgid "Alerts" -msgstr "" +msgstr "Alertas" #: src/components/Exchange/OrdersList.jsx msgid "<0>The price that orders can be executed at may differ slightly from the chart price, as market orders update oracle prices, while limit/trigger orders do not.</0><1>This can also cause limit/triggers to not be executed if the price is not reached for long enough. <2>Read more</2>.</1>" -msgstr "" +msgstr "<0>El precio al que se pueden ejecutar las órdenes puede diferir ligeramente del precio del gráfico, ya que las órdenes de mercado actualizan precios de oráculo, mientras que las órdenes límite/activación no lo hacen.</0><1>Esto también puede causar que límites/activaciones no se ejecuten si el precio no se alcanza por suficiente tiempo. <2>Leer más</2>.</1>" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Portfolio Tracker" -msgstr "Rastreador de la artera DeFi" +msgstr "Rastreador de Portafolio DeFi" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Funding Fee / Day" -msgstr "" +msgstr "Comisión de Financiación Actual / Día" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d estimate based on past {daysConsidered}d APY." -msgstr "" +msgstr "Estimación de 365d basada en APY de {daysConsidered}d pasados." #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum APR:" -msgstr "Arbitrum APR:" +msgstr "APR de Arbitrum:" #: src/pages/Jobs/Jobs.jsx msgid "Job Openings" -msgstr "" +msgstr "Ofertas de Empleo" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects integrated with GMX." @@ -7738,7 +7833,7 @@ msgstr "Proyectos integrados con GMX." #: src/components/Stake/GMXAprTooltip.tsx msgid "Escrowed GMX APR" -msgstr "Escrowed GMX APR" +msgstr "APR de GMX Escrowed" #: src/components/Exchange/TradeHistory.jsx msgid "Initial collateral" @@ -7746,11 +7841,11 @@ msgstr "Garantía inicial" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Activate 1CT (One-Click Trading)" -msgstr "" +msgstr "Activar 1CT (Trading de Un Clic)" #: src/components/AprInfo/AprInfo.tsx msgid "The Bonus APR will be airdropped as {airdropTokenTitle} tokens. <0>Read more</0>." -msgstr "" +msgstr "El APR de Bonificación se airdropeará como tokens {airdropTokenTitle}. <0>Leer más</0>." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -7766,15 +7861,15 @@ msgstr "Monedero" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You have a pending transfer from {sender}." -msgstr "Tiene una transferencia pendiente de {sender}." +msgstr "Tienes una transferencia pendiente de {sender}." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the stop price, the order will attempt to execute." -msgstr "" +msgstr "Una vez que el precio de referencia alcance el precio stop, la orden intentará ejecutarse." #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a trigger price" -msgstr "" +msgstr "Ingresa un precio de activación" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GLP not withdrawn" @@ -7782,7 +7877,7 @@ msgstr "GLP adquirido no retirado" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {minutes} minutes{0}" -msgstr "" +msgstr "<0>cada</0> {minutes} minutos{0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -7800,44 +7895,40 @@ msgstr "Precio de Entrada" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Price change to Liq." -msgstr "" +msgstr "Cambio de precio a Liq." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b LP incentives" -msgstr "" +msgstr "Incentivos LP STIP.b" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Loss" -msgstr "" +msgstr "Cancelar Stop Loss" #: src/components/Exchange/PositionsList.jsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size if needed." -msgstr "" +msgstr "Haz clic en la Posición para seleccionar su mercado, luego usa la caja de trading para aumentar el Tamaño de tu Posición si es necesario." #: src/domain/synthetics/orders/utils.tsx msgid "Limit Decrease" -msgstr "" +msgstr "Disminución Límite" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stabilize Protocol" -msgstr "" +msgstr "Protocolo Stabilize" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a valid coin names" -msgstr "" - -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "" +msgstr "Ingresa nombres de monedas válidos" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." -msgstr "" +msgstr "Liq. Larga" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GBC Kudai AI Agent" -msgstr "" +msgstr "Agente AI GBC Kudai" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You have {0} esGMX (IOU) tokens." @@ -7845,61 +7936,67 @@ msgstr "Tienes {0} tokens esGMX (IOU)." #: src/domain/synthetics/orders/utils.tsx msgid "There is currently a high swap price impact for the order swap path." -msgstr "" +msgstr "Actualmente hay un alto impacto de precio de intercambio para la ruta de intercambio de la orden." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Stop Market)" +msgstr "Incrementar Tamaño (Stop Mercado)" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" -msgstr "" +msgstr "PnL de Stop Loss" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing {balanceFormatted} to Main Account" -msgstr "" +msgstr "Retirando {balanceFormatted} a la Cuenta Principal" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settling..." -msgstr "" +msgstr "Liquidando..." #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" -msgstr "Tabla de clasificación" +msgstr "Tabla de Clasificación" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be enough liquidity to execute parts of this order when the time conditions are met." -msgstr "" +msgstr "Puede que no haya suficiente liquidez para ejecutar partes de esta orden cuando se cumplan las condiciones de tiempo." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The PnL ($) compared to the capital used.<0/><1/>The capital used is calculated as the highest value of [<2>sum of collateral of open positions - realized PnL + period start pending PnL</2>]." -msgstr "" +msgstr "El PnL ($) comparado con el capital usado.<0/><1/>El capital usado se calcula como el valor más alto de [<2>suma de garantía de posiciones abiertas - PnL realizado + PnL pendiente al inicio del período</2>]." #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued" -msgstr "" +msgstr "Acumulado" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Liquidation price is influenced by fees and collateral value." -msgstr "" +msgstr "El precio de liquidación está influido por comisiones y valor de garantía." #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "No data available" -msgstr "" +msgstr "No hay datos disponibles" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{prefix} <0>{text}</0>" -msgstr "" +msgstr "{prefix} <0>{text}</0>" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to update settings" -msgstr "" +msgstr "Falló la actualización de ajustes" #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Positive Price Impact / Fees" -msgstr "" +msgstr "Impacto de Precio Positivo / Comisiones" #: src/components/Exchange/PositionShare.tsx msgid "Tweet" @@ -7907,27 +8004,27 @@ msgstr "Tweet" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELL…" -msgstr "" +msgstr "VENDER…" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Swap" -msgstr "Confirma Intercambio" +msgstr "Confirmar Intercambio" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage is not available as Position exceeds max. allowed leverage. <0>Read more</0>." -msgstr "" +msgstr "Mantener apalancamiento no disponible ya que la Posición excede el apal. máximo permitido. <0>Leer más</0>." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add {0} to Metamask" -msgstr "" +msgstr "Agregar {0} a Metamask" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Loss" -msgstr "" +msgstr "Stop Loss Fallido" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Profit" -msgstr "" +msgstr "Ganancia Diaria" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX tokens can be staked or vested at any time." @@ -7935,11 +8032,11 @@ msgstr "Los tokens esGMX pueden ser stakeados o adquiridos en cualquier momento. #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy ETH directly on Arbitrum or transfer it there." -msgstr "" +msgstr "Compra ETH directamente en Arbitrum o transfiérelo allí." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 110 symbols exceeded" -msgstr "" +msgstr "Máximo de 110 símbolos excedido" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx @@ -7948,11 +8045,11 @@ msgstr "Transacción fallida" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "COLLATERAL" -msgstr "" +msgstr "GARANTÍA" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued price impact rebates. They will become claimable after approximately ten days.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "Reembolsos de impacto de precio acumulados. Serán reclamables después de aproximadamente diez días.<0/><1/><2>Leer más</2>." #: src/components/Exchange/PositionEditor.jsx #: src/pages/Stake/VesterDepositModal.tsx @@ -7968,41 +8065,46 @@ msgstr "Tasa Neta" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "2nd Place" -msgstr "" +msgstr "2do Lugar" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" -msgstr "" +msgstr "ÚLTIMO PRECIO" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-sign" -msgstr "" +msgstr "Re-firmar" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" -msgstr "" +msgstr "Órdenes ({ordersCount})" #: src/components/TVChartContainer/constants.ts msgid "Limit - Long Inc." -msgstr "" +msgstr "Límite - Inc. Largo" #: src/pages/Stake/ClaimModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0>voting power before claiming." -msgstr "" +msgstr "<0>Delega tu poder de voto {0} GMX DAO no delegado</0> antes de reclamar." #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." -msgstr "" +msgstr "Estarás largo en {indexSymbol} desde tu posición larga, así como desde tu garantía {collateralSymbol}. El precio de liquidación es más alto comparado con usar una stablecoin como garantía ya que el valor de la garantía cambiará con su precio." + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<0>{0}</0> tokens se han convertido a GMX desde el <1>{1}</1> esGMX depositado para adquisición." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" -msgstr "" +msgstr "Orden de venta cancelada" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "" +#~ msgid "Last 30 days" +#~ msgstr "Últimos 30 días" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8014,10 +8116,6 @@ msgstr "Precio de Ejecución" msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." msgstr "El precio al que se puede ejecutar la orden puede diferir ligeramente del precio del gráfico, ya que las órdenes de mercado pueden cambiar el precio mientras que las órdenes de límite/activación no." -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "" - #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8025,14 +8123,18 @@ msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "About" -msgstr "Sobre" +msgstr "Acerca de" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued positive funding fees in positions not yet claimable.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "Comisiones de financiación positivas acumuladas en posiciones no reclamables aún.<0/><1/>Están disponibles después de modificar la posición incrementándola o disminuyéndola, depositando o retirando garantía, o liquidando las comisiones usando el botón \"Liquidar\"." #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "Fee values do not include incentives." +msgstr "Los valores de comisiones no incluyen incentivos." + +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" msgstr "" #: src/components/Referrals/AddAffiliateCode.jsx @@ -8041,11 +8143,12 @@ msgstr "Generar Código de Referido" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Price Impact" -msgstr "" +msgstr "Alto Impacto de Precio de Intercambio" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx @@ -8055,12 +8158,12 @@ msgstr "Intercambiar" #: src/domain/synthetics/orders/utils.tsx msgid "long" -msgstr "" +msgstr "largo" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h High" -msgstr "" +msgstr "Máximo 24h" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code is not yet registered on {nonTakenNetworkNames}, you will not receive rebates there.<0/><1/>Switch your network to create this code on {nonTakenNetworkNames}." @@ -8068,19 +8171,19 @@ msgstr "Este código aún no está registrado en {nonTakenNetworkNames}, no reci #: src/components/Exchange/TradeHistory.jsx msgid "Deposit {0} USD into {1} {longOrShortText}" -msgstr "Deposita {0} USD en {1} {longOrShortText}" +msgstr "Depositar {0} USD en {1} {longOrShortText}" #: src/pages/Dashboard/GmxCard.tsx msgid "Distribution" -msgstr "" +msgstr "Distribución" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "Idioma" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Transfer" -msgstr "Transferencia Completa" +msgstr "Completar Transferencia" #: src/pages/Home/Home.tsx msgid "Total Users" @@ -8088,11 +8191,11 @@ msgstr "Usuarios Totales" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee" -msgstr "" +msgstr "Valor Neto: Garantía Inicial + PnL - Comisión de Préstamo - Comisión de Financiación Negativa - Comisión de Cierre" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below lowest limit price" -msgstr "" +msgstr "Precio de activación por debajo del precio límite más bajo" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Exchange/PositionShare.tsx @@ -8106,55 +8209,55 @@ msgstr "Apalancamiento Mín.: 1.1x" #: src/components/Exchange/FeesTooltip.tsx msgid "Deposit Fee" -msgstr "" +msgstr "Comisión de Depósito" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter a new size or price" -msgstr "" +msgstr "Ingresa un nuevo tamaño o precio" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount exceeded" -msgstr "" +msgstr "Cantidad máxima de reserva excedida" #: src/components/Exchange/SwapBox.jsx msgid "The borrow fee is calculated as (assets borrowed) / (total assets in pool) * 0.01% per hour." -msgstr "La tasa de préstamo es calculada como (activos prestados) / (total de activos en la reserva) * 0.01% por hora." +msgstr "La comisión de préstamo se calcula como (activos prestados) / (activos totales en reserva) * 0.01% por hora." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Unknown order" -msgstr "" +msgstr "Orden desconocida" #: src/pages/Jobs/Jobs.jsx msgid "No open positions at GMX currently" -msgstr "No hay posiciones abiertas en GMX en este momento" +msgstr "No hay posiciones abiertas en GMX actualmente" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Max Action Count Reached. <0>Click here</0> to update." -msgstr "" +msgstr "Conteo Máximo de Acciones Alcanzado. <0>Haz clic aquí</0> para actualizar." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Price: {executionPriceDisplay} USD" -msgstr "" +msgstr "Ejecutar Orden: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Precio: {executionPriceDisplay} USD" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "{column}" -msgstr "" +msgstr "{column}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You do not have any eligible trade during the competition window." -msgstr "" +msgstr "No tienes ningún trade elegible durante la ventana de competencia." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing longs and<0/>decreasing shorts." -msgstr "" +msgstr "Precios de ejecución para incrementar largos y<0/>disminuir cortos." -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" -msgstr "" +msgstr "Últimos 30d" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Dashboards" @@ -8162,51 +8265,54 @@ msgstr "Paneles" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create TWAP {0} order" -msgstr "" +msgstr "Crear orden TWAP {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Leftover collateral below {0} USD" -msgstr "" +msgstr "Garantía restante por debajo de {0} USD" #: src/domain/synthetics/positions/utils.ts msgid "trigger" -msgstr "" +msgstr "activación" #: src/components/Glp/GlpSwap.jsx msgid "Please <0>read here</0> for more information." -msgstr "" +msgstr "Por favor <0>lee aquí</0> para más información." + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "7d" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" -msgstr "" +msgstr "Rage Trade" #: src/pages/Home/Home.tsx msgid "Trade BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet" -msgstr "" +msgstr "Opera BTC, ETH, AVAX y otras criptomonedas top con hasta 100x de apalancamiento directamente desde tu monedero" #: src/pages/Stake/ClaimModal.tsx msgid "Claim GMX Rewards" -msgstr "" +msgstr "Reclamar Recompensas GMX" #: src/components/Referrals/JoinReferralCode.tsx #: src/components/Referrals/JoinReferralCode.tsx msgid "Enter Referral Code" -msgstr "Introduza el Código de Referido" +msgstr "Ingresa Código de Referido" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" -msgstr "" +msgstr "EIP-4844, 20-27 Mar" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer failed." -msgstr "La transferencia ha fallado." +msgstr "Transferencia fallida." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit amount is insufficient to bring leverage below the max allowed leverage of 100x" -msgstr "" +msgstr "Cantidad de depósito insuficiente para llevar el apalancamiento por debajo del máximo permitido de 100x" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -8229,32 +8335,33 @@ msgstr "Precio de Referencia" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Open {marketName} in Explorer" -msgstr "" +msgstr "Abrir {marketName} en Explorer" #: src/components/Exchange/TradeHistory.jsx msgid "Partial Liquidation" msgstr "Liquidación Parcial" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" -msgstr "24h Volumen" +msgstr "Volumen 24h" #: src/pages/Dashboard/DashboardV2.tsx msgid "Total Stats" -msgstr "" +msgstr "Estadísticas Totales" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Frequency" -msgstr "" +msgstr "Frecuencia" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit sent." -msgstr "" +msgstr "Depósito habilitado enviado." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Withdrawing {0} from {positionText}" -msgstr "" +msgstr "Retirando {0} de {positionText}" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community Projects" @@ -8263,15 +8370,15 @@ msgstr "Proyectos Comunitarios" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/domain/synthetics/orders/utils.tsx msgid "Limit Swap" -msgstr "" +msgstr "Intercambio Límite" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>Execution prices for decreasing shorts." -msgstr "" +msgstr "No hay liquidez disponible para incrementar largos para<0/>este tamaño. Tamaño máximo largo: {0}<1/><2/>Precios de ejecución para disminuir cortos." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H VOL." -msgstr "" +msgstr "VOL. 24H" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -8280,23 +8387,23 @@ msgstr "Vender por {0}" #: src/components/Exchange/PositionSeller.jsx msgid "Fees are higher than Collateral" -msgstr "" +msgstr "Comisiones más altas que la Garantía" #: src/components/Referrals/TradersStats.tsx msgid "You will receive a {currentTierDiscount}% discount on opening and closing fees." -msgstr "" +msgstr "Recibirás un descuento de {currentTierDiscount}% en comisiones de apertura y cierre." #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX team" -msgstr "" +msgstr "Chat anónimo con el equipo de GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Market Token Price Chart" -msgstr "" +msgstr "Gráfico de Precio de Token de Mercado GMX" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Addresses" -msgstr "" +msgstr "Direcciones Top" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8305,19 +8412,19 @@ msgstr "Continuar" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily and Cumulative PnL" -msgstr "" +msgstr "PnL Diario y Acumulativo" #: src/components/Exchange/PositionEditor.jsx msgid "Edit {longOrShortText} {0}" -msgstr "" +msgstr "Editar {longOrShortText} {0}" #: src/domain/synthetics/orders/utils.tsx msgid "short" -msgstr "" +msgstr "corto" #: src/components/RatingToast/RatingToast.tsx msgid "Very likely" -msgstr "" +msgstr "Muy probable" #: src/components/Exchange/ConfirmationBox.jsx msgid "I am aware of the trigger orders" @@ -8325,35 +8432,39 @@ msgstr "Soy consciente de las órdenes de activación" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{count, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{count, plural, one {Orden} other {# Órdenes}}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V1" -msgstr "" +msgstr "Volumen en V1" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche trading incentives" -msgstr "" +msgstr "Incentivos de trading en Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Decrease" -msgstr "Solicitar disminución del mercado" +msgstr "Solicitar Disminución de Mercado" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max. Leverage exceeded" -msgstr "" +msgstr "Apal. Máximo excedido" #: src/components/Exchange/OrderEditor.jsx msgid "Price is above Mark Price" -msgstr "El precio se encuentra por encima del precio de referencia" +msgstr "El precio está por encima del Precio de Referencia" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "Esta posición podría liquidarse, excluyendo cualquier movimiento de precio, debido a tasas de financiación y préstamo que reducen la garantía de la posición con el tiempo." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Tu monedero, tus claves. Firmas cada transacción off-chain. Las operaciones usan RPCs premium patrocinados por GMX para fiabilidad, incluso durante congestión de red. Pagos de gas en USDC o WETH." + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8369,26 +8480,26 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Order Execution Price" -msgstr "Precio de ejecución de la orden" +msgstr "Precio de Ejecución de Orden" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Slippage is too high" -msgstr "" +msgstr "Deslizamiento demasiado alto" #: src/components/Synthetics/MarketsList/NetFeeHeaderTooltipContent.tsx msgid "Net rate combines funding and borrowing fees but excludes open, swap or impact fees.<0/><1/>Funding fees help to balance longs and shorts and are exchanged between both sides. <2>Read more</2>.<3/><4/>Borrowing fees help ensure available liquidity. <5>Read more</5>." -msgstr "La tasa neta combina las comisiones de financiación y préstamo, pero excluye las comisiones de apertura, intercambio o impacto.<0/><1/>Las comisiones de financiación ayudan a equilibrar largos y cortos y se intercambian entre ambos lados. <2>Leer más</2>.<3/><4/>Las comisiones de préstamo ayudan a garantizar la liquidez disponible. <5>Leer más</5>." +msgstr "Tasa neta combina comisiones de financiación y préstamo pero excluye comisiones de apertura, intercambio o impacto.<0/><1/>Comisiones de financiación ayudan a equilibrar largos y cortos y se intercambian entre ambos lados. <2>Leer más</2>.<3/><4/>Comisiones de préstamo ayudan a garantizar liquidez disponible. <5>Leer más</5>." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx msgid "Accrued Price Impact Rebates" -msgstr "" +msgstr "Reembolsos de Impacto de Precio Acumulados" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Yesterday" -msgstr "" +msgstr "Ayer" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Deposit" @@ -8396,35 +8507,35 @@ msgstr "Solicitar Depósito" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit not enough to cover fees" -msgstr "" +msgstr "Depósito insuficiente para cubrir comisiones" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Number of Parts" -msgstr "" +msgstr "Número de Partes" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Cancelling {ordersText}" -msgstr "" +msgstr "Cancelando {ordersText}" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivated" -msgstr "" +msgstr "Desactivado" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Ecosystem Projects" -msgstr "" +msgstr "Proyectos del Ecosistema" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in ..." -msgstr "" +msgstr "Orden de mercado será cancelable en ..." #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Price Impact Rebate Claimed" -msgstr "" +msgstr "Reembolso de Impacto de Precio Reclamado" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX" -msgstr "" +msgstr "Chat anónimo con GMX" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx @@ -8440,31 +8551,31 @@ msgstr "Límite" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "You will receive at least {toAmountText} if this order is executed. This price is being updated in real time based on swap fees and price impact." -msgstr "" +msgstr "Recibirás al menos {toAmountText} si esta orden se ejecuta. Este precio se actualiza en tiempo real basado en comisiones de intercambio e impacto de precio." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Acceptable price does not apply to stop loss orders, as they will be executed regardless of any price impact." -msgstr "" +msgstr "Precio aceptable no aplica a órdenes stop loss, ya que se ejecutarán independientemente de cualquier impacto de precio." #: src/components/InterviewModal/InterviewModal.tsx msgid "We'll then schedule a chat or interview with you. As a thank you, you'll receive <0>100 <1/></0> for providing your feedback." -msgstr "" +msgstr "Luego programaremos un chat o entrevista contigo. Como agradecimiento, recibirás <0>100 <1/></0> por proporcionar tus comentarios." #: src/domain/synthetics/positions/utils.ts msgid "limit" -msgstr "" +msgstr "límite" #: src/components/SettingsModal/SettingsModal.tsx msgid "Trading Settings" -msgstr "" +msgstr "Ajustes de Trading" #: src/components/Exchange/OrdersToa.jsx msgid "<0>Insufficient liquidity to execute the order</0><1>The mark price which is an aggregate of exchange prices did not reach the specified price</1><2>The specified price was reached but not long enough for it to be executed</2><3>No keeper picked up the order for execution</3>" -msgstr "<0>Liquidez insuficiente para ejecutar la orden</0><1>El precio de referencia, que es un agregado de precios de mercado, no alcanzó el precio especificado</1><2>Se alcanzó el precio especificado pero no lo suficiente como para ejecutarlo</2><3>Ningún guardián recogió la orden para ejecutarla</3>" +msgstr "<0>Liquidez insuficiente para ejecutar la orden</0><1>El precio de referencia, que es un agregado de precios de exchange, no alcanzó el precio especificado</1><2>Se alcanzó el precio especificado pero no lo suficiente como para ejecutarlo</2><3>Ningún keeper recogió la orden para ejecución</3>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Your position's collateral after deducting fees:" -msgstr "La garantía de tu posición después de descontar las comisiones:" +msgstr "La garantía de tu posición después de descontar comisiones:" #: src/components/Glp/GlpSwap.jsx msgid "Selling..." @@ -8472,7 +8583,7 @@ msgstr "Vendiendo..." #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute as the max. allowed leverage is exceeded. Consider decreasing the order's leverage by editing and decreasing its size. <0>Read more</0>." -msgstr "" +msgstr "La orden puede no ejecutarse ya que se excede el apal. máximo permitido. Considera disminuir el apalancamiento de la orden editándola y reduciendo su tamaño. <0>Leer más</0>." #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx @@ -8499,15 +8610,15 @@ msgstr "Enlace" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "Long Positions" -msgstr "Posiciones largas" +msgstr "Posiciones Largas" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Depositing {0} to {positionText}" -msgstr "" +msgstr "Depositando {0} a {positionText}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee" -msgstr "" +msgstr "Comisión Máxima de Red" #: src/domain/tokens/approveTokens.tsx msgid "Approval was cancelled" @@ -8515,7 +8626,7 @@ msgstr "Aprobación cancelada" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee and pay a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "Posiciones {longOrShort} no pagan comisión de financiación y pagan comisión de préstamo de {borrowRate} por hora." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Increase active: {0}, executed: {1}, cancelled: {2}" @@ -8524,7 +8635,7 @@ msgstr "Incrementar activo: {0}, ejecutado: {1}, cancelado: {2}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does not impact your collateral." -msgstr "" +msgstr "Comisión máxima de red pagada a la red. Esta comisión es un costo de blockchain no específico de GMX, y no impacta tu garantía." #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX Pages" @@ -8536,24 +8647,24 @@ msgstr "{0} es requerido como garantía." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Options Protocol" -msgstr "Protocolo de Opciones Descentralizadas" +msgstr "Protocolo de Opciones Descentralizado" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Swap Part" -msgstr "" +msgstr "Actualizar Parte de Intercambio TWAP" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Part" -msgstr "" +msgstr "Actualizar Parte TWAP" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Account Transfer" -msgstr "Transferencia de Cuenta Completa" +msgstr "Completar Transferencia de Cuenta" #: src/pages/Stake/ClaimModal.tsx msgid "Claim Rewards" -msgstr "" +msgstr "Reclamar Recompensas" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Copy Address" @@ -8561,62 +8672,62 @@ msgstr "Copiar Dirección" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Pending Transfer Approval" -msgstr "" +msgstr "Aprobación de Transferencia Pendiente" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{0}{toTokenIcon}{1}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> a </1>{0}{toTokenIcon}{1}" #: src/components/DepthChart/DepthChart.tsx msgid "ORACLE PRICE" -msgstr "" +msgstr "PRECIO DE ORÁCULO" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "" +#~ msgid "For detailed stats:" +#~ msgstr "Para estadísticas detalladas:" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "Total Earned Fees" -msgstr "" +msgstr "Comisiones Totales Ganadas" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a ratio" -msgstr "" +msgstr "Ingresa una relación" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Proof of Reserves" -msgstr "Prueba de reservas" +msgstr "Prueba de Reservas" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "General Performance Details" -msgstr "" +msgstr "Detalles de Rendimiento General" #: src/pages/Stake/VesterWithdrawModal.tsx msgid "<0>This will withdraw and unreserve all tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button under the Total Rewards section.<5/><6/></0>" -msgstr "" +msgstr "<0>Esto retirará y desreservará todos los tokens y pausará la adquisición.<1/><2/>Los tokens esGMX convertidos a GMX serán reclamados y permanecerán como tokens GMX.<3/><4/>Para reclamar tokens GMX sin retirar, usa el botón \"Reclamar\" en la sección de Recompensas Totales.<5/><6/></0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Price conditions are met" -msgstr "Las condiciones de precio se cumplen" +msgstr "Condiciones de precio cumplidas" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Backing Composition" -msgstr "" +msgstr "Composición de Respaldo" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeBank" -msgstr "" +msgstr "DeBank" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "You have {balanceFormatted} remaining in your old version 1CT subaccount." -msgstr "" +msgstr "Tienes {balanceFormatted} restante en tu subcuenta 1CT de versión antigua." #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Unstake GMX" -msgstr "" +msgstr "Desstakear GMX" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit failed!" -msgstr "" +msgstr "¡Depósito fallido!" diff --git a/src/locales/fr/messages.po b/src/locales/fr/messages.po index e462228808..639109ab48 100644 --- a/src/locales/fr/messages.po +++ b/src/locales/fr/messages.po @@ -15,7 +15,7 @@ msgstr "" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Unrealized Base PnL" -msgstr "" +msgstr "PnL de base non réalisé" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/NftWallet/NftWallet.jsx @@ -24,11 +24,11 @@ msgstr "Portefeuille non connecté" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pear Protocol" -msgstr "" +msgstr "Protocole Pear" #: src/components/RatingToast/RatingToast.tsx msgid "Not likely" -msgstr "" +msgstr "Peu probable" #: src/pages/Home/Home.tsx msgid "Available on your preferred network" @@ -49,12 +49,12 @@ msgstr "Déconnecter" #: src/components/Glp/GlpSwap.jsx msgid "Buy GM tokens before the epoch resets in {0} to be eligible for the Bonus Rebate. Alternatively, wait for the epoch to reset to redeem GLP and buy GM within the same epoch." -msgstr "" +msgstr "Achetez des tokens GM avant la réinitialisation de l'époque dans {0} pour être éligible au Bonus de Remise. Alternativement, attendez la réinitialisation de l'époque pour racheter GLP et acheter GM dans la même époque." #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" msgstr "PRIX" @@ -62,43 +62,43 @@ msgstr "PRIX" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "receive" -msgstr "" +msgstr "recevoir" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Referrals Dashboard" -msgstr "" +msgstr "Tableau de bord des parrainages GMX" #: src/pages/Stake/ClaimModal.tsx msgid "Stake GMX Rewards" -msgstr "" +msgstr "Staker les récompenses GMX" #: src/components/Glp/SwapErrorModal.tsx msgid "There is not enough liquidity in a single token for your size. Please check the Save on Fees section and consider splitting your order into several different ones" -msgstr "Il n'y a pas assez de liquidité dans un seul token pour votre grandeur. Veuillez consulter la section \"Économiser sur les frais\" et envisagez de diviser votre ordre en plusieurs ordres différents." +msgstr "Il n'y a pas assez de liquidité dans un seul token pour votre taille. Veuillez consulter la section \"Économiser sur les frais\" et envisagez de diviser votre ordre en plusieurs ordres différents." #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx msgid "Decrease the withdraw size to match the max. <0>Read more</0>.<1/><2/><3>Set max withdrawal</3>" -msgstr "" +msgstr "Diminuez la taille du retrait pour correspondre au maximum. <0>Lire plus</0>.<1/><2/><3>Définir le retrait maximum</3>" #: src/domain/synthetics/userFeedback/utils.ts msgid "What would have made your rating a 9 or 10?" -msgstr "" +msgstr "Qu'est-ce qui aurait rendu votre note un 9 ou 10 ?" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" msgstr "{existingTriggerOrderLength, plural, one {Vous avez une commande de déclenchement active qui pourrait être exécutée immédiatement après l'ouverture de cette position. Veuillez annuler la commande ou accepter la confirmation pour continuer.} other {Vous avez # commandes de déclenchement actives qui pourraient être exécutées immédiatement après l'ouverture de cette position. Veuillez annuler les commandes ou accepter la confirmation pour continuer.}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" -msgstr "" +msgstr "Afficher les valeurs de débogage" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Loss" -msgstr "" +msgstr "Exécuter le Stop Loss" #: src/pages/Exchange/Exchange.tsx msgid "Could not decrease {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." -msgstr "Impossible de diminuer {tokenSymbol} {longOrShortText} dans les limites de glissement autorisé, vous pouvez ajuster le glissement autorisé dans les paramètres en haut à droite de la page." +msgstr "Impossible de diminuer {tokenSymbol} {longOrShortText} dans les limites de slippage autorisé, vous pouvez ajuster le slippage autorisé dans les paramètres en haut à droite de la page." #: src/components/ModalViews/RedirectModal.tsx msgid "Agree" @@ -106,23 +106,27 @@ msgstr "Accepter" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "BonsaiDAO" -msgstr "" +msgstr "BonsaiDAO" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Approval signed" +msgstr "Approbation signée" + +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" msgstr "" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" -msgstr "" +msgstr "Perte quotidienne" #: src/pages/Home/Home.tsx msgid "GMX is currently live on Arbitrum and Avalanche." -msgstr "GMX est en émission direct sur Arbitrum et Avalanche." +msgstr "GMX est actuellement en direct sur Arbitrum et Avalanche." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP Swap" -msgstr "" +msgstr "Créer un Swap TWAP" #: src/components/Glp/GlpSwap.jsx msgid "Max Pool Capacity" @@ -137,7 +141,7 @@ msgstr "Optimiseur de rendement sur Avalanche" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum" -msgstr "" +msgstr "Arbitrum" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -149,11 +153,11 @@ msgstr "Ordres ({0})" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "You have not deposited any tokens for vesting." -msgstr "" +msgstr "Vous n'avez pas déposé de tokens pour le vesting." #: src/domain/synthetics/positions/utils.ts msgid "stop loss" -msgstr "" +msgstr "stop loss" #: src/components/Exchange/OrdersList.jsx #: src/components/Referrals/AffiliatesStats.tsx @@ -166,15 +170,15 @@ msgstr "Type" #: src/components/Exchange/PositionSeller.jsx msgid "Order submitted!" -msgstr "" +msgstr "Ordre soumis !" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Updating {updateOrdersCount} TP/SL order(s)" -msgstr "" +msgstr "Mise à jour de {updateOrdersCount} ordre(s) TP/SL" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "RabbitHole" -msgstr "" +msgstr "RabbitHole" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is above its target weight.<0/><1/>Get lower fees to <2>swap</2> tokens for {1}." @@ -183,72 +187,71 @@ msgstr "{0} est au-dessus de son poids cible.<0/><1/>Obtenez une réduction des #: src/domain/synthetics/markets/createGlvWithdrawalTxn.ts #: src/domain/synthetics/markets/createWithdrawalTxn.ts msgid "Withdrawal error." -msgstr "" +msgstr "Erreur de retrait." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit" -msgstr "" +msgstr "Limite échouée" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Performance" -msgstr "" +msgstr "Performance" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized return of the pool or vault over the selected period, compared to a benchmark that follows Uniswap V2–style rebalancing of the backing tokens in the same GM pool or GLV vault.<0/><1/>Annualized figures based on short periods may be distorted by short-term volatility.<2/><3/>For detailed stats and comparisons, see the <4>GMX V2 LP Dashboard</4>." -msgstr "" +msgstr "Rendement annualisé du pool ou du vault sur la période sélectionnée, comparé à un benchmark qui suit le rééquilibrage de style Uniswap V2 des tokens de backing dans le même pool GM ou vault GLV.<0/><1/>Les chiffres annualisés basés sur des périodes courtes peuvent être déformés par la volatilité à court terme.<2/><3/>Pour des stats détaillées et des comparaisons, voir le <4>Tableau de bord LP GMX V2</4>." #: src/pages/Home/Home.tsx msgid "Decentralized<0/>Perpetual Exchange" -msgstr "Décentralisé <0/>Bourse perpétuelle" +msgstr "Échange perpétuel <0/>décentralisé" #: src/pages/Stake/VesterDepositModal.tsx msgid "Current Reserved" -msgstr "" +msgstr "Réservé actuel" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Arbitrum" -msgstr "" +msgstr "V2 Arbitrum" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" -msgstr "" +msgstr "EIP-4844, 13-20 Mar" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Total size" -msgstr "" +msgstr "Taille totale" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express Trading" -msgstr "" +msgstr "Essayer le Trading Express" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if there is not enough available liquidity." -msgstr "" +msgstr "Notez qu'il peut y avoir des cas rares où l'ordre ne peut pas être exécuté, par exemple si la chaîne est en panne et qu'aucun rapport d'oracle n'est produit ou s'il n'y a pas assez de liquidité disponible." #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Buy {gasPaymentTokensText}" -msgstr "" +msgstr "Acheter {gasPaymentTokensText}" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Show error" -msgstr "" +msgstr "Afficher l'erreur" #: src/components/Exchange/SwapBox.jsx msgid "Trigger orders, increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions using market orders." -msgstr "" +msgstr "Les ordres déclencheurs, l'augmentation de positions (marché ou limite), l'ajout de collatéral et les swaps sur GMX V1 sont maintenant désactivés. Vous pouvez toujours fermer les positions existantes en utilisant des ordres de marché." #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} peut être utilisé pour acheter GM pour ce marché jusqu'aux caps d'achat spécifiés." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High TWAP Network Fee" -msgstr "" +msgstr "Frais de réseau TWAP élevés" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Market Swap" @@ -256,12 +259,12 @@ msgstr "Exécuter l'échange de marché" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit submitted!" -msgstr "" +msgstr "Dépôt soumis !" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Volume" -msgstr "" +msgstr "Volume" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit Swap" @@ -269,7 +272,7 @@ msgstr "Annuler l'échange limité" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{seconds}s" -msgstr "" +msgstr "{seconds}s" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Required" @@ -277,7 +280,7 @@ msgstr "{0} Requis" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "No incentives distribution history yet." -msgstr "" +msgstr "Aucun historique de distribution d'incitations pour l'instant." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -301,19 +304,19 @@ msgstr "Voir le statut" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Buyable" -msgstr "" +msgstr "Achetable" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" -msgstr "" +msgstr "Nombre de parties TWAP" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee - UI Fee" -msgstr "" +msgstr "Valeur nette : Collatéral initial + PnL - Frais d'emprunt - Frais de financement négatifs - Frais de fermeture - Frais d'UI" #: src/components/Exchange/ConfirmationBox.jsx msgid "The spread is > 1%, please ensure the trade details are acceptable before confirming" -msgstr "" +msgstr "L'écart est > 1%, veuillez vous assurer que les détails de la transaction sont acceptables avant de confirmer" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}<0/><1/>Please mint GLP using another token" @@ -321,11 +324,11 @@ msgstr "Capacité maximale du pool atteinte pour {0}<0/><1/> Veuillez minter GLP #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a value" -msgstr "" +msgstr "Saisir une valeur" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT Address" -msgstr "Indiquer l'adresse NFT" +msgstr "Saisir l'adresse NFT" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -335,44 +338,44 @@ msgstr "DISPONIBLE" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "@username" -msgstr "" +msgstr "@nomdutilisateur" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Short Inc." -msgstr "" +msgstr "Stop Market - Short Inc." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Take Profit" -msgstr "" +msgstr "Take Profit échoué" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Confirm Settle" -msgstr "" +msgstr "Confirmer le règlement" #: src/domain/synthetics/markets/createDepositTxn.ts #: src/domain/synthetics/markets/createGlvDepositTxn.ts msgid "Deposit error." -msgstr "" +msgstr "Erreur de dépôt." #: src/pages/Exchange/Exchange.tsx msgid "Increased {tokenSymbol} {longOrShortText}, +{0} USD." -msgstr "Augmenter {tokenSymbol} {longOrShortText}, +{0} USD." +msgstr "Augmenté {tokenSymbol} {longOrShortText}, +{0} USD." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{updateOrdersCount} TP/SL order(s) updated" -msgstr "" +msgstr "{updateOrdersCount} ordre(s) TP/SL mis à jour" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price above mark price" -msgstr "" +msgstr "Prix stop market au-dessus du prix mark" #: src/pages/Stake/StakeModal.tsx msgid "Pending {stakingTokenSymbol} approval" -msgstr "" +msgstr "Approbation {stakingTokenSymbol} en attente" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions" -msgstr "" +msgstr "Positions ouvertes" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstaking..." @@ -384,11 +387,11 @@ msgstr "Vous pouvez changer le token \"Collatéral soumis\" ci-dessus pour trouv #: src/domain/synthetics/trade/utils/validation.ts msgid "The sellable cap for the pool GM: {0} [{1}] has been reached, as the tokens are reserved by traders. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "Le cap de vente pour le pool GM : {0} [{1}] a été atteint, car les tokens sont réservés par les traders. Veuillez choisir un pool différent, réduire la taille de vente, ou diviser votre retrait de plusieurs pools." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap TWAP: Swap tokens in evenly distributed parts over a specified time." -msgstr "" +msgstr "Swap TWAP : Échanger des tokens en parties uniformément distribuées sur une période spécifiée." #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} short exceeded" @@ -396,17 +399,17 @@ msgstr "Max {0} short dépassé" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GM balance" -msgstr "" +msgstr "Solde GM insuffisant" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token is a vault of automatically rebalanced GM tokens that accrue fees from leverage trading and swaps from the included markets. Backed by {0} and {1}." -msgstr "" +msgstr "Ce token est un vault de tokens GM automatiquement rééquilibrés qui accumulent des frais du trading à effet de levier et des swaps des marchés inclus. Soutenu par {0} et {1}." #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool USD exceeded" -msgstr "" +msgstr "USD max du pool dépassé" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -414,45 +417,47 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price below mark price" -msgstr "" +msgstr "Prix limite en dessous du prix mark" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "sell" -msgstr "" +msgstr "vendre" #: src/components/Exchange/SwapBox.jsx #: src/config/events.tsx msgid "Please migrate your positions to GMX V2." -msgstr "" +msgstr "Veuillez migrer vos positions vers GMX V2." +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "Positions" #: src/domain/synthetics/trade/utils/validation.ts msgid "{0} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{0} ne peut pas être envoyé à des adresses de contrats intelligents. Sélectionnez un autre token." #: src/domain/synthetics/markets/claimFundingFeesTxn.ts msgid "Funding Claimed" -msgstr "" +msgstr "Frais de financement réclamés" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please enable <2>Express trading</2> under settings, which should offer a better experience." -msgstr "" +msgstr "Transaction échouée en raison d'une erreur RPC.<0/><1/>Veuillez activer <2>Trading Express</2> dans les paramètres, ce qui devrait offrir une meilleure expérience." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code added!" -msgstr "Code de parrainage ajouté!" +msgstr "Code de parrainage ajouté !" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELLABLE" -msgstr "" +msgstr "VENDABLE" #: src/pages/Dashboard/StatsCard.tsx msgid "Treasury" -msgstr "" +msgstr "Trésorerie" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap {0} to {1} on 1inch" @@ -464,24 +469,22 @@ msgstr "Échanger {0} pour {1} sur 1inch" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "No pools matched." -msgstr "" - -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "" +msgstr "Aucun pool correspondant." #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "Ordres" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Increased {positionText}, +{0}" -msgstr "" +msgstr "Augmenté {positionText}, +{0}" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -489,41 +492,42 @@ msgid "Funding Fee" msgstr "Frais de financement" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Liquidité insuffisante dans le pool de marché {0}. Sélectionnez un pool différent pour ce marché. Choisir un pool différent ouvrirait une nouvelle position différente de l'existante.<0><1>Passer au pool de marché {1}</1>.</0>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" -msgstr "" +msgstr "Confirmer l'ordre limite" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirm Withdraw" -msgstr "" +msgstr "Confirmer le retrait" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized PnL" -msgstr "" +msgstr "PnL réalisé" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX V2 Data Analytics within Telegram" -msgstr "" +msgstr "Analytique de données GMX V2 dans Telegram" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer ETH from other networks to Arbitrum using any of the below options:" -msgstr "Vous pouvez transférer ETH provenant d'autres réseaux vers Arbitrum en utilisant l'une des options ci-dessous:" +msgstr "Vous pouvez transférer ETH provenant d'autres réseaux vers Arbitrum en utilisant l'une des options ci-dessous :" #: src/components/Exchange/SwapBox.jsx msgid "Created limit order for {0} {1}: {2} USD!" -msgstr "Ordre limite créé pour {0} {1}: {2} USD!" +msgstr "Ordre limite créé pour {0} {1} : {2} USD !" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" -msgstr "Token invalide duToken:: \"{0}\" àToken: \"{toTokenAddress}\"" +msgstr "Token invalide duToken : \"{0}\" àToken : \"{toTokenAddress}\"" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" @@ -532,36 +536,36 @@ msgstr "Stats" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Price Impact Rebates" -msgstr "" +msgstr "Réclamer les remises d'impact de prix" #: src/pages/Stake/VesterDepositModal.tsx msgid "Max Capacity" -msgstr "" +msgstr "Capacité maximale" #: src/domain/synthetics/orders/utils.tsx msgid "Market Swap" -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "Historique des échanges" +msgstr "Swap de marché" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" -msgstr "" +msgstr "Plus" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." +msgstr "Puisque le collatéral de votre position est en {symbol}, avec une valeur initiale supérieure à la taille de la position short {indexName}, la valeur du collatéral augmentera pour couvrir tout PnL négatif, donc il n'y a pas de prix de liquidation." + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" msgstr "" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{actionsCount, plural, one {Ordre} other {# Ordres}}" #: src/config/bridging.tsx msgid "Buy APE on Arbitrum with <0>Camelot</0>." -msgstr "" +msgstr "Acheter APE sur Arbitrum avec <0>Camelot</0>." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You will need to be on this page to accept the transfer, <0>click here</0> to copy the link to this page if needed." @@ -569,7 +573,7 @@ msgstr "Vous devrez être sur cette page pour accepter le transfert, <0>cliquez #: src/components/ModalViews/RedirectModal.tsx msgid "Don't show this message again for 30 days." -msgstr "Ne montrez plus ce message pendant 30 jours." +msgstr "Ne plus afficher ce message pendant 30 jours." #: src/components/Exchange/ConfirmationBox.jsx msgid "hide" @@ -579,6 +583,10 @@ msgstr "cacher" msgid "in liquidity" msgstr "en liquidité" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "" + #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" msgstr "Prix de sortie" @@ -586,21 +594,21 @@ msgstr "Prix de sortie" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Enter Price" -msgstr "Indiquer le prix" +msgstr "Saisir le prix" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V2" -msgstr "" +msgstr "Remises sur V2" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives are airdropped weekly." -msgstr "" +msgstr "Les incitations sont airdroppées hebdomadairement." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "Acceptable Price Impact" -msgstr "" +msgstr "Impact de prix acceptable" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add to Metamask" @@ -608,20 +616,20 @@ msgstr "Ajouter à Metamask" #: src/pages/Stake/VesterDepositModal.tsx msgid "Insufficient staked tokens" -msgstr "" +msgstr "Tokens stakés insuffisants" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Telegram contact (optional)" -msgstr "" +msgstr "Contact Telegram (optionnel)" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in {minutesText}{seconds}s." -msgstr "" +msgstr "L'ordre de marché sera annulable dans {minutesText}{seconds}s." #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "providing liquidity" -msgstr "" +msgstr "fournir de la liquidité" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Tap [Create Wallet] to start using your Web3 Wallet." @@ -629,15 +637,15 @@ msgstr "Appuyez sur [Créer un portefeuille] pour commencer à utiliser votre po #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Plutus" -msgstr "" +msgstr "Plutus" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pairs Trading" -msgstr "" +msgstr "Trading de paires" #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX {versionName} {networkName} actions for all accounts." -msgstr "" +msgstr "Actions GMX {versionName} {networkName} pour tous les comptes." #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel submitted" @@ -645,16 +653,16 @@ msgstr "Annulation soumise" #: src/components/Exchange/PositionSeller.jsx msgid "Please uncheck \"Keep Leverage\", or close a larger position amount." -msgstr "" +msgstr "Veuillez décocher \"Garder l'effet de levier\", ou fermer un montant de position plus important." #: src/components/Exchange/PositionDropdown.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Edit Collateral" -msgstr "Modifier le Collatéral" +msgstr "Modifier le collatéral" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Long Stop Market : {0} une position short lorsque le prix est en dessous du prix déclencheur." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -662,7 +670,11 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price above mark price" -msgstr "" +msgstr "Prix limite au-dessus du prix mark" + +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "Intérêt ouvert (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" @@ -670,7 +682,7 @@ msgstr "Créer ou importer un portefeuille" #: src/pages/Stake/ClaimModal.tsx msgid "Stake esGMX Rewards" -msgstr "" +msgstr "Staker les récompenses esGMX" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks and Settings" @@ -678,63 +690,56 @@ msgstr "Réseaux et paramètres" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max network fee buffer precision is 0.01%" -msgstr "" +msgstr "La précision maximale du buffer de frais de réseau est de 0.01%" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Max. Leverage Exceeded" -msgstr "" +msgstr "Effet de levier max. dépassé" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" msgstr "Rechercher le token" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeltaPrime" -msgstr "" +msgstr "DeltaPrime" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using Decentralized Exchange Aggregators:" -msgstr "" +msgstr "Acheter GMX en utilisant des agrégateurs d'échanges décentralisés :" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Min. Required Collateral" -msgstr "" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "" +msgstr "Collatéral minimum requis" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" -msgstr "" +msgstr "Rang" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average position size." -msgstr "" +msgstr "Taille moyenne de position." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx msgid "{0} <0/><1> to </1>{1} <2/>" -msgstr "" +msgstr "{0} <0/><1> à </1>{1} <2/>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Market: {0} a short position at the current price." -msgstr "" +msgstr "{typeString} Short Market : {0} une position short au prix actuel." #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "Claim {totalUsd}" -msgstr "" +msgstr "Réclamer {totalUsd}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Swap" -msgstr "" +msgstr "Swap Yield Yak" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Vaultka" -msgstr "" +msgstr "Vaultka" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -745,24 +750,24 @@ msgstr "MARCHÉ" #: src/domain/synthetics/userFeedback/utils.ts msgid "What did you like the most about our service?" -msgstr "" +msgstr "Qu'est-ce que vous avez le plus aimé dans notre service ?" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Paraswap" -msgstr "" +msgstr "Paraswap" #: src/components/TVChartContainer/constants.ts msgid "TP - Long Dec." -msgstr "" +msgstr "TP - Long Dec." #: src/components/Referrals/AffiliatesStats.tsx msgid "Claimable Rebates" -msgstr "" +msgstr "Remises réclamables" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount reached" -msgstr "" +msgstr "Montant max du pool atteint" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Market Orders" @@ -770,15 +775,15 @@ msgstr "Ordres de marché" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we address your concerns and improve your experience?" -msgstr "" +msgstr "Comment pouvons-nous aborder vos préoccupations et améliorer votre expérience ?" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value locked takes into account:" -msgstr "" +msgstr "La valeur totale verrouillée prend en compte :" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending buy request" -msgstr "" +msgstr "Envoi de la demande d'achat" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can check your claim history <0>here</0>." @@ -786,7 +791,7 @@ msgstr "Vous pouvez vérifier l'historique de vos réclamations <0>ici</0>." #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable positive funding fees.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "Frais de financement positifs réclamables.<0/><1/>Ils deviennent disponibles après modification de la position en l'augmentant ou la diminuant, en déposant ou retirant du collatéral, ou en réglant les frais en utilisant le bouton \"Régler\"." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -799,22 +804,24 @@ msgstr "Prix acceptable pour l'ordre." #: src/components/TVChartContainer/DynamicLine.tsx msgid "The order could not be updated" -msgstr "" +msgstr "L'ordre n'a pas pu être mis à jour" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Cross-chain one-click deposits into GM" -msgstr "" +msgstr "Dépôts en un clic cross-chain dans GM" #: src/pages/Home/Home.tsx msgid "Open positions through a simple swap interface. Conveniently swap from any supported asset into the position of your choice." -msgstr "Ouvrez ces positions dans une interface d'échange simple. Échangez facilement n'importe quel actif, pris en charge à la position de votre choix." +msgstr "Ouvrez des positions via une interface de swap simple. Swap commodément de n'importe quel actif supporté vers la position de votre choix." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives Distribution History" -msgstr "" +msgstr "Historique de distribution des incitations" + +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "Aucun marché correspondant" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" @@ -822,16 +829,16 @@ msgstr "MAX" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid slippage value" -msgstr "Valeur de glissement invalide" +msgstr "Valeur de slippage invalide" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx msgid "{0} price" -msgstr "{0} prix" +msgstr "Prix {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} buyable amount exceeded" -msgstr "" +msgstr "Montant achetable max {0} dépassé" #: src/components/Glp/GlpSwap.jsx msgid "Sell submitted!" @@ -839,7 +846,7 @@ msgstr "Vente soumise !" #: src/components/Exchange/PositionSeller.jsx msgid "Closing..." -msgstr "" +msgstr "Fermeture..." #: src/components/Referrals/AddAffiliateCode.jsx msgid "Code already taken" @@ -847,31 +854,30 @@ msgstr "Code déjà pris" #: src/components/TVChartContainer/constants.ts msgid "SL - Short Dec." -msgstr "" +msgstr "SL - Short Dec." #: src/components/SettingsModal/SettingsModal.tsx msgid "Slippage should be less than -5%" -msgstr "" +msgstr "Le slippage devrait être inférieur à -5%" #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Acceptable Swap Impact" -msgstr "" +msgstr "Impact de swap acceptable" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "Laissez votre Telegram si vous êtes d'accord pour être contacté pour un suivi rapide" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized PnL" -msgstr "" +msgstr "PnL non réalisé" #: src/pages/Dashboard/OverviewCard.tsx msgid "This value may be higher on other websites due to the collateral of positions being included in the calculation." -msgstr "" +msgstr "Cette valeur peut être plus élevée sur d'autres sites en raison de l'inclusion du collatéral des positions dans le calcul." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/pages/Stake/GlpCard.tsx @@ -881,7 +887,7 @@ msgstr "Récompenses" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Liq. {0} {longOrShortText}" -msgstr "" +msgstr "Liq. {0} {longOrShortText}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -905,36 +911,36 @@ msgstr "Page de gouvernance GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Money Market" -msgstr "" +msgstr "Marché monétaire décentralisé" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Stop Price" -msgstr "" +msgstr "Prix stop" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "using GLV and GM tokens. Buying or staking GMX, or using referrals, is not supported at this time." -msgstr "" +msgstr "en utilisant des tokens GLV et GM. L'achat ou le staking de GMX, ou l'utilisation de parrainages, n'est pas supporté pour le moment." #: src/pages/AccountDashboard/HistoricalLists.tsx msgid "Positions ({positionsCount})" -msgstr "" +msgstr "Positions ({positionsCount})" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Trade GMX</0>" -msgstr "" +msgstr "<0>Trader GMX</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "As network fees have increased, an additional network fee is needed." -msgstr "" +msgstr "Comme les frais de réseau ont augmenté, un frais de réseau supplémentaire est nécessaire." #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited" -msgstr "" +msgstr "Déposé" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Limit: Swap tokens when the trigger price is reached." -msgstr "" +msgstr "Limite de Swap : Échanger des tokens lorsque le prix déclencheur est atteint." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP have been reserved for vesting." @@ -942,7 +948,7 @@ msgstr "{0} GLP ont été réservés pour le vesting." #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Selling {symbol}..." -msgstr "" +msgstr "Vente de {symbol}..." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -951,15 +957,15 @@ msgstr "Acheter avec {0}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Asset Management" -msgstr "" +msgstr "Gestion d'actifs" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding..." -msgstr "S'ajoute..." +msgstr "Ajout en cours..." #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX {VERSION_NAME} {networkName} actions for all accounts." -msgstr "" +msgstr "Actions GMX {VERSION_NAME} {networkName} pour tous les comptes." #: src/components/Exchange/ConfirmationBox.jsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met" @@ -967,7 +973,7 @@ msgstr "Il se peut que la liquidité soit insuffisante pour exécuter votre ordr #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow <0>BTCUSD</0> price in real-time, along with other currency pair rates. The interactive charts offer advanced tools and a user-friendly interface for easier market analysis and decision-making." -msgstr "" +msgstr "GMX utilise TradingView pour fournir des graphiques de cryptomonnaies en temps réel, afin que vous puissiez facilement suivre le prix <0>BTCUSD</0> en temps réel, ainsi que d'autres taux de paires de devises. Les graphiques interactifs offrent des outils avancés et une interface conviviale pour une analyse de marché et une prise de décision plus faciles." #: src/components/Glp/SwapErrorModal.tsx msgid "Swap on 1inch" @@ -975,15 +981,15 @@ msgstr "Échanger sur 1inch" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Coingecko" -msgstr "" +msgstr "Ouvrir {0} dans Coingecko" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buy {operationTokenSymbol}" -msgstr "" +msgstr "Acheter {operationTokenSymbol}" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy GM: {0}" -msgstr "" +msgstr "Acheter GM : {0}" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx @@ -993,35 +999,35 @@ msgstr "Capitalisation boursière" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settled" -msgstr "" +msgstr "Frais {positionName} réglés" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average leverage used." -msgstr "" +msgstr "Effet de levier moyen utilisé." #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/TotalRewardsCard.tsx msgid "Escrowed GMX" -msgstr "" +msgstr "GMX escrowé" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX for Liquidity Providers. For security reasons, we won't contact you first. Please send the message \"I’m a Liquidity Provider\" to our official telegram account:" -msgstr "" +msgstr "Nous voulons vos insights pour améliorer GMX pour les fournisseurs de liquidité. Pour des raisons de sécurité, nous ne vous contacterons pas en premier. Veuillez envoyer le message \"I’m a Liquidity Provider\" à notre compte Telegram officiel :" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Insufficient Liquidity" -msgstr "" +msgstr "Liquidité insuffisante" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "The max network fee is overestimated, including by the buffer set under settings. Upon execution, any excess network fee is sent back to your account." -msgstr "" +msgstr "Le frais de réseau max est surestimé, y compris par le buffer défini dans les paramètres. Lors de l'exécution, tout excès de frais de réseau est renvoyé à votre compte." #: src/components/Synthetics/GmList/GmListItem.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "TVL (Supply)" -msgstr "" +msgstr "TVL (Supply)" #: src/components/ModalViews/RedirectModal.tsx msgid "Alternative links can be found in the <0>docs</0>.<1/><2/>By clicking Agree you accept the <3>T&Cs</3> and <4>Referral T&Cs</4>.<5/><6/>" @@ -1029,11 +1035,11 @@ msgstr "Des liens alternatifs peuvent être trouvés dans la section <0>docs</0> #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "All Time" -msgstr "" +msgstr "Tout le temps" #: src/components/Referrals/referralsHelper.js msgid "The referral code can't be more than {MAX_REFERRAL_CODE_LENGTH} characters." -msgstr "Le code de parrainage ne peut contenir plus de {MAX_REFERRAL_CODE_LENGTH} caractères." +msgstr "Le code de parrainage ne peut pas dépasser {MAX_REFERRAL_CODE_LENGTH} caractères." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx @@ -1042,54 +1048,54 @@ msgstr "Ordres déclencheurs" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX fundamentals" -msgstr "Principes fondamentaux de GMX" +msgstr "Fondamentaux GMX" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Code" msgstr "Code de parrainage" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" -msgstr "" +msgstr "Graphiques par TradingView" #: src/pages/Stake/TotalRewardsCard.tsx msgid "GMX Staked Rewards" -msgstr "" +msgstr "Récompenses GMX stakées" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Staked Tokens" -msgstr "" +msgstr "Tokens stakés" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Beefy" -msgstr "" +msgstr "Beefy" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake completed!" -msgstr "" +msgstr "Arrêt du staking terminé !" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/MinReceiveRow.tsx msgid "Min. Receive" -msgstr "Reçu Min." +msgstr "Reçu min." #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Estimated Fee Refund" -msgstr "Remboursement estimé des frais" +msgstr "Remboursement de frais estimé" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Swaps" -msgstr "" +msgstr "Swaps GMX" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivating..." -msgstr "" +msgstr "Désactivation..." #: src/components/Header/HomeHeaderLinks.tsx msgid "Protocol" -msgstr "" +msgstr "Protocole" #: src/pages/Dashboard/OverviewCard.tsx msgid "Overview" @@ -1097,12 +1103,12 @@ msgstr "Aperçu" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Allow all my tokens to be transferred to a new account" -msgstr "" +msgstr "Autoriser tous mes tokens à être transférés vers un nouveau compte" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche Max. APY: {0}" -msgstr "" +msgstr "APY max Avalanche : {0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrdersList.jsx @@ -1120,24 +1126,24 @@ msgstr "Collatéral" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Market" -msgstr "" +msgstr "Annuler Stop Market" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit" -msgstr "" +msgstr "Exécuter la limite" #: src/components/AprInfo/AprInfo.tsx msgid "Base APY" -msgstr "" +msgstr "APY de base" #: src/components/TokenCard/TokenCard.tsx msgid "GMX V1 markets are disabled. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "Les marchés GMX V1 sont désactivés. GLP est en phase de suppression et ne supporte plus les marchés GMX V1." #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx msgid "WARNING: This position has a low amount of collateral after deducting borrowing fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "AVERTISSEMENT: Cette position a un montant de collatéral bas après déduction des frais d'emprunt, déposez plus de collatéral pour réduire le risque de liquidation de la position." +msgstr "AVERTISSEMENT : Cette position a un montant de collatéral bas après déduction des frais d'emprunt, déposez plus de collatéral pour réduire le risque de liquidation de la position." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -1150,26 +1156,32 @@ msgstr "Vendre GLP" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." -msgstr "" +msgstr "Puisque le collatéral de votre position est en {symbol}, avec une valeur initiale supérieure à la taille de la position long {indexName}, la valeur du collatéral couvrira tout PnL négatif, donc il n'y a pas de prix de liquidation." + +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "CSV" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." -msgstr "" +msgstr "Liq. short" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Time limit expired." -msgstr "" +msgstr "Trading en un clic désactivé. Limite de temps expirée." #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {composition} as per the composition displayed." -msgstr "" +msgstr "Ce token accumule automatiquement des frais du trading à effet de levier et des swaps pour le marché {0}. Il est également exposé à {composition} selon la composition affichée." #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Buy Fee" -msgstr "" +msgstr "Frais d'achat" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "Tokens" @@ -1179,69 +1191,65 @@ msgstr "Demander un retrait" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "1inch" -msgstr "" - -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "" +msgstr "1inch" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" -msgstr "" +msgstr "Copié" #: src/components/Exchange/PositionEditor.jsx msgid "Requested deposit of {0} {1} into {2} {longOrShortText}." -msgstr "" +msgstr "Dépôt demandé de {0} {1} dans {2} {longOrShortText}." #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid TWAP number of parts value" -msgstr "" +msgstr "Valeur de nombre de parties TWAP invalide" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid network fee buffer value" -msgstr "" +msgstr "Valeur de buffer de frais de réseau invalide" #: src/components/Exchange/TradeHistory.jsx msgid "Request deposit into {0} {longOrShortText}" -msgstr "Demander dépôt dans {0} {longOrShortText}\"" +msgstr "Demander un dépôt dans {0} {longOrShortText}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "0x" -msgstr "" +msgstr "0x" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "FUNDING FEE" -msgstr "" +msgstr "FRAIS DE FINANCEMENT" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Markets" -msgstr "" +msgstr "Marchés" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Real-time rants about GMX Trades" -msgstr "" +msgstr "Rants en temps réel sur les trades GMX" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "The total realized and unrealized profit and loss for the period, considering price impact and fees but excluding swap fees." -msgstr "" +msgstr "Le PnL total réalisé et non réalisé pour la période, en tenant compte de l'impact de prix et des frais mais en excluant les frais de swap." #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V2" -msgstr "" +msgstr "Volume sur V2" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show less" -msgstr "" +msgstr "Afficher moins" #: src/pages/Stake/Vesting.tsx msgid "Vest" -msgstr "" +msgstr "Vester" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in the GLP pools." -msgstr "" +msgstr "Valeur totale des tokens dans les pools GLP." #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Select pool" @@ -1254,7 +1262,7 @@ msgstr "POIDS" #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "APR" -msgstr "Taux de rendement annuel" +msgstr "TAEG" #: src/pages/NftWallet/NftWallet.jsx msgid "Tranferring..." @@ -1275,28 +1283,32 @@ msgstr "Total" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Swap active: {0}, executed: {1}, cancelled: {2}" -msgstr "Échange actif: {0}, exécuté: {1}, annulé: {2}" +msgstr "Swap actif : {0}, exécuté : {1}, annulé : {2}" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Buy token on:" -msgstr "" +msgstr "Acheter token sur :" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Price Impact" -msgstr "" +msgstr "Impact de prix réalisé" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit Swap" -msgstr "Échange limité échoué" +msgstr "Swap limité échoué" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Liq. {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "Liq. {longOrShortText} - {marketIndexName}" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "Actions" #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." @@ -1304,15 +1316,15 @@ msgstr "Long en cours..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Rebates" -msgstr "Remise totale" +msgstr "Remises totales" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {1} and {2} as per the composition displayed." -msgstr "" +msgstr "Ce token accumule automatiquement des frais du trading à effet de levier et des swaps pour le marché {0}. Il est également exposé à {1} et {2} selon la composition affichée." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min order: {0}" -msgstr "" +msgstr "Ordre min : {0}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -1321,44 +1333,44 @@ msgstr "Portefeuille non connecté" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "TWAP Swap" -msgstr "" +msgstr "Swap TWAP" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GM is the liquidity provider token for GMX V2 markets. Accrues 63% of the V2 markets generated fees." -msgstr "" +msgstr "GM est le token de fournisseur de liquidité pour les marchés GMX V2. Accumule 63% des frais générés par les marchés V2." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider adding a buffer of 0.30% to it so the order is more likely to be processed." -msgstr "" +msgstr "L'impact de prix actuel est {0}. Envisagez d'ajouter un buffer de 0.30% pour que l'ordre soit plus susceptible d'être traité." #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Hide error" -msgstr "" +msgstr "Cacher l'erreur" #: src/components/Referrals/TradersStats.tsx msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." -msgstr "" +msgstr "Le propriétaire de ce code de parrainage a défini une remise personnalisée de {currentTierDiscount}% au lieu du standard {0}% pour le Tier {1}." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "Votre portefeuille, vos clés. Vous signez chaque transaction on-chain en utilisant votre propre RPC, typiquement fourni par votre portefeuille. Paiements de gas en ETH." #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" -msgstr "" +msgstr "Position restante en dessous de 10 USD" #: src/config/bridging.tsx msgid "Mint tBTC using BTC with <0>Threshold</0>." -msgstr "" +msgstr "Minter tBTC en utilisant BTC avec <0>Threshold</0>." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Price Impact" -msgstr "" +msgstr "Impact de prix de swap" #: src/domain/synthetics/userFeedback/utils.ts msgid "What issues did you encounter that led to your rating?" -msgstr "" +msgstr "Quels problèmes avez-vous rencontrés qui ont conduit à votre note ?" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Address" @@ -1366,66 +1378,71 @@ msgstr "Adresse NFT" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancelled." -msgstr "" +msgstr "{orderText} annulé." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} Pools GLV sont <0>incités{sparkle}.</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Set Max Leverage" -msgstr "" +msgstr "Définir l'effet de levier max" #: src/components/Exchange/PositionSeller.jsx msgid "Insufficient Available Liquidity to swap to {0}:" -msgstr "" +msgstr "Liquidité disponible insuffisante pour swap vers {0} :" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Created At" -msgstr "" +msgstr "Créé à" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Symbiosis" -msgstr "" +msgstr "Symbiosis" #: src/components/TokenSelector/TokenSelector.tsx msgid "No tokens matched." -msgstr "" +msgstr "Aucun token correspondant." #: src/components/Exchange/TradeHistory.jsx msgid "Withdraw {0} USD from {1}{longOrShortText}" -msgstr "" +msgstr "Retirer {0} USD de {1}{longOrShortText}" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "{orderTypeLabel} {positionText}, -{0}" -msgstr "" +msgstr "{orderTypeLabel} {positionText}, -{0}" #: src/pages/PageNotFound/PageNotFound.jsx #: src/pages/PageNotFound/PageNotFound.jsx msgid "Page not found" -msgstr "La page n'a pas été trouvée" +msgstr "Page non trouvée" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX position updates" -msgstr "Bot telegram pour les mises à jour des positions sur GMX" +msgstr "Bot Telegram pour les mises à jour de positions GMX" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "account" msgstr "compte" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" +msgstr "" + #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Keep leverage at {0}" -msgstr "" +msgstr "Garder l'effet de levier à {0}" #: src/components/Exchange/SwapBox.jsx msgid "If you have an existing position, the position will be closed at {0} USD.<0/><1/>This exit price will change with the price of the asset.<2/><3/><4>Read more</4>." -msgstr "Si vous avez une position existante, la position sera fermée à {0} USD.<0/><1/>Ce prix de sortie évoluera en fonction du prix de l'actif.<2/><3/><4>Lire plus</4>." +msgstr "Si vous avez une position existante, la position sera fermée à {0} USD.<0/><1/>Ce prix de sortie changera avec le prix de l'actif.<2/><3/><4>Lire plus</4>." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAIL. LIQ." -msgstr "" +msgstr "LIQ. DISPO." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer Submitted" @@ -1433,17 +1450,17 @@ msgstr "Transfert soumis" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Action limit exceeded." -msgstr "" +msgstr "Trading en un clic désactivé. Limite d'action dépassée." #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Shift GM" -msgstr "" +msgstr "Shift GM" #: src/components/Exchange/PositionEditor.jsx msgid "Requested withdrawal of {0} USD from {1} {longOrShortText}." -msgstr "" +msgstr "Retrait demandé de {0} USD de {1} {longOrShortText}." #: src/pages/Exchange/Exchange.tsx msgid "Could not increase {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." @@ -1452,15 +1469,15 @@ msgstr "Impossible d'augmenter {tokenSymbol} {longOrShortText} dans les limites #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swapped {0} for {1}" -msgstr "" +msgstr "Échangé {0} pour {1}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Tier {0} ({currentRebatePercentage}% rebate)" -msgstr "" +msgstr "Tier {0} ({currentRebatePercentage}% de remise)" #: src/components/NotifyModal/NotifyModal.tsx msgid "Discover GMX Alerts" -msgstr "" +msgstr "Découvrir les alertes GMX" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -1469,36 +1486,36 @@ msgstr "Prix sur Avalanche" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order creation failed." -msgstr "Ordre d'échange échoué." +msgstr "Création d'ordre de swap échouée." #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Chart positions" -msgstr "Positions sur les graphiques" +msgstr "Positions sur graphiques" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Unknown Order" -msgstr "" +msgstr "Ordre inconnu" #: src/components/Exchange/ConfirmationBox.jsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity" -msgstr "L'ordre ne sera exécuté que si les conditions de prix sont remplies et si la liquidité est suffisante." +msgstr "L'ordre ne sera exécuté que si les conditions de prix sont remplies et s'il y a suffisamment de liquidité." #: src/components/Exchange/FeesTooltip.tsx msgid "Swap Fee" -msgstr "" +msgstr "Frais de swap" #: src/components/Glp/GlpSwap.jsx msgid "GLP sell disabled, pending {0} upgrade" -msgstr "Vente GLP désactivé, en attente de {0} actualisations" +msgstr "Vente GLP désactivée, en attente de mise à niveau {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient receive token liquidity" -msgstr "" +msgstr "Liquidité de token reçu insuffisante" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements and Updates" -msgstr "Annonces et mises à jour concernant GMX" +msgstr "Annonces et mises à jour GMX" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit Swap" @@ -1513,34 +1530,34 @@ msgstr "frais" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche Fuji" -msgstr "" +msgstr "V2 Avalanche Fuji" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order cancelled" -msgstr "" +msgstr "Ordre de shift annulé" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order executed" -msgstr "" +msgstr "Ordre exécuté" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Select Positions" -msgstr "" +msgstr "Sélectionner les positions" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "Vous serez long {indexSymbol} de votre position long, tout en étant long {collateralSymbol} de votre collatéral {collateralSymbol}. Le prix de liquidation variera en fonction du prix de {collateralSymbol}." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Failed to update order(s)" -msgstr "" +msgstr "Échec de la mise à jour de l'ordre(s)" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche" -msgstr "" +msgstr "V2 Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Decrease" @@ -1548,7 +1565,7 @@ msgstr "Diminution de marché échouée" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Full market" -msgstr "" +msgstr "Marché complet" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Wallet" @@ -1556,11 +1573,11 @@ msgstr "Portefeuille NFT" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals Voting page" -msgstr "Page de vote pour les propositions sur GMX" +msgstr "Page de vote des propositions GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy ETH directly on <0>Arbitrum</0> using these options:" -msgstr "" +msgstr "Vous pouvez acheter ETH directement sur <0>Arbitrum</0> en utilisant ces options :" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -1584,7 +1601,7 @@ msgstr "Agrégateur DEX" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the order." -msgstr "Prix de référence pour l'ordre." +msgstr "Prix mark pour l'ordre." #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -1598,15 +1615,15 @@ msgstr "Valeur nette" #: src/components/Synthetics/TableMarketFilter/MarketFilterBase.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Search Market" -msgstr "" +msgstr "Rechercher marché" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the current price impact and set allowed slippage. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "Le prix acceptable de l'ordre inclut l'impact de prix actuel et le slippage autorisé défini. Le prix d'exécution doit satisfaire cette condition pour que l'ordre soit exécuté." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be higher than the limit price." -msgstr "" +msgstr "Une fois que le prix mark atteint le prix limite, l'ordre tentera de s'exécuter, garantissant le prix acceptable, qui inclut l'impact de prix acceptable défini. Notez que si l'impact de prix est négatif, le prix mark peut devoir être supérieur au prix limite." #: src/components/Synthetics/Claims/ClaimsHistory.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx @@ -1616,62 +1633,71 @@ msgstr "ID de transaction" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx msgid "Borrow Fee / Day" -msgstr "Commission d'emprunt / jour" +msgstr "Frais d'emprunt / jour" #: src/components/SettingsModal/SettingsModal.tsx msgid "Number of parts must be between {MIN_TWAP_NUMBER_OF_PARTS} and {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Le nombre de parties doit être entre {MIN_TWAP_NUMBER_OF_PARTS} et {MAX_TWAP_NUMBER_OF_PARTS}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Chinese)" -msgstr "" +msgstr "GMX (Chinois)" + +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "Rechercher" #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" -msgstr "Le prix est inférieur à celui de la marque" +msgstr "Le prix est en dessous du prix mark" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GMX Vault" -msgstr "" +msgstr "Retirer du vault GMX" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal submitted." -msgstr "" +msgstr "Retrait soumis." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Referral Discount" -msgstr "" +msgstr "Remise de parrainage" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee or a borrow fee." -msgstr "" +msgstr "Les positions {longOrShort} ne paient pas de frais de financement ou de frais d'emprunt." #: src/pages/Dashboard/OverviewCard.tsx msgid "Fees for the past" -msgstr "" +msgstr "Frais pour le passé" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizations" -msgstr "" +msgstr "Optimisations de rendement" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive (Approximate)" -msgstr "" +msgstr "Recevoir (Approximatif)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "No swap path found" -msgstr "" +msgstr "Aucun chemin de swap trouvé" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "RPnL" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "Les stop losses combinés sont au maximum (100%). Diminuez les valeurs existantes pour ajouter plus d'ordres." #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "4-18 Places" -msgstr "" +msgstr "4-18 Places" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "MARKETS" @@ -1680,19 +1706,19 @@ msgstr "MARCHÉS" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Max {0}" -msgstr "" +msgstr "Max {0}" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {marketName} market. It is also exposed to {exposedToLabel} as per the composition displayed." -msgstr "" +msgstr "Ce token accumule automatiquement des frais du trading à effet de levier et des swaps pour le marché {marketName}. Il est également exposé à {exposedToLabel} selon la composition affichée." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Withdrew {0} from {positionText}" -msgstr "" +msgstr "Retiré {0} de {positionText}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Create Order" -msgstr "Créer un Ordre" +msgstr "Créer un ordre" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Utilization" @@ -1700,27 +1726,27 @@ msgstr "Utilisation" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {0} for {1}" -msgstr "" +msgstr "{orderTypeText} {0} pour {1}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GLP Vesting Vault" -msgstr "L'expéditeur a retiré tous les tokens du coffre de Vesting GLP." +msgstr "L'expéditeur a retiré tous les tokens du vault de vesting GLP." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Profit Fee" -msgstr "" +msgstr "Frais de swap profit élevés" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "WARNING: This position has a low amount of collateral after deducting fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "" +msgstr "AVERTISSEMENT : Cette position a un montant de collatéral bas après déduction des frais, déposez plus de collatéral pour réduire le risque de liquidation de la position." #: src/components/Exchange/SwapBox.jsx msgid "Max {0} long capacity" -msgstr "Max {0} capacité du long" +msgstr "Capacité long max {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "" +msgstr "Saisir un prix" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Account" @@ -1728,7 +1754,7 @@ msgstr "Compte" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available for wrapping or unwrapping native token {0}." -msgstr "" +msgstr "Le Trading Express n'est pas disponible pour wrapper ou unwrap le token natif {0}." #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1736,71 +1762,70 @@ msgstr "" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Close Fee" -msgstr "" +msgstr "Frais de fermeture" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Airdrop" -msgstr "" +msgstr "Airdrop V1" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX" -msgstr "" +msgstr "GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Uniswap or directly on GMX (make sure to select Arbitrum):" -msgstr "" +msgstr "Acheter GMX sur Uniswap ou directement sur GMX (assurez-vous de sélectionner Arbitrum) :" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Close to execution price" -msgstr "Près du prix d'exécution" +msgstr "Proche du prix d'exécution" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." -msgstr "" +msgstr "Trading Express et en un clic indisponibles en raison d'un solde de gas insuffisant." -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "" +#~ msgid "Global Leaderboard" +#~ msgstr "Classement mondial" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" -msgstr "" +msgstr "Taille min par partie : {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above liq. price" -msgstr "" +msgstr "Prix déclencheur au-dessus du prix de liq." #: src/pages/Home/Home.tsx msgid "Simple Swaps" -msgstr "Échanges simples" +msgstr "Swaps simples" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "No results found" -msgstr "" +msgstr "Aucun résultat trouvé" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Pair" -msgstr "" +msgstr "Paire" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Synthetics/SwapCard/SwapCard.tsx msgid "Max {0} out" -msgstr "Sortir en {0} max" +msgstr "Sortir max {0}" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing shorts or<1/>decreasing longs for this size." -msgstr "" +msgstr "Il n'y a pas d'impact de prix. Il y a un prix d'exécution unique pour augmenter les shorts ou<1/>diminuer les longs pour cette taille." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Option-based Vaults" -msgstr "" +msgstr "Vaults basés sur options" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -1813,11 +1838,11 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Mark" -msgstr "" +msgstr "Mark" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage at {keepLeverageAtValue}" -msgstr "" +msgstr "Garder l'effet de levier à {keepLeverageAtValue}" #: src/pages/Dashboard/GmxCard.tsx msgid "not staked" @@ -1825,7 +1850,7 @@ msgstr "non staké" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 2" -msgstr "" +msgstr "Layer 2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -1835,88 +1860,89 @@ msgstr "Historique de distribution des remises" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Negative Funding Fee" -msgstr "" +msgstr "Frais de financement négatifs accumulés" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit not checked" -msgstr "Renoncer aux profits non vérifiés" +msgstr "Renoncer au profit non coché" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" -msgstr "" +msgstr "Acheter GM" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of close fee" -msgstr "" +msgstr "des frais de fermeture" #: src/components/Exchange/TradeHistory.jsx msgid "Increase {0} {longOrShortText}, +{1} USD, {2} Price: {3} USD" -msgstr "Augmenter {0} {longOrShortText}, +{1} USD, {2} Prix: {3} USD" +msgstr "Augmenter {0} {longOrShortText}, +{1} USD, {2} Prix : {3} USD" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The address of the esGMX (IOU) token is {esGmxIouAddress}." -msgstr "L'adresse du token esGMX (IOU - reconnaissance de dette) est {esGmxIouAddress}." +msgstr "L'adresse du token esGMX (IOU) est {esGmxIouAddress}." #: src/components/NotifyModal/NotifyModal.tsx msgid "GMX Alerts" -msgstr "" +msgstr "Alertes GMX" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Show details" -msgstr "" +msgstr "Afficher les détails" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "To reduce fees, select a different asset to pay with." -msgstr "Pour réduire les frais, choisissez un autre actif pour payer." +msgstr "Pour réduire les frais, sélectionnez un actif différent pour payer." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be lower than the limit price." -msgstr "" +msgstr "Une fois que le prix mark atteint le prix limite, l'ordre tentera de s'exécuter, garantissant le prix acceptable, qui inclut l'impact de prix acceptable défini. Notez que si l'impact de prix est négatif, le prix mark peut devoir être inférieur au prix limite." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy {0}" -msgstr "" +msgstr "Acheter {0}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "USD Value may not be accurate since the data does not contain prices for {0}" -msgstr "" +msgstr "La valeur USD peut ne pas être précise car les données ne contiennent pas de prix pour {0}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Blueberry Club" -msgstr "" +msgstr "Club GMX Blueberry" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Cumulative PnL" -msgstr "" +msgstr "PnL cumulé" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum Max. APY:" -msgstr "" +msgstr "APY max Arbitrum :" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity for your Account:" -msgstr "" +msgstr "Capacité de vault pour votre compte :" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" -msgstr "" +msgstr "{0, plural, one {Annuler l'ordre} other {Annuler # ordres}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" -msgstr "" +msgstr "Afficher PnL après frais" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol risk explorer and stats" -msgstr "" +msgstr "Explorateur de risques de protocole et stats" #: src/components/Exchange/PositionShareCard.tsx msgid "Generating shareable image..." -msgstr "Création d'une image partageable..." +msgstr "Génération d'image partageable..." #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1928,7 +1954,7 @@ msgstr "Création d'une image partageable..." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Borrow Fee" -msgstr "Commission d'emprunt" +msgstr "Frais d'emprunt" #: src/components/Glp/GlpSwap.jsx msgid "Buy submitted." @@ -1936,20 +1962,21 @@ msgstr "Achat soumis." #: src/pages/Stake/Stake.tsx msgid "Incentives & Prizes" -msgstr "" +msgstr "Incitations & Prix" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you sell GLP for. <0/>Enter the amount of GLP you want to redeem in the order form, then check here to compare fees." -msgstr "Les frais peuvent varier selon quel actif vous vendez pour du GLP. <0/>Indiquer la somme que vous souhaitez rembourser, puis vérifiez ici pour comparer les frais." +msgstr "Les frais peuvent varier selon l'actif pour lequel vous vendez GLP. <0/>Saisissez le montant de GLP que vous voulez racheter dans le formulaire d'ordre, puis vérifiez ici pour comparer les frais." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{txnTypeText} {0} order for" -msgstr "" +msgstr "{txnTypeText} {0} ordre pour" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." -msgstr "" +msgstr "La valeur USD des frais est calculée au moment où ils sont gagnés et n'inclut pas les incitations." +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1959,7 +1986,7 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max" -msgstr "" +msgstr "Max" #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -1969,32 +1996,33 @@ msgstr "Vérification du code..." #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" -msgstr "" +msgstr "Pools GM" #: src/components/Exchange/SwapBox.jsx msgid "There is a \"Close\" button on each position row, clicking it will display the option to close positions via market orders." -msgstr "" +msgstr "Il y a un bouton \"Fermer\" sur chaque ligne de position, cliquer dessus affichera l'option de fermer les positions via des ordres de marché." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity." -msgstr "" +msgstr "L'ordre ne sera exécuté que si les conditions de prix sont remplies et s'il y a suffisamment de liquidité." #: src/pages/Referrals/Referrals.tsx msgid "Affiliates" -msgstr "" +msgstr "Affiliés" #: src/pages/Stake/Vesting.tsx msgid "Convert esGMX tokens to GMX tokens.<0/>Please read the <1>vesting details</1> before using the vaults." -msgstr "" +msgstr "Convertir des tokens esGMX en tokens GMX.<0/>Veuillez lire les <1>détails de vesting</1> avant d'utiliser les vaults." #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express" -msgstr "" +msgstr "Essayer Express" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to deactivate" -msgstr "" +msgstr "Échec de la désactivation" #: src/lib/legacy.ts msgid "No open position, order cannot be executed unless a position is opened" @@ -2003,19 +2031,19 @@ msgstr "Pas de position ouverte, l'ordre ne peut être exécuté que si une posi #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "Short Positions" -msgstr "Positions Shorts" +msgstr "Positions short" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buying {symbol}..." -msgstr "" +msgstr "Achat de {symbol}..." #: src/components/Exchange/TradeHistory.jsx msgid "Could not increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}  USD" -msgstr "" +msgstr "Impossible d'augmenter {0} {longOrShortText}, +{1} USD, Prix acceptable : {2} USD" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX on {chainName}" -msgstr "" +msgstr "Acheter GMX sur {chainName}" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2035,12 +2063,13 @@ msgstr "" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Size" -msgstr "Montant" +msgstr "Taille" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "Nous valorisons votre expérience et vos insights et vous invitons à participer à un chat anonyme en tête-à-tête." +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2055,7 +2084,7 @@ msgstr "" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Connect Wallet" -msgstr "Connecter Portefeuille" +msgstr "Connecter le portefeuille" #: src/components/Exchange/OrdersToa.jsx msgid "Enabling Orders..." @@ -2071,111 +2100,107 @@ msgstr "Pas d'esGMX à réclamer" #: src/components/Exchange/SwapBox.jsx msgid "Requested increase of {tokenSymbol} {longOrShortText} by {0} USD." -msgstr "Augmentation requise de {tokenSymbol} {longOrShortText} par {0} USD." +msgstr "Augmentation demandée de {tokenSymbol} {longOrShortText} par {0} USD." #: src/pages/Home/Home.tsx msgid "Enter and exit positions with minimal spread and low price impact. Get the optimal price without incurring additional costs." -msgstr "" +msgstr "Entrez et sortez des positions avec un spread minimal et un faible impact de prix. Obtenez le prix optimal sans encourir de coûts supplémentaires." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b trading incentives" -msgstr "" +msgstr "Incitations au trading STIP.b" #: src/components/Exchange/ConfirmationBox.jsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "" +msgstr "Vous pouvez modifier le slippage autorisé par défaut dans le menu des paramètres en haut à droite de la page.<0/><1/>Notez qu'un faible slippage autorisé, par ex. moins de {0}, peut entraîner des ordres échoués si les prix sont volatils." #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." -msgstr "<0>En savoir plus</0> sur les frais." +msgstr "<0>Lire plus</0> sur les frais." #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The execution price may vary depending on swap fees at the time the order is executed." -msgstr "Vous recevrez au moins {0} {1}, si cet ordre est exécuté. Le prix d'exécution peut varier en fonction des frais d'échange au moment de l'exécution de l'ordre." +msgstr "Vous recevrez au moins {0} {1} si cet ordre est exécuté. Le prix d'exécution peut varier en fonction des frais de swap au moment de l'exécution de l'ordre." #: src/components/Exchange/SwapBox.jsx msgid "Limit order creation failed." -msgstr "Échec de la création d'un ordre limite." +msgstr "Création d'ordre limite échouée." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics" -msgstr "" +msgstr "Dune Analytics" #: src/domain/synthetics/trade/utils/validation.ts msgid "There isn't enough GM: {0} [{1}] liquidity in GLV to fulfill your sell request. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "Il n'y a pas assez de liquidité GM : {0} [{1}] dans GLV pour satisfaire votre demande de vente. Veuillez choisir un pool différent, réduire la taille de vente, ou diviser votre retrait de plusieurs pools." #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx msgid "Approving {0}..." -msgstr "Approbation {0}..." +msgstr "Approbation de {0}..." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Deposited {0} into {positionText}" -msgstr "" +msgstr "Déposé {0} dans {positionText}" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Votre portefeuille, vos clés. GMX exécute les transactions pour vous sans signature individuelle, offrant une expérience fluide comme un CEX. Les trades utilisent des RPC premium sponsorisés par GMX pour la fiabilité, même pendant la congestion du réseau. Paiements de gas en USDC ou WETH." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Funding Fees" -msgstr "" +msgstr "Réclamer les frais de financement" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates are airdropped weekly." -msgstr "Les remises sont distribuées chaque semaine." +msgstr "Les remises sont airdroppées hebdomadairement." #: src/components/SettingsModal/SettingsModal.tsx msgid "Display Settings" -msgstr "" +msgstr "Paramètres d'affichage" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "Total:" -msgstr "Total:" +msgstr "Total :" #: src/domain/tokens/approveTokens.tsx msgid "{0} Approved!" -msgstr "{0} Approuvé!" +msgstr "{0} Approuvé !" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to STBTC</0> to use {1} as collateral." -msgstr "" +msgstr "Aucun chemin de swap disponible. <0>Échanger {0} vers STBTC</0> pour utiliser {1} comme collatéral." #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Provide liquidity</0> and earn {gmxMarketApyDataText} APY" -msgstr "" +msgstr "<0>Fournir de la liquidité</0> et gagner {gmxMarketApyDataText} APY" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Address" -msgstr "" +msgstr "Adresse" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "" +#~ msgid "Winner:" +#~ msgstr "Gagnant :" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" -msgstr "Volume total des échanges" +msgstr "Volume total de trading" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx msgid "Collateral Spread" -msgstr "" +msgstr "Spread de collatéral" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing limit order with {symbol} as collateral. <0>Switch to {symbol} collateral</0>." -msgstr "" +msgstr "Vous avez un ordre limite existant avec {symbol} comme collatéral. <0>Passer au collatéral {symbol}</0>." #: src/components/Header/Header.tsx msgid "Trade on GMX V2 in Arbitrum and win 280,000 ARB (> $500k) in prizes in <0>two weekly</0> competitions. Live from March 13th to 27th." -msgstr "" +msgstr "Trade sur GMX V2 sur Arbitrum et gagnez 280,000 ARB (> $500k) en prix dans <0>deux compétitions hebdomadaires</0>. En direct du 13 au 27 mars." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Index" @@ -2187,28 +2212,28 @@ msgstr "Tableau de bord de finance décentralisée" #: src/components/Glp/GlpSwap.jsx msgid "GLP buy disabled, pending {0} upgrade" -msgstr "Achat GLP désactivé, en attente de {0} actualisations" +msgstr "Achat GLP désactivé, en attente de mise à niveau {0}" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" -msgstr "" +msgstr "<0>Erreur lors de la soumission de l'ordre.</0><1/><2>L'adresse du signataire ne correspond pas à l'adresse du destinataire.</2><3/><4>Veuillez recharger la page et réessayer.</4>" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" -msgstr "" +msgstr "Mode de trading" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please try changing the RPC url in your wallet settings with the help of <2>chainlist.org</2>.<3/><4/><5>Read more</5>." -msgstr "" +msgstr "Transaction échouée en raison d'une erreur RPC.<0/><1/>Veuillez essayer de changer l'URL RPC dans les paramètres de votre portefeuille avec l'aide de <2>chainlist.org</2>.<3/><4/><5>Lire plus</5>." #: src/components/Exchange/PositionSeller.jsx msgid "You have an active order to decrease {longOrShortText} {sizeInToken} {0} (${1}) at {prefix} {2}" -msgstr "" +msgstr "Vous avez un ordre actif pour diminuer {longOrShortText} {sizeInToken} {0} (${1}) à {prefix} {2}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} sellable amount exceeded" -msgstr "" +msgstr "Montant vendable max {0} dépassé" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -2221,15 +2246,15 @@ msgstr "Transférer NFT" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit failed." -msgstr "" +msgstr "Activation du dépôt échouée." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GMX tokens before" -msgstr "Le destinataire n'a jamais staké de tokens GLP auparavant" +msgstr "Le destinataire n'a pas staké de tokens GMX auparavant" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX Swaps monitoring" -msgstr "" +msgstr "Bot Telegram pour la surveillance des swaps GMX" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "LIQUIDITY" @@ -2240,7 +2265,7 @@ msgstr "LIQUIDITÉ" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Swaps" -msgstr "Échanges" +msgstr "Swaps" #: src/components/ApproveTokenButton/ApproveTokenButton.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx @@ -2250,40 +2275,40 @@ msgstr "Échanges" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Allow {0} to be spent" -msgstr "" +msgstr "Autoriser {0} à être dépensé" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order created!" -msgstr "Ordre d'échange créé !" +msgstr "Ordre de swap créé !" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "POSITION" -msgstr "" +msgstr "POSITION" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Trading Volume" -msgstr "" +msgstr "Volume de trading" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing limit order in the {0} market pool but it lacks liquidity for this order." -msgstr "" +msgstr "Vous avez un ordre limite existant dans le pool de marché {0} mais il manque de liquidité pour cet ordre." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Reserved for Vesting" -msgstr "" +msgstr "Réservé pour le vesting" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/JoinReferralCode.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Update" -msgstr "Actualiser" +msgstr "Mettre à jour" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DODO" -msgstr "" +msgstr "DODO" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Your transfer has been initiated." @@ -2291,35 +2316,40 @@ msgstr "Votre transfert a été initié." #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Estimated annualized fees generated by trading activity (open, close, borrow, liquidations, swaps) over the selected period. Does not include backing token price changes, trading PnL, or funding fees.<0/><1/>For detailed stats and comparisons, see the <2>GMX V2 LP Dashboard</2>." -msgstr "" +msgstr "Frais annualisés estimés générés par l'activité de trading (ouverture, fermeture, emprunt, liquidations, swaps) sur la période sélectionnée. N'inclut pas les changements de prix des tokens de backing, PnL de trading, ou frais de financement.<0/><1/>Pour des stats détaillées et des comparaisons, voir le <2>Tableau de bord LP GMX V2</2>." #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Risk Alerts" -msgstr "" +msgstr "Alertes de risque de liquidation" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settling" -msgstr "" +msgstr "Règlement des frais {positionName}" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" msgstr "{existingTriggerOrderLength, plural, one {Vous avez une commande de déclenchement active qui pourrait affecter cette position.} other {Vous avez # commandes de déclenchement actives qui pourraient affecter cette position.}}" +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "<0>{0}</0> tokens GMX peuvent être réclamés, utilisez les options sous la section Récompenses totales pour les réclamer." + #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" -msgstr "" +msgstr "Ordre de transfert exécuté" #: src/pages/Stake/VesterDepositModal.tsx msgid "You need a total of at least {0} {stakeTokenLabel} to vest {1} esGMX." -msgstr "" +msgstr "Vous avez besoin d'au moins {0} {stakeTokenLabel} au total pour vester {1} esGMX." #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} USDG for{1} {2}" -msgstr "" +msgstr "Échanger {0} USDG pour {1} {2}" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "{0} will be swapped to {1} on order execution." -msgstr "" +msgstr "{0} sera échangé contre {1} lors de l'exécution de l'ordre." #. Button to clear the filter selection #: src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx @@ -2328,24 +2358,24 @@ msgstr "Effacer la sélection" #: src/domain/synthetics/orders/utils.tsx msgid "The order will not be executed as its trigger price is beyond the position's liquidation price." -msgstr "" +msgstr "L'ordre ne sera pas exécuté car son prix de déclenchement dépasse le prix de liquidation de la position." #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Failed to cancel {ordersText}" -msgstr "" +msgstr "Échec de l'annulation de {ordersText}" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Short Stop Market : {0} une position short lorsque le prix est inférieur au prix de déclenchement." #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." msgstr "Le prix du marché a changé, envisagez d'augmenter votre marge autorisée en cliquant sur l'icône \"...\" à côté de votre adresse." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" -msgstr "" +msgstr "Glissement autorisé par défaut" #. Total Value Locked #: src/components/Synthetics/MarketsList/MarketsList.tsx @@ -2355,7 +2385,7 @@ msgstr "TVL" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Shift Fee" -msgstr "" +msgstr "Frais de transfert" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/OverviewCard.tsx @@ -2365,19 +2395,19 @@ msgstr "Pool de GLP" #: src/domain/legacy.ts #: src/pages/Exchange/Exchange.tsx msgid "Cancel submitted." -msgstr "Annulation soumise" +msgstr "Annulation soumise." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Traderjoe:" -msgstr "" +msgstr "Acheter GMX sur Traderjoe :" #: src/pages/Actions/ActionsRouter.tsx msgid "V1 is not supported on {chainName}. Please switch to Arbitrum to use V1." -msgstr "" +msgstr "V1 n'est pas pris en charge sur {chainName}. Veuillez passer à Arbitrum pour utiliser V1." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Saulius GMX Analytics" -msgstr "" +msgstr "Analyses GMX de Saulius" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -2386,29 +2416,29 @@ msgstr "" #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx msgid "{0} Price" -msgstr "{0} Prix" +msgstr "Prix {0}" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized services" -msgstr "" +msgstr "Acheter GMX sur des services centralisés" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Bridge and swap" -msgstr "" +msgstr "Bridge et échange" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above lowest limit price" -msgstr "" +msgstr "Prix de déclenchement supérieur au prix limite le plus bas" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Borrow Fee Rate" -msgstr "" +msgstr "Taux de frais d'emprunt" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max number of parts: {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Nombre maximum de parties : {MAX_TWAP_NUMBER_OF_PARTS}" #: src/components/Header/AppHeaderUser.tsx #: src/components/Header/AppHeaderUser.tsx @@ -2423,31 +2453,39 @@ msgstr "{0} USD déposés sur {tokenSymbol} {longOrShortText}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has staked GMX/GLP before" -msgstr "" +msgstr "Le destinataire a staké GMX/GLP auparavant" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling sell request" -msgstr "" +msgstr "Remplir la demande de vente" #: src/components/Exchange/TradeHistory.jsx msgid "{actionDisplay} Order" -msgstr "{actionDisplay} Ordre" +msgstr "Ordre {actionDisplay}" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "Graphique du marché" #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" -msgstr "Il y a plus de longs que de courts, les frais d'emprunt pour les courts sont actuellement nuls." +msgstr "Il y a plus de longs que de shorts, les frais d'emprunt pour shorter sont actuellement nuls." #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche APR:" -msgstr "Taux de Rendement Annuels Avalanche:" +msgstr "Taux de rendement annualisé Avalanche :" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics for GMX" -msgstr "" +msgstr "Analyses Dune pour GMX" #: src/components/Exchange/TradeHistory.jsx msgid "Could not decrease {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}" -msgstr "" +msgstr "Impossible de diminuer {0} {longOrShortText}, +{1} USD, Prix acceptable : {2}" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "NET RATE / 1 H" @@ -2459,41 +2497,45 @@ msgstr "Vester avec GMX sur Avalanche" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "Cliquez sur la position pour sélectionner son marché, puis utilisez la boîte de trading pour augmenter la taille de votre position, ou pour définir des ordres Take Profit / Stop Loss." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Relayer request failed" -msgstr "" +msgstr "Échec de la demande de relais" #: src/components/Exchange/TradeHistory.jsx msgid "Request decrease {0} {longOrShortText}, -{1} USD, Acceptable Price: {2} {3} USD" -msgstr "Demander une réduction {0} {longOrShortText}, -{1} USD, Prix acceptable: {2} {3} USD" +msgstr "Demander une réduction {0} {longOrShortText}, -{1} USD, Prix acceptable : {2} {3} USD" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "settings updated" -msgstr "" +msgstr "paramètres mis à jour" #: src/components/Exchange/SwapBox.jsx msgid "You have an existing position with {0} as collateral." -msgstr "" +msgstr "Vous avez une position existante avec {0} comme collatéral." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Transfer Account" msgstr "Compte de transfert" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "" + #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" -msgstr "" +msgstr "Actions GMX V1" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Part" -msgstr "" +msgstr "Exécuter la partie TWAP" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Profit Fee" -msgstr "" +msgstr "Frais de profit d'échange" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Amount to claim" @@ -2505,15 +2547,15 @@ msgstr "Offres d'emploi chez GMX." #: src/components/Exchange/OrderEditor.jsx msgid "Price below Mark Price" -msgstr "Prix inférieur à celui de la marque" +msgstr "Prix inférieur au prix mark" #: src/components/Stake/GMXAprTooltip.tsx msgid "APRs are updated weekly on Wednesday and will depend on the fees collected for the week." -msgstr "Les taux de rendement annuels sont mis à jour chaque semaine le mercredi et dépendront des frais perçus pour la semaine." +msgstr "Les taux de rendement annualisés sont mis à jour chaque semaine le mercredi et dépendront des frais perçus pour la semaine." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Fees (Incl. Swap)" -msgstr "" +msgstr "Frais (incl. échange)" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -2522,7 +2564,7 @@ msgstr "{fromText} à {toMinText}" #: src/components/Errors/errorToasts.tsx msgid "Otherwise, try changing the RPC url in your wallet settings with the help of <0>chainlist.org</0>." -msgstr "" +msgstr "Sinon, essayez de changer l'URL RPC dans les paramètres de votre portefeuille avec l'aide de <0>chainlist.org</0>." #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2531,11 +2573,11 @@ msgstr "Prix supérieur au prix de liq." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the pay token to collateral token swap when the price conditions are met." -msgstr "" +msgstr "Il pourrait ne pas y avoir suffisamment de liquidité pour exécuter l'échange du token de paiement vers le token de collatéral lorsque les conditions de prix sont remplies." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "User Quests" -msgstr "" +msgstr "Quêtes utilisateur" #: src/components/Glp/GlpSwap.jsx msgid "{0} pool exceeded, try different token" @@ -2553,7 +2595,7 @@ msgstr "Positions ({0})" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake failed." -msgstr "" +msgstr "Échec du unstaking." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx @@ -2566,7 +2608,11 @@ msgstr "Pas assez de liquidité d'échange disponible pour remplir l'ordre." #: src/pages/Stake/Stake.tsx msgid "Earn prizes by participating in GMX Trading Competitions." -msgstr "" +msgstr "Gagnez des prix en participant aux compétitions de trading GMX." + +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "Réduire" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" @@ -2574,7 +2620,7 @@ msgstr "Confirmer le long" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Arbitrum" -msgstr "" +msgstr "Traders parrainés sur Arbitrum" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -2590,11 +2636,11 @@ msgstr "Transaction envoyée." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter up to 10 coins" -msgstr "" +msgstr "Entrez jusqu'à 10 coins" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Backing Tokens" -msgstr "" +msgstr "Exposition aux tokens de soutien" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Creating..." @@ -2604,11 +2650,11 @@ msgstr "Création..." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing from Subaccount" -msgstr "" +msgstr "Retrait du sous-compte" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settling Position Fees" -msgstr "" +msgstr "Règlement des frais de position" #: src/components/Exchange/OrderEditor.jsx msgid "Minimum received" @@ -2621,19 +2667,19 @@ msgstr "Somme disponible pour retirer de GLP. Montant non utilisé par les poste #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Enter your feedback here" -msgstr "" +msgstr "Entrez vos commentaires ici" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Impact on Collateral" -msgstr "" +msgstr "Impact élevé sur le collatéral" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "and" -msgstr "" +msgstr "et" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GLV liquidity" -msgstr "" +msgstr "Liquidité GLV insuffisante" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -2643,31 +2689,31 @@ msgstr "Prix invalide, voir l'avertissement" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} only from your short position." -msgstr "" +msgstr "Vous serez short {indexSymbol} uniquement à partir de votre position short." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Signing approval..." -msgstr "" +msgstr "Signature de l'approbation..." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." -msgstr "" +msgstr "L'impact sur le prix actuel est de {0}. Envisagez d'utiliser un impact sur le prix acceptable de -0,30 % pour que l'ordre soit plus susceptible d'être traité." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" -msgstr "" +msgstr "Annulation automatique TP/SL" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Funding Fee Rate" -msgstr "" +msgstr "Taux de frais de financement" #: src/components/Exchange/PositionSeller.jsx msgid "Requested decrease of {0} {longOrShortText} by {sizeDeltaUsd} USD." -msgstr "" +msgstr "Diminution demandée de {0} {longOrShortText} par {sizeDeltaUsd} USD." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Returned Collateral" -msgstr "" +msgstr "Collatéral retourné" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "You need to select {swapTokenSymbol} as the \"Pay\" token to use it for collateral to initiate this trade." @@ -2675,27 +2721,27 @@ msgstr "Vous devez sélectionner {swapTokenSymbol} comme token \"Payer\" pour l' #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "There are issues in the TP/SL orders." -msgstr "" +msgstr "Il y a des problèmes dans les ordres TP/SL." #: src/components/Glp/GlpSwap.jsx msgid "The Bonus Rebate is an estimate and will be airdropped as ARB tokens when migrating this liquidity to GM pools within the same epoch. <0>Read more</0>." -msgstr "" +msgstr "La remise bonus est une estimation et sera airdroppée sous forme de tokens ARB lors de la migration de cette liquidité vers les pools GM au sein de la même époque. <0>Lire plus</0>." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP sold for {1} {2}!" -msgstr "{0} GLP a été vendu pour {1} {2}!" +msgstr "{0} GLP vendu pour {1} {2} !" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Long Inc." -msgstr "" +msgstr "Stop Market - Augmentation Long" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Failed to Claim Price Impact Rebate" -msgstr "" +msgstr "Échec de la réclamation de la remise d'impact sur le prix" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Only positions with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "Seules les positions avec plus de {0} en \"Capital Utilisé\" sont classées." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept minimum and {action}" @@ -2703,7 +2749,7 @@ msgstr "Accepter le minimum et {action}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Withdraw from Affiliate Vault" -msgstr "" +msgstr "Retirer du coffre-fort affilié" #: src/components/Glp/GlpSwap.jsx msgid "Current Pool Amount" @@ -2712,50 +2758,50 @@ msgstr "Montant actuel du pool" #: src/domain/legacy.ts #: src/pages/Exchange/Exchange.tsx msgid "Cancel failed." -msgstr "Annulation échouée" +msgstr "Annulation échouée." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will be executed if there is sufficient liquidity and the execution price guarantees that you will receive the minimum receive amount." -msgstr "" +msgstr "L'ordre sera exécuté s'il y a suffisamment de liquidité et que le prix d'exécution garantit que vous recevrez le montant minimum à recevoir." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Transacting with a depegged stable coin is subject to spreads reflecting the worse of current market price or $1.00, with transactions involving multiple stablecoins may have multiple spreads." -msgstr "" +msgstr "Les transactions avec un stablecoin dépegé sont soumises à des spreads reflétant le pire du prix du marché actuel ou 1,00 $, avec des transactions impliquant plusieurs stablecoins pouvant avoir plusieurs spreads." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the \"Close\" button to reduce your Position Size." -msgstr "" +msgstr "Utilisez le bouton \"Fermer\" pour réduire la taille de votre position." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Limit)" -msgstr "" +msgstr "Augmenter la taille (Limite)" #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute at the desired {priceText} as its acceptable price impact is set to {formattedOrderAcceptablePriceImpact}, which is lower than the current market price impact of {formattedCurrentAcceptablePriceImpact}. It can be edited using the \"Edit\" button." -msgstr "" +msgstr "L'ordre peut ne pas s'exécuter au {priceText} désiré car son impact sur le prix acceptable est défini à {formattedOrderAcceptablePriceImpact}, qui est inférieur à l'impact sur le prix du marché actuel de {formattedCurrentAcceptablePriceImpact}. Il peut être modifié en utilisant le bouton \"Modifier\"." #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Liquidation Fee" -msgstr "" +msgstr "Frais de liquidation" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settle" -msgstr "" +msgstr "Régler" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TWAP: {0} a short position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Short TWAP : {0} une position short en parties uniformément distribuées sur une période spécifiée." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap when the min. receive conditions are met." -msgstr "" +msgstr "Il pourrait ne pas y avoir suffisamment de liquidité pour exécuter l'échange lorsque les conditions de réception min. sont remplies." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "{fromText} to" -msgstr "" +msgstr "{fromText} à" #: src/components/Exchange/PositionDropdown.tsx msgid "Select Market" @@ -2763,7 +2809,11 @@ msgstr "Sélectionner le marché" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "Open positions: {0}<0/>Under risk: {1}" -msgstr "Positions ouvertes: {0}<0/>Sous risque: {1}" +msgstr "Positions ouvertes : {0}<0/>Sous risque : {1}" + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "" #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" @@ -2771,48 +2821,48 @@ msgstr "Accélérer le chargement de la page" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: Swap {amountInDisplay}{1} for{minOutDisplay} {2}, Price:{3} USD" -msgstr "" +msgstr "{0} : Échanger {amountInDisplay}{1} pour {minOutDisplay} {2}, Prix : {3} USD" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "(Rebated)" -msgstr "" +msgstr "(Remisé)" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized exchanges:" -msgstr "" +msgstr "Acheter GMX sur des échanges centralisés :" #: src/pages/BuyGMX/BuyGMX.tsx msgid "GMX bonds can be bought on Bond Protocol with a discount and a small vesting period:" -msgstr "" +msgstr "Les obligations GMX peuvent être achetées sur Bond Protocol avec une remise et une petite période de vesting :" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above highest limit price" -msgstr "" +msgstr "Prix de déclenchement supérieur au prix limite le plus élevé" #: src/components/Exchange/OrdersToa.jsx msgid "Note that orders are not guaranteed to be executed.<0/><1/>This can occur in a few situations including but not exclusive to:" -msgstr "Notez que l'exécution des ordres n'est pas garantie d'être exécutée.<0/><1/>Cela peut se produire dans plusieurs situations, notamment, mais pas exclusivement:" +msgstr "Notez que l'exécution des ordres n'est pas garantie.<0/><1/>Cela peut se produire dans plusieurs situations, notamment, mais pas exclusivement :" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions with Orders" -msgstr "" +msgstr "Positions ouvertes avec ordres" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Copin" -msgstr "" +msgstr "Copin" #: src/components/Exchange/PositionSeller.jsx msgid "{nativeTokenSymbol} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{nativeTokenSymbol} ne peut pas être envoyé à des adresses de contrats intelligents. Sélectionnez un autre token." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "This swap is routed through several GM pools for the lowest possible fees and price impact." -msgstr "" +msgstr "Cet échange est acheminé via plusieurs pools GM pour les frais et l'impact sur le prix les plus bas possibles." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "{0}" -msgstr "" +msgstr "{0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Liquidity." @@ -2820,12 +2870,12 @@ msgstr "Pas assez de liquidité disponible pour remplir l'ordre. L'ordre sera re #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized data based on the past 7 days." -msgstr "" +msgstr "Données annualisées basées sur les 7 derniers jours." #: src/components/Exchange/OrdersToa.jsx #: src/components/Exchange/OrdersToa.jsx msgid "Enable Orders" -msgstr "Permettre les ordres" +msgstr "Activer les ordres" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}. Please mint GLP using another token" @@ -2833,47 +2883,49 @@ msgstr "Capacité maximale du pool atteinte pour {0}. Veuillez minter GLP avec u #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>Execution prices for decreasing longs." -msgstr "" +msgstr "Aucune liquidité n'est disponible pour augmenter les shorts pour<0/>cette taille. Taille short max : {0}<1/><2/>Prix d'exécution pour diminuer les longs." #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" -msgstr "Echanger" +msgstr "Trader" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding referral code failed." -msgstr "L'ajout du code/ID de référence a échoué." +msgstr "L'ajout du code de parrainage a échoué." #: src/components/Exchange/PositionEditor.jsx msgid "Max leverage without PnL: {0}x" -msgstr "" +msgstr "Levier max sans PnL : {0}x" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "V2 doesn't currently support this network" -msgstr "" +msgstr "V2 ne prend pas en charge ce réseau actuellement" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Arbitrum" -msgstr "" +msgstr "V1 Arbitrum" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche" -msgstr "" +msgstr "Avalanche" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Fee APR" -msgstr "" +msgstr "Taux de rendement annualisé des frais" #: src/domain/synthetics/positions/utils.ts msgid "SL" -msgstr "" +msgstr "SL" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2890,16 +2942,16 @@ msgstr "Staker" #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx msgid "Allow {tokenSymbol} to be spent" -msgstr "" +msgstr "Autoriser {tokenSymbol} à être dépensé" #: src/components/NpsModal/NpsModal.tsx msgid "Help us improve" -msgstr "" +msgstr "Aidez-nous à nous améliorer" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Invalid Liquidation Price" -msgstr "" +msgstr "Prix de liquidation invalide" #: src/pages/Home/Home.tsx msgid "An aggregate of high-quality price feeds determine when liquidations occur. This keeps positions safe from temporary wicks." @@ -2907,32 +2959,32 @@ msgstr "Un agrégat de flux de prix de qualité supérieure détermine quand les #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} available liquidity. Choose a different \"Receive\" token." -msgstr "" +msgstr "Le montant d'échange de {0} à {1} dépasse la liquidité disponible de {2}. Choisissez un autre token \"Recevoir\"." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Take Profit" -msgstr "" +msgstr "Créer Take Profit" #: src/components/Exchange/OrderEditor.jsx msgid "Update Order" -msgstr "Actualiser l'ordre" +msgstr "Mettre à jour l'ordre" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP" -msgstr "" +msgstr "Annuler TWAP" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the liquidation." -msgstr "Prix ​​de référence pour la liquidation." +msgstr "Prix de référence pour la liquidation." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Selling {0}{1}<1>{poolName}</1></0>" -msgstr "" +msgstr "<0>Vente de {0}{1}<1>{poolName}</1></0>" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Max close amount exceeded" -msgstr "" +msgstr "Montant de fermeture max dépassé" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2942,15 +2994,15 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max leverage: {0}x" -msgstr "" +msgstr "Levier max : {0}x" #: src/domain/synthetics/positions/utils.ts msgid "T" -msgstr "" +msgstr "T" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Please enter the names of the coins you'd like to see added:" -msgstr "" +msgstr "Veuillez entrer les noms des coins que vous aimeriez voir ajoutés :" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and Short" @@ -2958,48 +3010,53 @@ msgstr "Renoncer aux profits et shorter" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Arbitrum" -msgstr "" +msgstr "Staké sur Arbitrum" #: src/components/Exchange/PositionSeller.jsx msgid "Order creation failed." -msgstr "" +msgstr "Échec de la création de l'ordre." #: src/components/TokenCard/TokenCard.tsx msgid "Sell token on:" -msgstr "" +msgstr "Vendre le token sur :" #: src/components/Synthetics/MissedCoinsHint/MissedCoinsHint.tsx msgid "Can’t find the coin you need? Let us know" -msgstr "" +msgstr "Vous ne trouvez pas le coin dont vous avez besoin ? Faites-le nous savoir" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegated to" -msgstr "" +msgstr "Délégué à" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} update failed." -msgstr "" +msgstr "Échec de la mise à jour de {orderText}." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: Swap {fromAmountDisplay} {0} for {toAmountDisplay} {1}" -msgstr "Exécuter l'ordre: Échanger {fromAmountDisplay} {0} pour {toAmountDisplay} {1}" +msgstr "Exécuter l'ordre : Échanger {fromAmountDisplay} {0} pour {toAmountDisplay} {1}" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Buy {swapTokenSymbol} on 1inch" msgstr "Acheter {swapTokenSymbol} sur 1inch" +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "" + #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" -msgstr "" +msgstr "PnL (%)" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we continue to meet your expectations?" -msgstr "" +msgstr "Comment pouvons-nous continuer à répondre à vos attentes ?" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another address to claim if you'd like." -msgstr "Le jeton esGMX (IOU - reconnaissance de dette) est transférable. Vous pouvez ajouter le token à votre portefeuille et l'envoyer à une autre adresse pour le réclamer si vous le souhaitez." +msgstr "Le jeton esGMX (IOU) est transférable. Vous pouvez ajouter le token à votre portefeuille et l'envoyer à une autre adresse pour le réclamer si vous le souhaitez." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Self-transfer not supported" @@ -3007,7 +3064,7 @@ msgstr "Auto-transfert non supporté" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Generating session..." -msgstr "" +msgstr "Génération de session..." #: src/pages/Exchange/Exchange.tsx msgid "Decreased {tokenSymbol} {longOrShortText}, -{0} USD." @@ -3015,7 +3072,7 @@ msgstr "{tokenSymbol} {longOrShortText} diminué, -{0} USD." #: src/components/Exchange/PositionEditor.jsx msgid "Leave at least {0} ETH for gas" -msgstr "" +msgstr "Laissez au moins {0} ETH pour le gaz" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders failed." @@ -3038,7 +3095,7 @@ msgstr "Frais de réseau" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact." -msgstr "" +msgstr "Prix d'exécution attendu pour l'ordre, incluant l'impact sur le prix actuel." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3061,11 +3118,11 @@ msgstr "Activation des ordres envoyée." #: src/components/Exchange/PositionEditor.jsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing..." -msgstr "" +msgstr "Retrait..." #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims match the selected filters" -msgstr "" +msgstr "Aucune réclamation ne correspond aux filtres sélectionnés" #: src/components/Exchange/SwapBox.jsx #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx @@ -3083,37 +3140,37 @@ msgstr "" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx #: src/domain/synthetics/positions/utils.ts msgid "Market" -msgstr "Bourse" +msgstr "Marché" #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} acceptable amount. Can only receive {3}." -msgstr "" +msgstr "Le montant d'échange de {0} à {1} dépasse le montant acceptable de {2}. Peut seulement recevoir {3}." #: src/pages/Stake/Stake.tsx msgid "Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2." -msgstr "" +msgstr "Gagnez des incitations en tokens {incentivesToken} en achetant des tokens GM ou en tradant sur GMX V2." #: src/components/Exchange/PositionEditor.jsx msgid "Withdraw disabled, pending {0} upgrade" -msgstr "" +msgstr "Retrait désactivé, en attente de mise à niveau {0}" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Read the rules" -msgstr "" +msgstr "Lire les règles" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Lev." -msgstr "" +msgstr "Lev." #: src/pages/Stake/StakeModal.tsx msgid "Stake failed." -msgstr "" +msgstr "Échec du staking." #: src/components/NpsModal/NpsModal.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Submitting..." -msgstr "" +msgstr "Soumission..." #: src/components/Header/HomeHeaderLinks.tsx msgid "App" @@ -3121,52 +3178,47 @@ msgstr "Application" #: src/components/Synthetics/GmList/GlvList.tsx msgid "Yield-optimized vaults supplying liquidity across multiple GMX markets." -msgstr "" +msgstr "Coffres-forts optimisés pour le rendement fournissant de la liquidité sur plusieurs marchés GMX." #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Add {marketName} to Wallet" -msgstr "" +msgstr "Ajouter {marketName} au portefeuille" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized Performance" -msgstr "" +msgstr "Performance annualisée" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" -msgstr "" +msgstr "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap {0} to {1}" -msgstr "" +msgstr "Échanger {0} contre {1}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}." -msgstr "Les frais sont élevés pour changer de {0} vers {1}." +msgstr "Les frais sont élevés pour échanger de {0} vers {1}." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Debug values are not available" -msgstr "" +msgstr "Valeurs de débogage non disponibles" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below liq. price" -msgstr "" +msgstr "Prix de déclenchement inférieur au prix de liq." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx #: src/pages/Stake/ClaimModal.tsx msgid "Claim failed." -msgstr "Réclamation échouée." - -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "" +msgstr "Échec de la réclamation." #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" -msgstr "" +msgstr "Erreur inconnue" #: src/components/Glp/GlpSwap.jsx msgid "Buying..." @@ -3174,24 +3226,24 @@ msgstr "Achat..." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a new ratio or allowed slippage" -msgstr "" +msgstr "Entrez un nouveau ratio ou glissement autorisé" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap UI Fee" -msgstr "" +msgstr "Frais d'interface d'échange" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the size to match the max. allowed leverage:" -msgstr "" +msgstr "Diminuez la taille pour correspondre au levier max autorisé :" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Positive Funding Fee" -msgstr "" +msgstr "Frais de financement positif accumulé" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from Affiliate Vesting Vault" -msgstr "" +msgstr "L'expéditeur a retiré tous les tokens du coffre-fort de vesting affilié" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/keys.ts @@ -3201,33 +3253,33 @@ msgstr "Liquidé" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Blueberry Pulse" -msgstr "" +msgstr "Blueberry Pulse" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5></3> deployment for those features." -msgstr "" +msgstr "Veuillez passer au déploiement <0><1/><2>Arbitrum</2></0> ou <3><4/><5>Avalanche</5></3> pour ces fonctionnalités." #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "Sélectionner une langue" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Direction" -msgstr "" +msgstr "Direction" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} and {1} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM peut être vendu pour {0} et {1} pour ce marché jusqu'aux plafonds de vente spécifiés. Les tokens restants dans le pool sont réservés pour les positions actuellement ouvertes." #: src/components/Glp/GlpSwap.jsx msgid "Due to the recent incident on GMX V1 Arbitrum, GLP on Arbitrum is not sellable." -msgstr "" +msgstr "En raison de l'incident récent sur GMX V1 Arbitrum, GLP sur Arbitrum n'est pas vendable." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "Graph showing performance vs benchmark over the selected period." -msgstr "" +msgstr "Graphique montrant la performance vs benchmark sur la période sélectionnée." #: src/components/Synthetics/ExecutionPriceRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3252,20 +3304,20 @@ msgstr "Prix acceptable de l'ordre" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "VOL." -msgstr "" +msgstr "VOL." #: src/components/Glp/GlpSwap.jsx msgid "Max Capacity for {0} Reached" -msgstr "Capacité max pour {0} Atteinte" +msgstr "Capacité max pour {0} atteinte" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below limit price" -msgstr "" +msgstr "Prix de déclenchement inférieur au prix limite" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Buying {0}{1}<1>{poolName}</1></0> <2>with {tokensText}</2>" -msgstr "" +msgstr "<0>Achat de {0}{1}<1>{poolName}</1></0> <2>avec {tokensText}</2>" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionsList.jsx @@ -3278,57 +3330,57 @@ msgstr "Collatéral initial" #: src/pages/Stake/StakeModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power before staking." -msgstr "" +msgstr "<0>Déléguez votre pouvoir de vote {0} GMX DAO non délégué</0> avant de staker." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Size" -msgstr "" +msgstr "Taille moy." #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 esGMX" -msgstr "" +msgstr "V1 esGMX" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit PnL" -msgstr "" +msgstr "PnL Take Profit" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Let us know which coins you're missing" -msgstr "" +msgstr "Faites-nous savoir quels coins vous manquent" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw sent." -msgstr "" +msgstr "Activation du retrait envoyée." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." -msgstr "Le montant de vos esGMX (IOU - reconnaissance de dette) diminuera du montant total après la réclamation, c'est un comportement prévu." +msgstr "Le solde de vos esGMX (IOU) diminuera du montant de votre réclamation après la réclamation, c'est un comportement attendu." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." -msgstr "" +msgstr "Les frais de réseau max sont définis à une valeur plus élevée pour gérer les augmentations potentielles du prix du gaz lors de l'exécution de l'ordre. Tout excédent de frais de réseau sera remboursé sur votre compte lors de l'exécution de l'ordre. Applicable uniquement à GMX V2." #: src/domain/synthetics/positions/utils.ts msgid "stop market" -msgstr "" +msgstr "stop market" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized PnL" -msgstr "" +msgstr "PnL non réalisé de départ" #: src/components/TVChartContainer/constants.ts msgid "Limit - Short Inc." -msgstr "" +msgstr "Limite - Augmentation Short" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Sending settle request" -msgstr "" +msgstr "Envoi de la demande de règlement" #: src/lib/legacy.ts msgid "Order cannot be executed as the remaining position would be smaller than $5.00" -msgstr "L'ordre ne peut être exécuté car la position restante serait de moins de 5,00$." +msgstr "L'ordre ne peut être exécuté car la position restante serait inférieure à 5,00 $." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -3339,18 +3391,13 @@ msgstr "L'ordre ne peut être exécuté car la position restante serait de moins msgid "Claiming..." msgstr "Réclamation en cours..." -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "" - #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" msgstr "Demander une augmentation du marché" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Edit {0}" -msgstr "" +msgstr "Modifier {0}" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Arbitrum" @@ -3358,11 +3405,11 @@ msgstr "Vester avec GMX sur Arbitrum" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable price impact rebates.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "Remises d'impact sur le prix réclamables.<0/><1/><2>Lire plus</2>." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and {borrowAction} a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "Les positions {longOrShort} {fundingAction} des frais de financement de {fundingRate} par heure et {borrowAction} des frais d'emprunt de {borrowRate} par heure." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx @@ -3371,7 +3418,7 @@ msgstr "" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "TWAP" -msgstr "" +msgstr "TWAP" #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -3380,61 +3427,65 @@ msgstr "Actualisation de l'ordre..." #: src/components/Exchange/PositionSeller.jsx msgid "Close failed." -msgstr "" +msgstr "Fermeture échouée." #: src/pages/Stake/Stake.tsx msgid "You are earning rewards with {0} tokens.<0/>Tokens: {amountStr}." -msgstr "" +msgstr "Vous gagnez des récompenses avec {0} tokens.<0/>Tokens : {amountStr}." #: src/components/ModalViews/RedirectModal.tsx msgid "The website is a community deployed and maintained instance of the open source <0>GMX front end</0>, hosted and served on the distributed, peer-to-peer <1>IPFS network</1>." -msgstr "Le site web est une instance open source du <0>GMX front-end</0>, déployée et maintenue par la communauté, hébergé et servi sur le réseau distribué, pair-à-pair <1>Réseau IPFS</1>." +msgstr "Le site web est une instance déployée et maintenue par la communauté de l'open source <0>GMX front-end</0>, hébergée et servie sur le réseau distribué pair-à-pair <1>IPFS</1>." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit failed." -msgstr "" +msgstr "Échec du dépôt." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "<0>Set Recommended Impact: {0}</0>." -msgstr "" +msgstr "<0>Définir l'impact recommandé : {0}</0>." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Defi Llama" -msgstr "" +msgstr "Defi Llama" #: src/pages/Exchange/Exchange.tsx msgid "Orders cancelled." msgstr "Ordres annulés." +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" + #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" -msgstr "" +msgstr "Dernier rééquilibrage" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit" -msgstr "" +msgstr "Annuler Limite" #: src/components/Referrals/AffiliatesStats.tsx msgid "V2 Claim" -msgstr "" +msgstr "Réclamation V2" #: src/components/Exchange/OrdersToa.jsx msgid "Accept that orders are not guaranteed to execute and trigger orders may not settle at the trigger price" -msgstr "Accepter que les ordres ne sont pas garantis de s'exécuter et que les ordres de déclenchement peuvent ne pas être réglés au prix de déclenchement" +msgstr "Accepter que les ordres ne sont pas garantis d'être exécutés et que les ordres de déclenchement peuvent ne pas être réglés au prix de déclenchement" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a market" -msgstr "" +msgstr "Sélectionner un marché" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please choose a different pool or reduce the buy size." -msgstr "" +msgstr "Le plafond d'achat pour le pool GM : {0} en {1} [{2}] a été atteint. Veuillez choisir un pool différent ou réduire la taille d'achat." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High External Swap Impact" -msgstr "" +msgstr "Impact d'échange externe élevé" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx @@ -3452,19 +3503,19 @@ msgstr "Glissement autorisé" #: src/components/Exchange/OrderEditor.jsx msgid "Order update failed." -msgstr "Mise à jour de l'ordre échouée." +msgstr "Échec de la mise à jour de l'ordre." #: src/components/Glp/GlpSwap.jsx msgid "Waiting for Approval" -msgstr "En attente d'autorisation" +msgstr "En attente d'approbation" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and do not pay a borrow fee." -msgstr "" +msgstr "Les positions {longOrShort} {fundingAction} des frais de financement de {fundingRate} par heure et ne paient pas de frais d'emprunt." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TP/SL: {0} a short position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Short TP/SL : {0} une position short lorsque le prix de déclenchement est atteint." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community-led Telegram groups." @@ -3472,29 +3523,24 @@ msgstr "Groupes Telegram gérés par la communauté." #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Open Interest" -msgstr "" - -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "" +msgstr "Intérêt ouvert {longShortText} {0}" #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." -msgstr "" +msgstr "Vous n'avez pas de tokens GMX à réclamer." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Settled Funding Fees" -msgstr "" +msgstr "Frais de financement réglés" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Ends in" -msgstr "" +msgstr "Se termine dans" #: src/components/Referrals/JoinReferralCode.tsx msgid "Please input a referral code to benefit from fee discounts." -msgstr "Veuillez saisir un code de parrainage pour bénéficier des réductions de frais." +msgstr "Veuillez saisir un code de parrainage pour bénéficier de réductions de frais." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Deposit" @@ -3506,15 +3552,15 @@ msgstr "Demander un échange de marché" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market.{1}" -msgstr "" +msgstr "Liquidité insuffisante dans le pool de marché {0}. Sélectionnez un pool différent pour ce marché.{1}" #: src/domain/synthetics/trade/utils/validation.ts msgid "App disabled, pending {0} upgrade" -msgstr "" +msgstr "Application désactivée, en attente de mise à niveau {0}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates earned by this account as an affiliate." -msgstr "Remises obtenues par ce compte en tant qu'affilié. " +msgstr "Remises obtenues par ce compte en tant qu'affilié." #: src/components/Glp/GlpSwap.jsx msgid "Swap {0} on 1inch" @@ -3529,11 +3575,11 @@ msgstr "{0} GLP acheté avec {1} {2} !" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake" -msgstr "Arrêter le Staking" +msgstr "Unstaker" #: src/components/SettingsModal/SettingsModal.tsx msgid "Debug Settings" -msgstr "" +msgstr "Paramètres de débogage" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "More Options" @@ -3541,24 +3587,28 @@ msgstr "Plus d'options" #: src/components/TokenCard/TokenCard.tsx msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." -msgstr "" +msgstr "GLV est le token de fournisseur de liquidité pour les coffres-forts GMX V2. Il consiste en plusieurs tokens GM et accumule les frais générés par eux." + +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "Réseau" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" -msgstr "" +msgstr "<0>toutes les</0> {hours} heures{0}" #: src/components/Referrals/TradersStats.tsx msgid "For trades on V1, this discount will be airdropped to your account every Wednesday. On V2, discounts are applied automatically and will reduce your fees when you make a trade." -msgstr "" +msgstr "Pour les trades sur V1, cette remise sera airdroppée sur votre compte chaque mercredi. Sur V2, les remises sont appliquées automatiquement et réduiront vos frais lorsque vous effectuerez un trade." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Fail External Swaps" -msgstr "" +msgstr "Échec des échanges externes" #: src/domain/synthetics/orders/utils.tsx msgid "Swap {fromTokenText} for {toTokenText}" -msgstr "" +msgstr "Échanger {fromTokenText} contre {toTokenText}" #: src/components/Exchange/SwapBox.jsx #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts @@ -3582,7 +3632,7 @@ msgstr "PnL" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available using network's native token {0}. Consider using {1} instead." -msgstr "" +msgstr "Le trading express n'est pas disponible en utilisant le token natif du réseau {0}. Envisagez d'utiliser {1} à la place." #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx @@ -3591,11 +3641,11 @@ msgstr "Augmentation du marché" #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims yet" -msgstr "" +msgstr "Pas encore de réclamations" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Cancel Order" -msgstr "" +msgstr "Annuler l'ordre" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3611,15 +3661,15 @@ msgstr "Retirer" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Market" -msgstr "" +msgstr "Actualiser Stop Market" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Vested Claimable GMX" -msgstr "" +msgstr "GMX acquis réclamable" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy {nativeTokenSymbol}" -msgstr "" +msgstr "Acheter {nativeTokenSymbol}" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "View in Explorer" @@ -3627,31 +3677,31 @@ msgstr "Voir dans Explorer" #: src/components/AprInfo/AprInfo.tsx msgid "Bonus APR" -msgstr "" +msgstr "Taux de rendement annualisé bonus" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift request sent" -msgstr "" +msgstr "Demande de transfert envoyée" #: src/pages/Jobs/Jobs.jsx msgid "GMX is not actively looking for new hires at the moment. However, if you think you can contribute to the project, please email <0>jobs@gmx.io</0>." -msgstr "GMX ne recherche pas activement de nouveaux recrutements pour le moment. Toutefois, si vous pensez pouvoir contribuer au projet, veuillez envoyer un courriel à l'adresse suivante <0>jobs@gmx.io</0>." +msgstr "GMX ne recherche pas activement de nouveaux recrutements pour le moment. Toutefois, si vous pensez pouvoir contribuer au projet, veuillez envoyer un courriel à <0>jobs@gmx.io</0>." #: src/components/Exchange/ConfirmationBox.jsx msgid "You have multiple existing Increase {longOrShortText} {0} limit orders" -msgstr "Vous avez plusieurs augmentations {longOrShortText} {0} ordres limités existantes" +msgstr "Vous avez plusieurs augmentations existantes {longOrShortText} {0} ordres limités" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "After you scan, a connection prompt will appear for you to connect your wallet." -msgstr "Après avoir scanné, une fenêtre de connexion apparaîtra pour vous permettre de connecter votre portefeuille." +msgstr "Après avoir scanné, une invite de connexion apparaîtra pour vous permettre de connecter votre portefeuille." #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer AVAX from other networks to Avalanche using any of the below options:" -msgstr "" +msgstr "Vous pouvez transférer AVAX depuis d'autres réseaux vers Avalanche en utilisant l'une des options ci-dessous :" #: src/pages/Stake/Vesting.tsx msgid "Unsupported network" -msgstr "" +msgstr "Réseau non pris en charge" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -3661,11 +3711,11 @@ msgstr "Ouverture..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche" -msgstr "" +msgstr "Traders parrainés sur Avalanche" #: src/components/Exchange/PositionSeller.jsx msgid "Trigger order disabled, pending {0} upgrade" -msgstr "" +msgstr "Ordre de déclenchement désactivé, en attente de mise à niveau {0}" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Funding Fees" @@ -3675,7 +3725,6 @@ msgstr "Frais de financement" msgid "Approval failed" msgstr "Approbation rejetée" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx @@ -3684,19 +3733,19 @@ msgstr "Intérêt ouvert" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Updating settings..." -msgstr "" +msgstr "Mise à jour des paramètres..." #: src/components/Exchange/SwapBox.jsx msgid "The position will be opened at {0} USD with a max slippage of {1}%.<0/><1/>The slippage amount can be configured under Settings, found by clicking on your address at the top right of the page after connecting your wallet.<2/><3/><4>Read more</4>." -msgstr "La position sera ouverte à {0} USD avec un glissement max. de {1}%.<0/><1/> La somme du glissement peut être configurée dans la rubrique Paramètres, que vous trouverez en cliquant sur votre adresse en haut à droite de la page après avoir connecté votre portefeuille. <2/><3/><4>En savoir plus</4>." +msgstr "La position sera ouverte à {0} USD avec un glissement max de {1}%.<0/><1/>Le montant du glissement peut être configuré dans les paramètres, en cliquant sur votre adresse en haut à droite de la page après avoir connecté votre portefeuille.<2/><3/><4>Lire plus</4>." #: src/components/Referrals/TradersStats.tsx msgid "Active Referral Code" -msgstr "Code/ID de référence actif" +msgstr "Code de parrainage actif" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "Save One-Click Trading settings" -msgstr "" +msgstr "Enregistrer les paramètres de trading en un clic" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Please switch your network to Arbitrum." @@ -3704,51 +3753,51 @@ msgstr "Veuillez changer votre réseau vers Arbitrum." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "The position would be immediately liquidated upon order execution. Try reducing the size." -msgstr "" +msgstr "La position serait immédiatement liquidée lors de l'exécution de l'ordre. Essayez de réduire la taille." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUYABLE" -msgstr "" +msgstr "ACHETABLE" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP" -msgstr "" +msgstr "Créer TWAP" #: src/components/Exchange/PositionEditor.jsx msgid "Enabling Leverage" -msgstr "" +msgstr "Activation du levier" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid Receiver Address" -msgstr "Adresse du destinataire non valide" +msgstr "Adresse du destinataire invalide" #: src/components/Exchange/PositionSeller.jsx msgid "Collateral is not enough to cover pending Fees. Please uncheck \"Keep Leverage\" to pay the Fees with the realized PnL." -msgstr "" +msgstr "Le collatéral n'est pas suffisant pour couvrir les frais en attente. Veuillez décocher \"Garder le levier\" pour payer les frais avec le PnL réalisé." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have yet to reach the minimum \"Capital Used\" of {0} to qualify for the rankings." -msgstr "" +msgstr "Vous n'avez pas encore atteint le minimum de \"Capital Utilisé\" de {0} pour vous qualifier pour les classements." #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience as GMX Liquidity Provider and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "Nous apprécions votre expérience en tant que fournisseur de liquidité GMX et vous invitons à participer à un chat anonyme en tête-à-tête." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "TVL (SUPPLY)" -msgstr "" +msgstr "TVL (FOURNITURE)" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the leverage to match the max. allowed leverage." -msgstr "" +msgstr "Diminuez le levier pour correspondre au levier max autorisé." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Shorts" -msgstr "" +msgstr "Shorts" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Prev" @@ -3756,53 +3805,49 @@ msgstr "Préc" #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 180d" -msgstr "" +msgstr "Derniers 180j" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown buy GM order" -msgstr "" +msgstr "Ordre d'achat GM inconnu" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "" +msgstr "Vous pouvez modifier le glissement autorisé par défaut dans le menu des paramètres en haut à droite de la page.<0/><1/>Notez qu'un glissement autorisé faible, par ex. inférieur à -{0}, peut entraîner des ordres échoués si les prix sont volatils." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." -msgstr "" +msgstr "Il n'y a pas d'impact sur le prix. Il y a un prix d'exécution unique pour augmenter les longs ou<1/>diminuer les shorts pour cette taille." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 days." -msgstr "Après la réclamation, les tokens esGMX seront déposés sur votre compte sur le réseau sélectionné dans les 7 jours." +msgstr "Après la réclamation, les tokens esGMX seront airdroppés sur votre compte sur le réseau sélectionné dans les 7 jours." #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Buy GLV" -msgstr "" +msgstr "Acheter GLV" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Part" -msgstr "" +msgstr "Échec de la partie TWAP" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Impact+Fees" -msgstr "" +msgstr "Impact+Frais" #: src/components/TVChartContainer/constants.ts msgid "TP - Short Dec." -msgstr "" +msgstr "TP - Diminution Short" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs GM Token Dashboard" -msgstr "" +msgstr "Tableau de bord des tokens GM de Compass Labs" #: src/components/Exchange/TradeHistory.jsx msgid "Request increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2} {3} USD" -msgstr "Demander une augmentation {0} {longOrShortText}, +{1} USD, Prix acceptable: {2} {3} USD" +msgstr "Demander une augmentation {0} {longOrShortText}, +{1} USD, Prix acceptable : {2} {3} USD" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -3815,27 +3860,27 @@ msgstr "Collatéral En" #: src/pages/Dashboard/GmCard.tsx msgid "GM Markets" -msgstr "" +msgstr "Marchés GM" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Your opinions and experiences matter to us. Your feedback helps us understand what we are doing well and where we can make enhancements." -msgstr "" +msgstr "Vos opinions et expériences nous importent. Vos commentaires nous aident à comprendre ce que nous faisons bien et où nous pouvons nous améliorer." #: src/components/Exchange/UsefulLinks.tsx msgid "Trading guide" -msgstr "Guide d'opérations" +msgstr "Guide de trading" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Open {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "Ouvrir {longOrShortText} - {marketIndexName}" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "TRADING Airdrop" -msgstr "" +msgstr "Airdrop TRADING" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. This can be useful for delta-neutral strategies to earn funding fees." -msgstr "" +msgstr "Vous serez short {indexSymbol} à partir de votre position short, tout en étant long {collateralSymbol} à partir de votre collatéral {collateralSymbol}. Cela peut être utile pour des stratégies delta-neutres afin de gagner des frais de financement." #: src/components/Referrals/TradersStats.tsx msgid "Rebates earned by this account as a trader." @@ -3862,7 +3907,7 @@ msgstr "Lire plus" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "This Year" -msgstr "" +msgstr "Cette année" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -3870,45 +3915,48 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{actionDisplay} {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} Prix : {3} USD" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Vesting Status" -msgstr "" +msgstr "Statut de vesting" #: src/components/Exchange/ConfirmationBox.jsx msgid "You have an active Limit Order to Increase {longOrShortText} {sizeInToken} {0} (${1}) at price ${2}" -msgstr "Vous avez un ordre limite actif à augmenter {longOrShortText} {sizeInToken} {0} (${1}) au prix ${2}" +msgstr "Vous avez un ordre limite actif pour augmenter {longOrShortText} {sizeInToken} {0} (${1}) au prix ${2}" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Claiming Price Impact Rebate..." -msgstr "" +msgstr "Réclamation de la remise d'impact sur le prix..." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Negative funding fees are automatically settled against the collateral and impact the liquidation price. Positive funding fees can be claimed under the claims tab." -msgstr "" +msgstr "Les frais de financement négatifs sont automatiquement réglés contre le collatéral et impactent le prix de liquidation. Les frais de financement positifs peuvent être réclamés sous l'onglet des réclamations." #: src/pages/Stake/Stake.tsx msgid "Unstake esGMX" -msgstr "" +msgstr "Unstaker esGMX" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "The actual trigger price at which order gets filled will depend on fees and price impact at the time of execution to guarantee that you receive the minimum receive amount." -msgstr "" +msgstr "Le prix de déclenchement réel auquel l'ordre est rempli dépendra des frais et de l'impact sur le prix au moment de l'exécution pour garantir que vous receviez le montant minimum à recevoir." #: src/components/Exchange/PositionDropdown.tsx msgid "Set TP/SL" -msgstr "" +msgstr "Définir TP/SL" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition. The Order will get filled when the condition is met." -msgstr "Le prix d'exécution n'a pas respecté la condition de prix acceptable. L'ordre sera exécuté lorsque la condition sera remplie." +msgstr "Le prix d'exécution n'a pas respecté la condition de prix acceptable. L'ordre sera rempli lorsque la condition sera remplie." #: src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx msgid "Initial Collateral (Collateral excluding Borrow and Funding Fee)." -msgstr "" +msgstr "Collatéral initial (Collatéral excluant emprunt et frais de financement)." #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx @@ -3917,15 +3965,15 @@ msgstr "Taux net / 1h" #: src/pages/Stake/ClaimModal.tsx msgid "Claim esGMX Rewards" -msgstr "" +msgstr "Réclamer les récompenses esGMX" #: src/pages/Stake/Stake.tsx msgid "Trading incentives program is live on {avalancheLink}." -msgstr "" +msgstr "Le programme d'incitations au trading est en direct sur {avalancheLink}." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending sell request" -msgstr "" +msgstr "Envoi de la demande de vente" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx @@ -3935,11 +3983,11 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "NA" -msgstr "" +msgstr "N/A" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This action will not apply for that position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "Vous avez une position existante avec {0} comme collatéral. Cette action ne s'appliquera pas à cette position. <0>Passer au collatéral {1}</0>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -4004,29 +4052,29 @@ msgstr "Short" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "PnL ($)" -msgstr "" +msgstr "PnL ($)" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "GMX Market Tokens" -msgstr "" +msgstr "Tokens de marché GMX" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is above mark price" -msgstr "" +msgstr "Prix Stop Market supérieur au prix de référence" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Txn failed. <0>View</0>." -msgstr "" +msgstr "Txn échouée. <0>Voir</0>." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Affiliate Vault" -msgstr "" +msgstr "Coffre-fort affilié" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "Indiquer un prix" +msgstr "Entrez un prix" #: src/components/Referrals/JoinReferralCode.tsx msgid "Updating..." @@ -4038,8 +4086,8 @@ msgstr "Augmentation de marché échouée" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "" +#~ msgid "EIP-4844 Competition" +#~ msgstr "Compétition EIP-4844" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4053,27 +4101,27 @@ msgstr "" #: src/components/Synthetics/PositionList/PositionList.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Liq. Price" -msgstr "Prix de liquidation" +msgstr "Prix de liq." #: src/components/NotifyModal/NotifyModal.tsx msgid "Trading Pair Price Alerts" -msgstr "" +msgstr "Alertes de prix de paires de trading" #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The exact execution price may vary depending on fees at the time the order is executed." -msgstr "Vous recevrez au moins {0} {1}, si cet ordre est exécuté. Le prix d'exécution exact peut varier en fonction des frais au moment de l'exécution de l'ordre." +msgstr "Vous recevrez au moins {0} {1} si cet ordre est exécuté. Le prix d'exécution exact peut varier en fonction des frais au moment de l'exécution de l'ordre." #: src/components/Common/SEO.tsx msgid "GMX | Decentralized Perpetual Exchange" -msgstr "" +msgstr "GMX | Échange perpétuel décentralisé" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "<0>Botanix</0> currently only supports" -msgstr "" +msgstr "<0>Botanix</0> ne prend en charge actuellement que" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "No position" -msgstr "Pas de position" +msgstr "Aucune position" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -4088,69 +4136,69 @@ msgstr "Annulation échouée" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "{daysConsidered}d Earned Fees" -msgstr "" +msgstr "Frais gagnés sur {daysConsidered}j" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Fulfilling order request" -msgstr "" +msgstr "Remplir la demande d'ordre" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance to pay for gas" -msgstr "" +msgstr "Solde {0} insuffisant pour payer le gaz" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can currently vest a maximum of {0} esGMX tokens at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "Vous pouvez vester un maximum de {0} tokens esGMX à un ratio de {1} {stakingToken} vers 1 esGMX." +msgstr "Vous pouvez actuellement vester un maximum de {0} tokens esGMX à un ratio de {1} {stakingToken} pour 1 esGMX." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy AVAX directly to Avalanche or transfer it there." -msgstr "" +msgstr "Acheter AVAX directement sur Avalanche ou le transférer là-bas." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Open Ocean" -msgstr "" +msgstr "Open Ocean" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Single" -msgstr "" +msgstr "Unique" #: src/domain/synthetics/orders/prepareOrderTxn.ts msgid "Error preparing transaction. Provider is not defined" -msgstr "" +msgstr "Erreur lors de la préparation de la transaction. Fournisseur non défini" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx msgid "Funding fees" -msgstr "" +msgstr "Frais de financement" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity in GM Pool" -msgstr "" +msgstr "Liquidité insuffisante dans le pool GM" #: src/components/Exchange/ExchangeBanner.jsx msgid "Trade on GMX and win <0>$250.000</0> in prizes! Live until November 30th, <1>click here</1> to learn more." -msgstr "Échanger sur GMX et gagner <0>$250.000</0> de prix ! Jusqu'au 30 novembre, <1> cliquer ici</1>, pour en savoir plus.\"" +msgstr "Tradez sur GMX et gagnez <0>250.000 $</0> de prix ! En direct jusqu'au 30 novembre, <1>cliquez ici</1> pour en savoir plus." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "tBTC LP incentives" -msgstr "" +msgstr "Incitations LP tBTC" #: src/components/ModalViews/RedirectModal.tsx msgid "You are leaving GMX.io and will be redirected to a third party, independent website." -msgstr "Vous quittez GMX.io et serez redirigé vers un site Web tiers et indépendant." +msgstr "Vous quittez GMX.io et serez redirigé vers un site web tiers indépendant." #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Borrow Fee" -msgstr "" +msgstr "Frais d'emprunt accumulés" #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "Read more." -msgstr "" +msgstr "Lire plus." #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "PnL Analysis" -msgstr "" +msgstr "Analyse PnL" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "View Details" @@ -4158,58 +4206,58 @@ msgstr "" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}." -msgstr "" +msgstr "Aucun chemin d'échange disponible. <0>Échanger {0} contre {swapToTokenSymbol}</0>, puis contre {1}." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Longs" -msgstr "" +msgstr "Longs" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit submitted." -msgstr "" +msgstr "Dépôt soumis." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown sell GM order" -msgstr "" +msgstr "Ordre de vente GM inconnu" #: src/components/NotifyModal/NotifyModal.tsx msgid "<0>Notifications are provided by Notifi and not affiliated with GMX. By subscribing, you agree that info you provide to Notifi will be governed by its </0><1>Privacy Policy</1><2> and </2><3>Terms of Use</3>." -msgstr "" +msgstr "<0>Les notifications sont fournies par Notifi et non affiliées à GMX. En vous abonnant, vous acceptez que les informations que vous fournissez à Notifi soient régies par sa </0><1>Politique de confidentialité</1><2> et </2><3>Conditions d'utilisation</3>." #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} and {avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} et {avalancheLink} Pools GLV sont <0>incités{sparkle}.</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Limit: {0} a long position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Long Limit : {0} une position long lorsque le prix est inférieur au prix de déclenchement." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1} to {2} within GMX.<2/><3/><4>You can buy {3} on 1inch.</4>" -msgstr "" +msgstr "{0} est requis pour le collatéral.<0/><1/>Aucun chemin d'échange trouvé pour {1} vers {2} dans GMX.<2/><3/><4>Vous pouvez acheter {3} sur 1inch.</4>" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Vous avez une position existante dans le pool de marché {0}.<0><1>Passer au pool de marché {1}</1>.</0>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Capital Used" -msgstr "" +msgstr "Capital utilisé" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 10 symbols in name" -msgstr "" +msgstr "Max 10 symboles dans le nom" #: src/pages/Dashboard/StatsCard.tsx msgid "Users" -msgstr "" +msgstr "Utilisateurs" #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx msgid "Gas Payment Token" -msgstr "" +msgstr "Token de paiement de gaz" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -4228,32 +4276,32 @@ msgstr "Impact sur le prix" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a token" -msgstr "" +msgstr "Sélectionner un token" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Market Traders’ PnL" -msgstr "" +msgstr "Exposition au PnL des traders du marché" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" -msgstr "" +msgstr "Optimal" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "UI Fee" -msgstr "" +msgstr "Frais d'interface" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Execute order simulation failed." -msgstr "" +msgstr "Échec de la simulation d'exécution d'ordre." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Invalid Transfer Addresses: Please check the url." -msgstr "" +msgstr "Adresses de transfert invalides : Veuillez vérifier l'URL." #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4262,11 +4310,11 @@ msgstr "Composition de l'indice GLP" #: src/domain/synthetics/positions/utils.ts msgid "TP" -msgstr "" +msgstr "TP" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "<0>Claimable Funding Fee.</0>" -msgstr "" +msgstr "<0>Frais de financement réclamable.</0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Log in to your Binance app and tap [Wallets]. Go to [Web3]." @@ -4281,16 +4329,17 @@ msgstr "Réclamable" #: src/components/Exchange/OrdersToa.jsx msgid "Additionally, trigger orders are market orders and are not guaranteed to settle at the trigger price." -msgstr "De plus, les ordres à seuil de déclenchement sont des ordres de bourse et ne sont pas garantis de s'exécuter au prix de déclenchement." +msgstr "De plus, les ordres de déclenchement sont des ordres au marché et ne sont pas garantis de s'exécuter au prix de déclenchement." #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" msgstr "Documents" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Stats" -msgstr "" +msgstr "Statistiques de trading GMX" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx @@ -4301,7 +4350,7 @@ msgstr "Création de l'ordre..." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit disabled, pending {0} upgrade" -msgstr "" +msgstr "Dépôt désactivé, en attente de mise à niveau {0}" #: src/pages/Jobs/Jobs.jsx msgid "Jobs" @@ -4314,19 +4363,15 @@ msgstr "Stratégies d'options décentralisées" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Technical Announcements" -msgstr "" +msgstr "Annonces techniques GMX" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Market" -msgstr "" +msgstr "Stop Market échoué" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Address copied to your clipboard" -msgstr "" - -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "" +msgstr "Adresse copiée dans votre presse-papiers" #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4337,34 +4382,34 @@ msgstr "Paramètres" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs Trading Simulations" -msgstr "" +msgstr "Simulations de trading Compass Labs" #: src/components/Referrals/AffiliatesStats.tsx msgid "Amount of traders you referred." -msgstr "Le nombre de traders que vous avez parrainés." +msgstr "Nombre de traders que vous avez parrainés." #: src/components/Exchange/PositionSeller.jsx msgid "GMX V1 only supports closing positions using market orders. For advanced trading features, use GMX V2." -msgstr "" +msgstr "GMX V1 ne prend en charge que la fermeture de positions en utilisant des ordres au marché. Pour des fonctionnalités de trading avancées, utilisez GMX V2." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Take Profit" -msgstr "" +msgstr "Take Profit" #: src/components/Exchange/PositionSeller.jsx msgid "Close submitted!" -msgstr "" +msgstr "Fermeture soumise !" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Hour(s)" -msgstr "" +msgstr "Heure(s)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} liquidity" -msgstr "" +msgstr "Liquidité {0} insuffisante" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -4373,11 +4418,11 @@ msgstr "Créateur" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Derivatives Portfolio Tracker" -msgstr "" +msgstr "Suivi de portefeuille de dérivés" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit" -msgstr "" +msgstr "Créer Limite" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer already initiated" @@ -4386,20 +4431,20 @@ msgstr "Transfert déjà initié" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw submitted." -msgstr "" +msgstr "Retrait soumis." #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/AddAffiliateCode.jsx msgid "Enter a code" -msgstr "Indiquer un code" +msgstr "Entrez un code" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "Details" -msgstr "" +msgstr "Détails" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Umami DAO" -msgstr "" +msgstr "Umami DAO" #: src/components/Exchange/OrdersList.jsx #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -4408,10 +4453,10 @@ msgstr "Ordre" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Avalanche" -msgstr "" +msgstr "Staké sur Avalanche" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" msgstr "Kit Média" @@ -4421,7 +4466,7 @@ msgstr "Réduire les risques de liquidation" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "UniDex Leverage" -msgstr "" +msgstr "Levier UniDex" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "collateral" @@ -4438,19 +4483,19 @@ msgstr "PORTEFEUILLE" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/OrderList/OrderList.tsx msgid "No open orders" -msgstr "Pas d'ordres ouverts" +msgstr "Aucun ordre ouvert" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche Fuji" -msgstr "" +msgstr "Traders parrainés sur Avalanche Fuji" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claim V2 Rebates from your referred Traders." -msgstr "" +msgstr "Réclamer les remises V2 de vos traders parrainés." #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in GM Pools." -msgstr "" +msgstr "Valeur totale des tokens dans les pools GM." #: src/components/Glp/GlpSwap.jsx msgid "Reserved" @@ -4459,7 +4504,7 @@ msgstr "Réservé" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Botanix" -msgstr "" +msgstr "Botanix" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -4468,39 +4513,43 @@ msgstr "Prix inférieur au prix de liq." #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit / Stop Loss" +msgstr "Take Profit / Stop Loss" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" msgstr "" #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" -msgstr "" +msgstr "Il n'y a pas assez de {0} dans votre compte sur {networkName} pour envoyer cette transaction.<0/><1/><2>Acheter ou transférer {1} vers {networkName}</2>" #: src/components/TVChartContainer/constants.ts msgid "SL - Long Dec." -msgstr "" +msgstr "SL - Diminution Long" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Airdrop" -msgstr "" +msgstr "Airdrop" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake submitted!" -msgstr "" +msgstr "Unstaking soumis !" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "This competition is held on the {0} network. <0>Change your network</0> to participate." -msgstr "" +msgstr "Cette compétition se déroule sur le réseau {0}. <0>Changez votre réseau</0> pour participer." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Loss" -msgstr "" +msgstr "Créer Stop Loss" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to generate session" -msgstr "" +msgstr "Échec de la génération de session" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "This competition has ended." -msgstr "" +msgstr "Cette compétition est terminée." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -4508,54 +4557,55 @@ msgid "Shorts Net Rate / 1h" msgstr "Taux net Shorts / 1h" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" -msgstr "" +msgstr "Coffres-forts GLV" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Portuguese)" -msgstr "" +msgstr "GMX (Portugais)" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Stake GMX</0> and earn {gmxAvgAprText} APR" -msgstr "" +msgstr "<0>Staker GMX</0> et gagnez {gmxAvgAprText} APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Mozaic Finance" -msgstr "" +msgstr "Mozaic Finance" #: src/pages/Exchange/Exchange.tsx msgid "Withdrew {0} USD from {tokenSymbol} {longOrShortText}." -msgstr "{0} USD de {tokenSymbol} {longOrShortText} retirés." +msgstr "{0} USD retirés de {tokenSymbol} {longOrShortText}." #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Accrued Funding Fee." -msgstr "" +msgstr "Frais de financement accumulé." #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw failed." -msgstr "" +msgstr "Échec du retrait." #: src/pages/Stake/ClaimModal.tsx msgid "Pending GMX approval" -msgstr "" +msgstr "Approbation GMX en attente" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "No markets found." -msgstr "" +msgstr "Aucun marché trouvé." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "ODOS" -msgstr "" +msgstr "ODOS" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Substack" -msgstr "" +msgstr "GMX Substack" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Positions Bot" -msgstr "" +msgstr "Bot de positions GMX" #: src/components/Referrals/TradersStats.tsx msgid "Edit Referral Code" @@ -4563,39 +4613,35 @@ msgstr "Modifier le code de parrainage" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Take Profit" -msgstr "" +msgstr "Exécuter Take Profit" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stryke" -msgstr "" +msgstr "Stryke" #: src/components/Errors/errorToasts.tsx msgid "External swap is temporarily disabled. Please try again." -msgstr "" +msgstr "Échange externe temporairement désactivé. Veuillez réessayer." #: src/components/Stake/GMXAprTooltip.tsx msgid "GMX APR" -msgstr "" - -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "" +msgstr "APR GMX" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" -msgstr "" +msgstr "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText} : {sign}{1}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Vous avez un ordre limite existant dans le pool de marché {0}.<0><1>Passer au pool de marché {1}</1>.</0>" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" -msgstr "" +msgstr "Diminution" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "You have set a high allowed slippage. The current swap impact including fees is {0}." -msgstr "" +msgstr "Vous avez défini un glissement autorisé élevé. L'impact d'échange actuel incluant les frais est de {0}." #: src/components/Referrals/AffiliatesStats.tsx msgid "Create Referral Code" @@ -4603,7 +4649,7 @@ msgstr "Créer un code de parrainage" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined take profits are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "Les take profits combinés sont au maximum (100 %). Diminuez les valeurs existantes pour ajouter plus d'ordres." #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks" @@ -4611,7 +4657,7 @@ msgstr "Réseaux" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: {1}, Price: {priceDisplay}" -msgstr "" +msgstr "{0} : {1}, Prix : {priceDisplay}" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx @@ -4621,23 +4667,23 @@ msgstr "POOL" #: src/components/Header/HomeHeaderLinks.tsx msgid "Voting" -msgstr "" +msgstr "Vote" #: src/components/Exchange/TradeHistory.jsx msgid "This position was liquidated as the max leverage of 100x was exceeded." -msgstr "Cette position a été liquidée car le levier maximal de 100x a été dépassé." +msgstr "Cette position a été liquidée car le levier max de 100x a été dépassé." #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "<0>Switch to:</0>" -msgstr "" +msgstr "<0>Passer à :</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Limit: {0} a short position when the price is above the trigger price." -msgstr "" +msgstr "{typeString} Short Limit : {0} une position short lorsque le prix est supérieur au prix de déclenchement." #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "No trades match the selected filters" -msgstr "Aucun échange ne correspond aux filtres sélectionnés" +msgstr "Aucun trade ne correspond aux filtres sélectionnés" #: src/components/Exchange/TradeHistory.jsx #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx @@ -4646,7 +4692,7 @@ msgstr "Diminué" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Updating {orderText}." -msgstr "" +msgstr "Mise à jour de {orderText}." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4661,15 +4707,15 @@ msgstr "Diminuer" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover collateral below 5 USD" -msgstr "" +msgstr "Collatéral restant inférieur à 5 USD" #: src/lib/legacy.ts msgid "Order cannot be executed as it would reduce the position's leverage below 1" -msgstr "L'ordre ne peut être exécuté car il réduirait l'effet de levier de la position en dessous de 1." +msgstr "L'ordre ne peut être exécuté car il réduirait l'effet de levier de la position en dessous de 1" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "Existing Executable Trigger Orders" -msgstr "" +msgstr "Ordres de déclenchement exécutables existants" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Weight" @@ -4677,41 +4723,40 @@ msgstr "Poids" #: src/components/Exchange/PositionShare.tsx msgid "Link copied to clipboard." -msgstr "Le lien a été copié dans le presse-papiers." +msgstr "Lien copié dans le presse-papiers." #: src/components/SettingsModal/SettingsModal.tsx msgid "Max slippage precision is -0.01%" -msgstr "" +msgstr "La précision maximale du glissement est de -0,01 %" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Dec." -msgstr "Dec." +msgstr "Déc." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Weekly Updates" -msgstr "Mises à jour hebdomadaires GMX" +msgstr "Mises à jour hebdomadaires de GMX" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} only from your long position." -msgstr "" +msgstr "Vous serez long {indexSymbol} uniquement à partir de votre position longue." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal}" -msgstr "Actif total: {openTotal}, exécuté: {executedTotal}, annulé: {cancelledTotal}" +msgstr "Total actif : {openTotal}, exécuté : {executedTotal}, annulé : {cancelledTotal}" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h Low" -msgstr "" +msgstr "Bas 24h" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "" +#~ msgid "Chain Icon" +#~ msgstr "Icône de chaîne" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" -msgstr "" +msgstr "Demande de règlement pour {0, plural, one {# position} other {# positions}} envoyée" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -4720,65 +4765,66 @@ msgstr "Prix sur Arbitrum" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM peut être vendu pour {0} sur ce marché jusqu'aux plafonds de vente spécifiés. Les tokens restants dans le pool sont réservés pour les positions ouvertes actuelles." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "REBATE" -msgstr "" +msgstr "REMISE" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." -msgstr "" - -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "" +msgstr "Il pourrait ne pas y avoir suffisamment de liquidité pour exécuter votre ordre lorsque le minimum à recevoir est atteint." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" -msgstr "" +msgstr "Total des opérations" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Market Composition" -msgstr "" +msgstr "Composition du marché" #: src/components/Errors/errorToasts.tsx msgid "<0>Permit signature is invalid. Please try again.</0>" -msgstr "" +msgstr "<0>La signature du permis est invalide. Veuillez réessayer.</0>" #: src/components/NpsModal/NpsModal.tsx msgid "Enter your answer here" -msgstr "" +msgstr "Entrez votre réponse ici" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Firebird Finance" -msgstr "" +msgstr "Firebird Finance" #: src/pages/Stake/Stake.tsx msgid "Stake GMX" -msgstr "" +msgstr "Staker GMX" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shifting from <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> to <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" -msgstr "" +msgstr "Déplacement de <0><1>GM : {fromIndexName}</1><2>{fromPoolName}</2></0> vers <3><4>GM : {toIndexName}</4><5>{toPoolName}</5></3>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TWAP: {0} a long position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Long TWAP : {0} une position longue en parties uniformément distribuées sur une période spécifiée." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated!" -msgstr "Code de parrainage actualisé !" +msgstr "Code de parrainage mis à jour !" + +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "COMPOSITION" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" -msgstr "" +msgstr "Favoris" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} short capacity" -msgstr "Max {0} capacité de short" +msgstr "Capacité maximale de short {0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition." @@ -4786,19 +4832,19 @@ msgstr "Le prix d'exécution n'a pas respecté la condition de prix acceptable." #: src/pages/Stake/VesterDepositModal.tsx msgid "Reserve Amount" -msgstr "" +msgstr "Montant de réserve" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling buy request" -msgstr "" +msgstr "Remplissage de la demande d'achat" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Reason: {0}" -msgstr "Raison: {0}" +msgstr "Raison : {0}" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Approval nonce expired. Please sign a new approval." -msgstr "" +msgstr "Nonce d'approbation One-Click expiré. Veuillez signer une nouvelle approbation." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -4809,11 +4855,11 @@ msgstr "" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "Available Liquidity" -msgstr "Liquidité Disponible" +msgstr "Liquidité disponible" #: src/components/Exchange/SwapBox.jsx msgid "A snapshot of the USD value of your {0} collateral is taken when the position is opened." -msgstr "Une image instantanée de la valeur en USD de votre {0} collatéral initial est prise à l'ouverture de la position." +msgstr "Un instantané de la valeur en USD de votre collatéral {0} est pris lors de l'ouverture de la position." #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx @@ -4823,11 +4869,11 @@ msgstr "Tout le temps" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Select your vesting option below then click \"Claim\"." -msgstr "Sélectionnez votre option de vesting ci-dessous, puis cliquez sur \"Réclamation\"." +msgstr "Sélectionnez votre option de vesting ci-dessous, puis cliquez sur \"Réclamer\"." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." -msgstr "" +msgstr "Le nombre de parties par défaut pour les ordres de prix moyen pondéré dans le temps (TWAP)." #: src/pages/Home/Home.tsx msgid "Save on Costs" @@ -4835,23 +4881,23 @@ msgstr "Économiser sur les coûts" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order cancelled" -msgstr "" +msgstr "Ordre d'achat annulé" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Reserve" -msgstr "" +msgstr "Réserve {longShortText} {0}" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Cancel newly created orders" -msgstr "" +msgstr "Annuler les ordres nouvellement créés" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegate" -msgstr "" +msgstr "Déléguer" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Harmonix" -msgstr "" +msgstr "Harmonix" #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid NFT Address" @@ -4859,39 +4905,39 @@ msgstr "Adresse NFT invalide" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LIQ." -msgstr "" +msgstr "LIQ." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP and GMX autocompounding vaults" -msgstr "" +msgstr "Vaults d'auto-composition GLP et GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "esGMX OTC Market" -msgstr "" +msgstr "Marché OTC esGMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Leverage Trading Terminal" -msgstr "" +msgstr "Terminal de trading à effet de levier" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing shorts and<0/>decreasing longs." -msgstr "" +msgstr "Prix d'exécution pour l'augmentation des shorts et<0/>la diminution des longs." #: src/pages/Stake/Stake.tsx msgid "Deposit <0>GMX</0> and <1>esGMX</1> tokens to earn rewards." -msgstr "" +msgstr "Déposez des tokens <0>GMX</0> et <1>esGMX</1> pour gagner des récompenses." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "The bonus rebate is an estimate and can be up to {0}% of the open fee. It will be airdropped as {incentivesTokenTitle} tokens on a pro-rata basis. <0><1>Read more</1>.</0>" -msgstr "" +msgstr "La remise bonus est une estimation et peut atteindre jusqu'à {0}% des frais d'ouverture. Elle sera airdroppée sous forme de tokens {incentivesTokenTitle} sur une base pro-rata. <0><1>Lire plus</1>.</0>" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>The order will be executed when the oracle price is {0} {1}.</0><1/><2>Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if the price impact exceeds your acceptable price.</2>" -msgstr "" +msgstr "<0>L'ordre sera exécuté lorsque le prix oracle est {0} {1}.</0><1/><2>Notez qu'il peut y avoir des cas rares où l'ordre ne peut pas être exécuté, par exemple si la chaîne est en panne et qu'aucun rapport oracle n'est produit ou si l'impact sur le prix dépasse votre prix acceptable.</2>" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Market" -msgstr "" +msgstr "Créer un Stop Market" #: src/components/Exchange/SwapBox.jsx msgid "Swap submitted!" @@ -4899,14 +4945,14 @@ msgstr "Échange soumis !" #: src/components/Exchange/SwapBox.jsx msgid "V1 trading disabled. Switch to V2" -msgstr "" +msgstr "Trading V1 désactivé. Passer à V2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche" -msgstr "" +msgstr "V1 Avalanche" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -4919,52 +4965,52 @@ msgstr "Collatéral ({0})" #: src/pages/Stake/StakeModal.tsx msgid "You will earn {0}% more rewards with this action." -msgstr "" +msgstr "Vous gagnerez {0}% de récompenses supplémentaires avec cette action." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" -msgstr "" +msgstr "Tampon de frais de réseau maximal" #: src/components/Exchange/OrderEditor.jsx msgid "Order updated!" -msgstr "Ordre actualisé !" +msgstr "Ordre mis à jour !" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "Vous serez short {indexSymbol} à partir de votre position short, tout en étant long {collateralSymbol} à partir de votre collatéral {collateralSymbol}. Le prix de liquidation variera en fonction du prix de {collateralSymbol}." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Market: Swap tokens at the current market price." -msgstr "" +msgstr "Swap Market : Échanger des tokens au prix du marché actuel." #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "TVL/CAP" -msgstr "" +msgstr "TVL/CAP" #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx msgid "Select a pool containing {0} to use it as collateral." -msgstr "Sélectionnez un pool contenant {0} pour l'utiliser comme garantie." +msgstr "Sélectionnez un pool contenant {0} pour l'utiliser comme collatéral." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Trading Simulations on GMX using DOJO" -msgstr "" +msgstr "Simulations de trading sur GMX utilisant DOJO" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Farming" -msgstr "" +msgstr "Yield Farming" #: src/lib/contracts/callContract.tsx msgid "Transaction completed!" -msgstr "transaction effectuée !" +msgstr "Transaction effectuée !" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approving..." -msgstr "Approbation..." +msgstr "Approbation en cours..." #: src/components/Exchange/PositionSeller.jsx msgid "Neither Collateral nor realized PnL is enough to cover pending Fees. Please close a larger position amount." -msgstr "" +msgstr "Ni le collatéral ni le PnL réalisé ne suffisent à couvrir les frais en attente. Veuillez fermer un montant de position plus important." #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4973,22 +5019,23 @@ msgstr "UTILISATION" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "One-Click Settings" -msgstr "" +msgstr "Paramètres One-Click" #: src/components/NotifyModal/NotifyModal.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements" -msgstr "" +msgstr "Annonces GMX" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" -msgstr "Affiliés" +msgstr "Parrainages" #: src/components/Exchange/PositionSeller.jsx msgid "Max Leverage without PnL: 100x" -msgstr "" +msgstr "Effet de levier maximal sans PnL : 100x" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Short" @@ -4996,68 +5043,65 @@ msgstr "Confirmer le Short" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Short Liquidity" -msgstr "" +msgstr "Liquidité short" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Order Type" -msgstr "" +msgstr "Type d'ordre" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order executed" -msgstr "" +msgstr "Ordre de vente exécuté" #: src/domain/synthetics/orders/createStakeOrUnStakeTxn.tsx msgid "Failed to {0}" -msgstr "" +msgstr "Échec de {0}" #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Affiliate Rewards Claimed" -msgstr "Récompenses Affiliées Réclamées" +msgstr "Récompenses de parrainage réclamées" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Order error. Prices are currently volatile for this market, try again by <0>increasing the allowed slippage</0> under the advanced display section." -msgstr "" +msgstr "Erreur d'ordre. Les prix sont actuellement volatils pour ce marché, réessayez en <0>augmentant le glissement autorisé</0> dans la section d'affichage avancé." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Swap Price Impact for External Swap Threshold" -msgstr "" +msgstr "Seuil d'impact sur le prix de swap pour les swaps externes" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Limit / Take Profit / Stop Loss" -msgstr "" +msgstr "Limite / Take Profit / Stop Loss" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/SwapSpreadRow.tsx msgid "Spread" -msgstr "Marge" +msgstr "Écart" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "This position was liquidated as the max. leverage of {formattedMaxLeverage} was exceeded when taking into account fees." -msgstr "Cette position a été liquidée car le levier maximal de {formattedMaxLeverage} a été dépassé en tenant compte des frais." +msgstr "Cette position a été liquidée car l'effet de levier maximal de {formattedMaxLeverage} a été dépassé en tenant compte des frais." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Swap {0}" -msgstr "" +msgstr "Échanger {0}" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order submitted!" msgstr "Ordre d'échange soumis !" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5068,9 +5112,9 @@ msgstr "Ordre d'échange soumis !" msgid "Loading..." msgstr "Chargement..." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" -msgstr "" +msgstr "Inclure PnL dans l'affichage de l'effet de levier" #: src/components/Exchange/PositionsList.jsx msgid "Share" @@ -5090,7 +5134,7 @@ msgstr "Opérations" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available." -msgstr "" +msgstr "Aucun chemin de swap disponible." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Telegram Groups" @@ -5099,31 +5143,31 @@ msgstr "Groupes Telegram" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Search Action" -msgstr "" +msgstr "Rechercher une action" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" -msgstr "" +msgstr "Afficher le curseur d'effet de levier" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Cancelling {orderText}." -msgstr "" +msgstr "Annulation de {orderText}." #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "" +#~ msgid "CONCLUDED" +#~ msgstr "TERMINÉ" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" -msgstr "" +msgstr "Delta de collatéral" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "Realized PnL after fees and price impact." -msgstr "" +msgstr "PnL réalisé après frais et impact sur le prix." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Long Liquidity" -msgstr "" +msgstr "Liquidité long" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -5135,7 +5179,7 @@ msgstr "Prix d'exécution pour l'ordre." #: src/components/AprInfo/AprInfo.tsx msgid "wstETH APR" -msgstr "" +msgstr "APR wstETH" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group" @@ -5143,11 +5187,11 @@ msgstr "Groupe Telegram" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TP/SL: {0} a long position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Long TP/SL : {0} une position longue lorsque le prix de déclenchement est atteint." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{toTokenIcon}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> vers </1>{toTokenIcon}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in any {0}/USD market pools for your order." @@ -5156,15 +5200,15 @@ msgstr "Liquidité insuffisante dans tous les pools de marché {0}/USD pour votr #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have not traded during the selected period." -msgstr "" +msgstr "Vous n'avez pas tradé pendant la période sélectionnée." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "The trigger price for this order is based on the swap fees and price impact to guarantee that you will receive at least {toMinText} on order execution." -msgstr "" +msgstr "Le prix de déclenchement pour cet ordre est basé sur les frais de swap et l'impact sur le prix pour garantir que vous recevrez au moins {toMinText} lors de l'exécution de l'ordre." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated failed." -msgstr "" +msgstr "Échec de la mise à jour du code de parrainage." #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -5182,6 +5226,7 @@ msgstr "" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5194,19 +5239,19 @@ msgstr "Prix" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing was cancelled" -msgstr "" +msgstr "Signature du permis annulée" #: src/components/Exchange/PositionSeller.jsx msgid "Realized PnL insufficient for Fees" -msgstr "" +msgstr "PnL réalisé insuffisant pour les frais" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending shift request" -msgstr "" +msgstr "Envoi de la demande de déplacement" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Optimizer" -msgstr "" +msgstr "Optimiseur Yield Yak" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Incorrect Account" @@ -5214,34 +5259,29 @@ msgstr "Compte incorrect" #: src/components/Exchange/PositionEditor.jsx msgid "Min residual collateral: 10 USD" -msgstr "" +msgstr "Collatéral résiduel minimum : 10 USD" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX & Voting Power" -msgstr "" +msgstr "GMX et pouvoir de vote" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GMX is the utility and governance token. Accrues 30% and 27% of V1 and V2 markets generated fees, respectively." -msgstr "" +msgstr "GMX est le token utilitaire et de gouvernance. Il accumule 30% et 27% des frais générés par les marchés V1 et V2, respectivement." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transferring" msgstr "Transfert en cours" -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "" - #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" -msgstr "" +msgstr "Vaults d'auto-composition GLP" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "TP/SL orders exceed the position" -msgstr "" +msgstr "Les ordres TP/SL dépassent la position" #: src/components/Glp/GlpSwap.jsx msgid "Buy failed." @@ -5250,19 +5290,19 @@ msgstr "Achat échoué" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "pay" -msgstr "" +msgstr "payer" #: src/pages/Dashboard/GmxCard.tsx msgid "Total circulating supply of GMX tokens." -msgstr "" +msgstr "Offre totale en circulation de tokens GMX." #: src/pages/Dashboard/WeightText.tsx msgid "Target Weight" msgstr "Poids cible" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "" +#~ msgid "Winners:" +#~ msgstr "Gagnants :" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." @@ -5270,32 +5310,32 @@ msgstr "Lors de la clôture de la position, vous pouvez sélectionner le token a #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "You can have up to {allowedAutoCancelOrdersNumber} active auto-cancelable TP/SL orders. Additional orders must be canceled manually, while existing ones will still close automatically with their related position." -msgstr "" +msgstr "Vous pouvez avoir jusqu'à {allowedAutoCancelOrdersNumber} ordres TP/SL auto-annulables actifs. Les ordres supplémentaires doivent être annulés manuellement, tandis que les existants se fermeront automatiquement avec leur position associée." #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL (%)" -msgstr "" +msgstr "PnL supérieur (%)" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met." -msgstr "" +msgstr "Il pourrait ne pas y avoir suffisamment de liquidité pour exécuter votre ordre lorsque les conditions de prix sont remplies." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Error submitting coins" -msgstr "" +msgstr "Erreur lors de la soumission des pièces" #: src/components/Glp/GlpSwap.jsx msgid "WARNING: High Fees" -msgstr "AVERTISSEMENT: frais élevés" +msgstr "AVERTISSEMENT : Frais élevés" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Swap Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Swap Liquidity." -msgstr "Pas assez de liquidité d'échange disponible pour remplir l'ordre. L'ordre sera rempli lorsque la condition sera remplie et qu'il y aura suffisamment de liquidité d'échange disponible." +msgstr "Pas assez de liquidité de swap disponible pour remplir l'ordre. L'ordre sera rempli lorsque la condition est remplie et qu'il y a suffisamment de liquidité de swap disponible." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP Swap" -msgstr "" +msgstr "Annuler le swap TWAP" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -5303,6 +5343,10 @@ msgstr "" msgid "Transaction" msgstr "Transaction" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "Année dernière" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5315,61 +5359,69 @@ msgstr "Prix de liquidation invalide" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized Buy Pressure (BB&D):" -msgstr "" +msgstr "Pression d'achat annualisée (BB&D) :" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "buy" -msgstr "" +msgstr "acheter" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAILABLE LIQ." -msgstr "" +msgstr "LIQ. DISPONIBLE" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized pnl" -msgstr "" +msgstr "PnL non réalisé de départ" #: src/config/events.tsx msgid "Increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions." -msgstr "" +msgstr "L'augmentation des positions (marché ou limite), l'ajout de collatéral et les swaps sur GMX V1 sont maintenant désactivés. Vous pouvez toujours fermer les positions existantes." #: src/domain/tokens/approveTokens.tsx msgid "Approval submitted! <0>View status.</0>" -msgstr "Approbation soumise ! <0>View status.</0>" +msgstr "Approbation soumise ! <0>Voir le statut.</0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size is 0" -msgstr "Montant de l'ordre est 0" +msgstr "La taille de l'ordre est 0" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please reduce the buy size, pick a different GM token, or shift the GM tokens to a different pool and try again." -msgstr "" +msgstr "Le plafond d'achat pour le pool GM : {0} en {1} [{2}] a été atteint. Veuillez réduire la taille d'achat, choisir un token GM différent, ou déplacer les tokens GM vers un pool différent et réessayer." #: src/components/Exchange/PositionSeller.jsx msgid "Close {longOrShortText} {0}" -msgstr "" +msgstr "Fermer {longOrShortText} {0}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" -msgstr "" +msgstr "Désactiver la validation pour les tests" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited!" -msgstr "" +msgstr "Déposé !" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx msgid "TP/SL" -msgstr "" +msgstr "TP/SL" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Max {0} in" msgstr "Max {0} dans" +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "Aucun élément pour le moment" + #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" +msgstr "Stop Loss Diminution" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" msgstr "" #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -5390,46 +5442,54 @@ msgstr "Action" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx msgid "Supply" -msgstr "Donner" +msgstr "Fournir" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionList/PositionList.tsx msgid "No open positions" -msgstr "Pas de position ouverte" +msgstr "Aucune position ouverte" #: src/components/DepthChart/DepthChart.tsx msgid "Size, $" -msgstr "" +msgstr "Taille, $" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Close {0} {1}{2}" -msgstr "" +msgstr "Fermer {0} {1}{2}" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GLV" -msgstr "" +msgstr "Vendre GLV" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b Retroactive Bonus" -msgstr "" +msgstr "Bonus rétroactif STIP.b" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right." -msgstr "Essayez d'augmenter le \" glissement autorisé\", sous le menu Paramètres en haut à droite." +msgstr "Essayez d'augmenter le \"Glissement autorisé\", sous le menu Paramètres en haut à droite." #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy AVAX directly on <0>Avalanche</0> using these options:" -msgstr "" +msgstr "Vous pouvez acheter AVAX directement sur <0>Avalanche</0> en utilisant ces options :" #: src/components/Exchange/NetValueTooltip.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" +msgstr "Valeur nette : Collatéral initial + PnL - Frais d'emprunt - Frais de clôture" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "30j" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." msgstr "" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" -msgstr "" +msgstr "Réclamer les récompenses du vault de parrainage" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select different tokens" @@ -5438,7 +5498,7 @@ msgstr "Sélectionner des tokens différents" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Network Fees" -msgstr "" +msgstr "Frais de réseau élevés" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are very high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -5446,49 +5506,49 @@ msgstr "Les frais de réseau sont très élevés actuellement, ce qui peut être #: src/components/Exchange/SwapBox.jsx msgid "There are more shorts than longs, borrow fees for longing is currently zero" -msgstr "Il y a plus de courts que de longs, les frais d'emprunt pour les longs sont actuellement nuls." +msgstr "Il y a plus de shorts que de longs, les frais d'emprunt pour les longs sont actuellement nuls" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" -msgstr "" +msgstr "Derniers 90j" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "There is no liquidation price, as the position's collateral value will increase to cover any negative PnL." -msgstr "" +msgstr "Il n'y a pas de prix de liquidation, car la valeur du collatéral de la position augmentera pour couvrir tout PnL négatif." #: src/components/TVChartContainer/DynamicLine.tsx msgid "Edit Order" -msgstr "" +msgstr "Modifier l'ordre" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx msgid "Search Pool" -msgstr "" +msgstr "Rechercher un pool" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Chat" -msgstr "" +msgstr "Chat de trading GMX" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" -msgstr "" +msgstr "24H%" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpie" -msgstr "" +msgstr "Perpie" #: src/components/Exchange/UsefulLinks.tsx msgid "Useful Links" msgstr "Liens utiles" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "Activer les swaps externes" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" -msgstr "" +msgstr "Confirmations de trading" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -5497,12 +5557,12 @@ msgid "Available" msgstr "Disponible" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "" +#~ msgid "Last 7 days" +#~ msgstr "Derniers 7 jours" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" -msgstr "" +msgstr "Solv Finance" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Begin Transfer" @@ -5510,24 +5570,28 @@ msgstr "Commencer le transfert" #: src/components/RatingToast/RatingToast.tsx msgid "How likely are you to recommend our service to a friend or colleague?" +msgstr "Quelle est la probabilité que vous recommandiez notre service à un ami ou un collègue ?" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" msgstr "" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" -msgstr "" +msgstr "Liquidité insuffisante pour échanger le collatéral" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx msgid "Market Decrease" -msgstr "Baisse du marché" +msgstr "Diminution de marché" #: src/components/NotifyModal/NotifyModal.tsx msgid "Governance Alerts" -msgstr "" +msgstr "Alertes de gouvernance" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for{2} USDG" -msgstr "" +msgstr "Échanger {0} {1} pour{2} USDG" #: src/components/Header/HomeHeaderLinks.tsx msgid "Governance" @@ -5547,11 +5611,11 @@ msgstr "Annuler" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} updated." -msgstr "" +msgstr "{orderText} mis à jour." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Tradao" -msgstr "" +msgstr "Tradao" #: src/components/Glp/GlpSwap.jsx msgid "Redemption time not yet reached" @@ -5564,7 +5628,7 @@ msgstr "Liquidité insuffisante" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Bot" -msgstr "" +msgstr "Bot Telegram" #: src/domain/legacy.ts msgid "Order cancelled." @@ -5572,18 +5636,22 @@ msgstr "Ordre annulé." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Swap Part" -msgstr "" +msgstr "Exécuter la partie de swap TWAP" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {seconds} seconds" -msgstr "" +msgstr "<0>toutes les</0> {seconds} secondes" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer AVAX to Avalanche" -msgstr "" +msgstr "Acheter ou transférer AVAX vers Avalanche" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "TokenTerminal" +msgstr "TokenTerminal" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -5593,16 +5661,16 @@ msgstr "Bot Telegram pour l'intérêt ouvert sur GMX" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Check the \"Save on Fees\" section below to get the lowest fee percentages." -msgstr "Vérifiez la section \"Économisez sur les frais\" ci-dessous pour obtenir les pourcentages de frais les plus bas." +msgstr "Vérifiez la section \"Économiser sur les frais\" ci-dessous pour obtenir les pourcentages de frais les plus bas." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The total realized and unrealized profit and loss for the period, including fees and price impact." -msgstr "" +msgstr "Le profit et la perte totaux réalisés et non réalisés pour la période, incluant les frais et l'impact sur le prix." #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Ann. Performance" -msgstr "" +msgstr "Performance annualisée" #: src/domain/legacy.ts msgid "The network Fees are very high currently, which may be due to a temporary increase in transactions on the {0} network." @@ -5614,11 +5682,15 @@ msgstr "Long {0} actuel" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{0} orders were not updated as max order limit reached" -msgstr "" +msgstr "{0} ordres n'ont pas été mis à jour car la limite maximale d'ordres a été atteinte" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "90j" #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" -msgstr "" +msgstr "Ordre créé !" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx #: src/domain/synthetics/orders/utils.tsx @@ -5627,7 +5699,7 @@ msgstr "Liquidation" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Risk Monitoring" -msgstr "" +msgstr "Surveillance des risques GMX" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GLP tokens before" @@ -5635,19 +5707,19 @@ msgstr "Le destinataire n'a jamais staké de tokens GLP auparavant" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min collateral: {0}" -msgstr "" +msgstr "Collatéral minimum : {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter new amount or price" -msgstr "" +msgstr "Entrez un nouveau montant ou prix" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Wins and losses for fully closed positions." -msgstr "" +msgstr "Gains et pertes pour les positions entièrement fermées." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "<0>This will claim {formattedRewards} GMX.<1/><2/>After claiming, you can stake these GMX tokens by using the \"Stake\" button in the GMX section of this Earn page.<3/><4/></0>" -msgstr "" +msgstr "<0>Cela réclamera {formattedRewards} GMX.<1/><2/>Après réclamation, vous pouvez staker ces tokens GMX en utilisant le bouton \"Staker\" dans la section GMX de cette page Gains.<3/><4/></0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Open Binance app" @@ -5657,15 +5729,15 @@ msgstr "Ouvrir l'application Binance" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max amount exceeded" -msgstr "Montant max. dépassé" +msgstr "Montant maximal dépassé" #: src/components/Exchange/SwapBox.jsx msgid "Current {0} shorts" -msgstr "Shorts {0} actuel" +msgstr "Shorts {0} actuels" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "To complete the transfer, you must switch your connected account to {receiver}." -msgstr "Pour effectuer le transfert, vous devez passer votre compte connecté à {receiver}." +msgstr "Pour compléter le transfert, vous devez passer votre compte connecté à {receiver}." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -5682,11 +5754,11 @@ msgstr "Modifier" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No available leverage found" -msgstr "" +msgstr "Aucun effet de levier disponible trouvé" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Only addresses with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "Seules les adresses avec plus de {0} en \"Capital utilisé\" sont classées." #: src/components/Exchange/ConfirmationBox.jsx msgid "Shorting..." @@ -5694,41 +5766,37 @@ msgstr "Short en cours..." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have a <0>pending transfer</0> to {pendingReceiver}." -msgstr "Vous avez un <0>transfert en attente</0> à {pendingReceiver}." +msgstr "Vous avez un <0>transfert en attente</0> vers {pendingReceiver}." #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Limit size is required" -msgstr "" +msgstr "La taille limite est requise" #: src/pages/Buy/Buy.tsx #: src/pages/Home/Home.tsx msgid "Protocol Tokens" -msgstr "" +msgstr "Tokens du protocole" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Collateral at Liquidation" -msgstr "" +msgstr "Collatéral à la liquidation" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming you will be able to vest a maximum of {0} esGMX at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "Après avoir réclamé, vous pourrez vester un maximum de {0} esGMX à un ratio de {1} {stakingToken} pour 1 esGMX." +msgstr "Après réclamation, vous pourrez vester un maximum de {0} esGMX à un ratio de {1} {stakingToken} pour 1 esGMX." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Today" -msgstr "" +msgstr "Aujourd'hui" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Receiver Address" msgstr "Adresse du destinataire" -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "" - #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" -msgstr "" +msgstr "De" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -5742,29 +5810,29 @@ msgstr "Prix de déclenchement de l'ordre" #: src/components/Glp/GlpSwap.jsx msgid "Epoch ending is not acknowledged" -msgstr "" +msgstr "La fin de l'époque n'est pas reconnue" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Increase" -msgstr "" +msgstr "Augmentation limite" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the edit collateral icon to deposit or withdraw collateral." -msgstr "Utilisez l'icône d'édition du collatéral pour déposer ou retirer du collatéral." +msgstr "Utilisez l'icône de modification du collatéral pour déposer ou retirer du collatéral." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing shorts for<4/>this size." -msgstr "" +msgstr "Aucune liquidité disponible pour augmenter les longs pour<0/>cette taille. Taille longue maximale : {0}<1/><2/>Il n'y a pas d'impact sur le prix. Il y a un prix d'exécution unique<3/>pour diminuer les shorts pour<4/>cette taille." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using any token from any network:" -msgstr "" +msgstr "Acheter GMX en utilisant n'importe quel token de n'importe quel réseau :" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume traded by your referred traders." -msgstr "Volume échangé par vos traders parrainés." +msgstr "Volume tradé par vos traders parrainés." #: src/pages/Dashboard/GlpCard.tsx msgid "Stablecoin Percentage" @@ -5772,88 +5840,92 @@ msgstr "Pourcentage de stablecoins" #: src/domain/synthetics/orders/utils.tsx msgid "Parts of this order will be executed once there is sufficient liquidity." -msgstr "" +msgstr "Des parties de cet ordre seront exécutées une fois qu'il y aura suffisamment de liquidité." #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This Order will not be valid for that Position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "Vous avez une position existante avec {0} comme collatéral. Cet ordre ne sera pas valide pour cette position. <0>Passer au collatéral {1}</0>." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Please only use this for full account transfers.<0/>This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account.<1/>Transfers are only supported if the receiving account has not staked GMX or GLP tokens before.<2/>Transfers are one-way, you will not be able to transfer staked tokens back to the sending account." -msgstr "" +msgstr "Veuillez utiliser cela uniquement pour les transferts complets de compte.<0/>Cela transférera tous vos GMX, esGMX, GLP, points multiplicateurs et pouvoir de vote vers votre nouveau compte.<1/>Les transferts sont uniquement supportés si le compte destinataire n'a pas staké de tokens GMX ou GLP auparavant.<2/>Les transferts sont à sens unique, vous ne pourrez pas transférer les tokens stakés vers le compte expéditeur." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "SNTL esGMX Market" -msgstr "" +msgstr "Marché SNTL esGMX" #: src/components/Referrals/TradersStats.tsx msgid "Tier {0} ({currentTierDiscount}% discount)" -msgstr "" +msgstr "Tier {0} ({currentTierDiscount}% de remise)" #: src/domain/synthetics/orders/utils.tsx msgid "This order using {collateralSymbol} as collateral will not be valid for the existing {longText} position using {symbol} as collateral." -msgstr "" +msgstr "Cet ordre utilisant {collateralSymbol} comme collatéral ne sera pas valide pour la position {longText} existante utilisant {symbol} comme collatéral." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Generative Market eXplore - AIGMX Agent" -msgstr "" +msgstr "Generative Market eXplore - Agent AIGMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dolomite" -msgstr "" +msgstr "Dolomite" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order request sent" -msgstr "" +msgstr "Demande d'ordre envoyée" #: src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx msgid "Express Trading is enabled. Enjoy smoother, more reliable trades!" -msgstr "" +msgstr "Trading Express activé. Profitez de trades plus fluides et fiables !" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Alternatively, you can select a different \"Collateral In\" token." -msgstr "Vous pouvez également sélectionner un autre.\"Collatéral En\" token." +msgstr "Vous pouvez également sélectionner un autre token \"Collatéral en\"." #: src/components/NotifyModal/NotifyModal.tsx msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." +msgstr "Recevez des alertes et annonces de GMX pour rester au courant de vos trades, risque de liquidation, et plus." + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/PageNotFound/PageNotFound.jsx msgid "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" -msgstr "<0>Retourner à </0><1>la page d'accueil</1> <2>ou </2> <3>échanger</3>" +msgstr "<0>Retourner à </0><1>la page d'accueil</1> <2>ou </2> <3>Trader</3>" #: src/components/Synthetics/BridgingInfo/BridgingInfo.tsx msgid "Bridge {tokenSymbol} to {chainName} with" -msgstr "" +msgstr "Transférer {tokenSymbol} vers {chainName} avec" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing failed" -msgstr "" +msgstr "Échec de la signature du permis" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price below mark price" -msgstr "" +msgstr "Prix de stop market inférieur au prix mark" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Swapped {0} {1} for {2} {3}!" -msgstr "{0} {1} échangés pour {2} {3}!" +msgstr "{0} {1} échangés pour {2} {3} !" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "A size percentage is required" -msgstr "" +msgstr "Un pourcentage de taille est requis" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show more" -msgstr "" +msgstr "Afficher plus" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized Fees" -msgstr "" +msgstr "Frais non réalisés" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx @@ -5862,38 +5934,42 @@ msgstr "Traders parrainés" #: src/pages/Stake/StakeModal.tsx msgid "Stake submitted!" -msgstr "" +msgstr "Stake soumis !" #: src/components/Exchange/PositionsList.jsx msgid "Use the \"Close\" button to reduce your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "Utilisez le bouton \"Fermer\" pour réduire la taille de votre position, ou pour définir des ordres Take Profit / Stop Loss." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Market)" -msgstr "" +msgstr "Augmenter la taille (Marché)" #: src/domain/synthetics/trade/utils/validation.ts msgid "Couldn't find a swap path with enough liquidity" -msgstr "" +msgstr "Impossible de trouver un chemin de swap avec suffisamment de liquidité" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdrawn!" -msgstr "" +msgstr "Retiré !" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "3rd Place" +msgstr "3e Place" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." msgstr "" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" -msgstr "" +msgstr "Échec de la réclamation" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Loss" -msgstr "" +msgstr "Mettre à jour le Stop Loss" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -5902,7 +5978,7 @@ msgstr "Approuver {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} long exceeded" -msgstr "Long {0} max dépassé" +msgstr "Long {0} maximal dépassé" #: src/components/Synthetics/OrderItem/OrderItem.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -5913,25 +5989,25 @@ msgstr "Long {0} max dépassé" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "N/A" -msgstr "" +msgstr "N/A" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is below mark price" -msgstr "" +msgstr "Prix de Stop Market inférieur au prix mark" #: src/components/Exchange/PositionEditor.jsx #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Amount should be greater than zero" -msgstr "" +msgstr "Le montant doit être supérieur à zéro" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpetuals Aggregator" -msgstr "" +msgstr "Agrégateur de perpétuels" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "" +#~ msgid "LIVE" +#~ msgstr "EN DIRECT" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -5948,24 +6024,24 @@ msgstr "{formattedNetRate} / 1h" #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx msgid "Balance" -msgstr "Balance" +msgstr "Solde" #: src/pages/Stake/Stake.tsx msgid "Liquidity and trading incentives programs are live on {avalancheLink}." -msgstr "" +msgstr "Les programmes d'incitations à la liquidité et au trading sont en direct sur {avalancheLink}." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX v2 Telegram & Discord Analytics" -msgstr "" +msgstr "Analyses GMX v2 Telegram & Discord" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-enable" -msgstr "" +msgstr "Réactiver" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "I do not want to transfer the Affiliate esGMX tokens" -msgstr "" +msgstr "Je ne veux pas transférer les tokens esGMX de parrainage" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and {action}" @@ -5973,68 +6049,68 @@ msgstr "Renoncer aux profits et {action}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win/Loss" -msgstr "" +msgstr "Gain/Perte" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Names could be separated by commas or spaces" -msgstr "" +msgstr "Les noms peuvent être séparés par des virgules ou des espaces" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from decentralized exchanges" -msgstr "" +msgstr "Acheter GMX sur des exchanges décentralisés" #: src/components/NotifyModal/NotifyModal.tsx msgid "Powered by" -msgstr "" +msgstr "Propulsé par" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order executed" -msgstr "" +msgstr "Ordre d'achat exécuté" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the set acceptable price impact. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "Le prix acceptable de l'ordre inclut l'impact sur le prix acceptable défini. Le prix d'exécution doit respecter cette condition pour que l'ordre soit exécuté." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "This TWAP order will execute {numberOfParts} {0} {type} orders of {1} each over the next {2} for the {3} market." -msgstr "" +msgstr "Cet ordre TWAP exécutera {numberOfParts} ordres {0} {type} de {1} chacun sur les prochaines {2} pour le marché {3}." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim submitted." -msgstr "" +msgstr "Réclamation soumise." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "OPEN INTEREST" -msgstr "" +msgstr "INTÉRÊT OUVERT" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Failed to download trade history CSV." -msgstr "" +msgstr "Échec du téléchargement du CSV d'historique de trades." #: src/domain/synthetics/positions/utils.ts msgid "market" -msgstr "" +msgstr "marché" #: src/components/Referrals/JoinReferralCode.tsx msgid "Same as current active code" -msgstr "Même que le code actif actuel" +msgstr "Identique au code actif actuel" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "The current swap impact including fees is {0}. Consider adding a buffer of 1% to it so the order is more likely to be processed" -msgstr "" +msgstr "L'impact actuel du swap incluant les frais est {0}. Envisagez d'ajouter un tampon de 1% pour que l'ordre soit plus susceptible d'être traité" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Win / Loss" -msgstr "" +msgstr "Gain / Perte" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 rebates are airdropped weekly. V2 rebates are automatically applied as fee discounts on each trade and do not show on this table." -msgstr "" +msgstr "Les remises V1 sont airdroppées hebdomadairement. Les remises V2 sont appliquées automatiquement comme réductions de frais sur chaque trade et ne s'affichent pas dans ce tableau." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min position size: {0}" -msgstr "" +msgstr "Taille de position minimale : {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6042,36 +6118,36 @@ msgstr "" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below mark price" -msgstr "" +msgstr "Prix de déclenchement inférieur au prix mark" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "No delegate found" -msgstr "" +msgstr "Aucun délégué trouvé" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Community with NFTs, Trading and Education initiatives" -msgstr "" +msgstr "Communauté GMX avec initiatives NFTs, Trading et Éducation" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Confirmations" -msgstr "" +msgstr "Confirmations de liquidation" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the stop market order executes." -msgstr "" +msgstr "Prix d'exécution attendu pour l'ordre, incluant l'impact sur le prix actuel, une fois que l'ordre stop market s'exécute." #: src/components/Glp/GlpSwap.jsx msgid "Acknowledge epoch is ending in {minutes} minutes" -msgstr "" +msgstr "Reconnaître que l'époque se termine dans {minutes} minutes" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Price Impact" -msgstr "" +msgstr "Impact élevé sur le prix" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX. For security reasons, we won't contact you first. Please send the message \"I have feedback\" to any of our official accounts:" -msgstr "" +msgstr "Nous voulons vos insights pour améliorer GMX. Pour des raisons de sécurité, nous ne vous contacterons pas en premier. Veuillez envoyer le message \"J'ai un feedback\" à l'un de nos comptes officiels :" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Claim esGMX" @@ -6079,24 +6155,24 @@ msgstr "Réclamer esGMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer ETH to Arbitrum" -msgstr "" +msgstr "Acheter ou transférer ETH vers Arbitrum" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." -msgstr "" +msgstr "La différence de pourcentage maximale entre votre prix spécifié et le prix d'exécution lors de la passation d'ordres." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the limit order executes." -msgstr "" +msgstr "Prix d'exécution attendu pour l'ordre, incluant l'impact sur le prix actuel, une fois que l'ordre limite s'exécute." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of open fee" -msgstr "" +msgstr "des frais d'ouverture" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Pool Amount" -msgstr "Somme du pool" +msgstr "Montant du pool" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approve GMX" @@ -6104,7 +6180,7 @@ msgstr "Approuver GMX" #: src/components/Glp/SwapErrorModal.tsx msgid "{0} Capacity Reached" -msgstr "{0} Capacité atteinte" +msgstr "Capacité {0} atteinte" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -6117,15 +6193,15 @@ msgstr "{fromText} à {toExecutionText}" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} Order" -msgstr "Créer un {0} Ordre" +msgstr "Créer un ordre {0}" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit Swap" -msgstr "Exécuter l'échange limité" +msgstr "Exécuter le swap limite" #: src/pages/BuyGMX/BuyGMX.tsx msgid "To purchase GMX on the {0} blockchain, please <0>change your network</0>." -msgstr "" +msgstr "Pour acheter GMX sur la blockchain {0}, veuillez <0>changer votre réseau</0>." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx #: src/components/NpsModal/NpsModal.tsx @@ -6136,7 +6212,7 @@ msgstr "Soumettre" #: src/domain/tokens/approveTokens.tsx msgid "Permit signed!" -msgstr "" +msgstr "Permis signé !" #: src/components/Exchange/TradeHistory.jsx msgid "Request withdrawal from {0} {longOrShortText}" @@ -6148,15 +6224,16 @@ msgstr "Sélectionner une option" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "less than a minute" -msgstr "" +msgstr "moins d'une minute" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "Écosystème" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Next" -msgstr "suivant" +msgstr "Suivant" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -6168,16 +6245,16 @@ msgstr "Créer" #: src/components/Exchange/SwapBox.jsx msgid "Limit order submitted!" -msgstr "Ordre de limite soumis !" +msgstr "Ordre limite soumis !" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" -msgstr "" +msgstr "Derniers 7j" #: src/components/Synthetics/StatusNotification/StakeNotification.tsx msgid "Swap {fromAmount} for {toAmount}" -msgstr "" +msgstr "Échanger {fromAmount} pour {toAmount}" #: src/components/Exchange/PositionShare.tsx msgid "Copy" @@ -6187,28 +6264,28 @@ msgstr "Copier" #: src/components/Referrals/TradersStats.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Amount" -msgstr "Somme" +msgstr "Montant" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} order" -msgstr "" +msgstr "Créer un ordre {0}" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx msgid "Edit {0} {1}{2}" -msgstr "" +msgstr "Modifier {0} {1}{2}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "No rebates distribution history yet." -msgstr "Pas d'historique de distribution de remise." +msgstr "Pas d'historique de distribution de remises." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Governance" -msgstr "" +msgstr "Gouvernance GMX" #: src/domain/synthetics/orders/utils.tsx msgid "trigger price" -msgstr "" +msgstr "prix de déclenchement" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -6225,12 +6302,12 @@ msgstr "Réclamer" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Price Impact / Fees" -msgstr "" +msgstr "Impact sur le prix / Frais" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "" +#~ msgid "GMX {versionName} Account" +#~ msgstr "Compte GMX {versionName}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6244,11 +6321,11 @@ msgstr "Le prix d'exécution de l'ordre tient compte de l'impact sur le prix." #: src/pages/Buy/Buy.tsx msgid "Buy GLP or GMX" -msgstr "" +msgstr "Acheter GLP ou GMX" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max Out" -msgstr "" +msgstr "Maximum" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6268,7 +6345,7 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Enter an amount" -msgstr "indiquer une somme" +msgstr "Entrez un montant" #: src/components/Header/AppHeaderUser.tsx msgid "Connect" @@ -6276,59 +6353,59 @@ msgstr "Connecter" #: src/components/InterviewToast/InterviewToast.tsx msgid "Click here to give us your feedback on GMX." -msgstr "" +msgstr "Cliquez ici pour nous donner votre feedback sur GMX." #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche Fuji" -msgstr "" +msgstr "V1 Avalanche Fuji" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "1st Place" -msgstr "" +msgstr "1re Place" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "D2.Finance" -msgstr "" +msgstr "D2.Finance" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized:" +msgstr "Annualisé :" + +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" msgstr "" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" -msgstr "" +msgstr "Échec de la signature d'approbation" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Starts in" -msgstr "" +msgstr "Commence dans" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are high currently, which may be due to a temporary increase in transactions on the {chainName} network." -msgstr "Les frais de réseau sont très élevés actuellement, ce qui peut être dû à une augmentation temporaire des transactions sur le réseau {chainName}." +msgstr "Les frais de réseau sont élevés actuellement, ce qui peut être dû à une augmentation temporaire des transactions sur le réseau {chainName}." #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Scan the QR code" msgstr "Scannez le code QR" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" -msgstr "" +msgstr "Ordre de déplacement GM inconnu" #: src/components/Exchange/TradeHistory.jsx msgid "Max leverage of 100x was exceeded, the remaining collateral after deducting losses and fees have been sent back to your account:" -msgstr "Le levier maximum de 100x a été dépassé, le collatéral restant, après déduction des pertes et des frais, a été renvoyé sur votre compte:" +msgstr "L'effet de levier maximal de 100x a été dépassé, le collatéral restant après déduction des pertes et frais a été renvoyé sur votre compte :" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Shifting {symbol}..." -msgstr "" +msgstr "Déplacement de {symbol}..." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order." @@ -6340,23 +6417,27 @@ msgstr "Pas assez de liquidité disponible pour remplir l'ordre." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above mark price" -msgstr "" +msgstr "Prix de déclenchement supérieur au prix mark" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size exceeds position" -msgstr "Montant de l'ordre dépasse la position" +msgstr "Taille d'ordre dépasse la position" + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "" #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" -msgstr "Mise à jour de l'ordre envoyée !" +msgstr "Mise à jour d'ordre soumise !" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw failed." -msgstr "" +msgstr "Échec de l'activation du retrait." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Explore, analyze, and copy on-chain traders" -msgstr "" +msgstr "Explorer, analyser et copier des traders on-chain" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit" @@ -6364,7 +6445,7 @@ msgstr "Renoncer aux profits" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Sell Fee" -msgstr "" +msgstr "Frais de vente" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx @@ -6372,45 +6453,45 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Execution Details" -msgstr "" +msgstr "Détails d'exécution" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GM Airdrop" -msgstr "" +msgstr "Airdrop GM" #: src/components/Glp/GlpSwap.jsx msgid "Save on Fees" -msgstr "Économisez sur les frais" +msgstr "Économiser sur les frais" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Take Profit" -msgstr "" +msgstr "Mettre à jour le Take Profit" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Active Orders" -msgstr "Ordres Actifs" +msgstr "Ordres actifs" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "You have set a high acceptable price impact. The current price impact is {0}." -msgstr "" +msgstr "Vous avez défini un impact sur le prix acceptable élevé. L'impact actuel sur le prix est {0}." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Lending and Borrowing" -msgstr "" +msgstr "Prêts et emprunts" #: src/components/Exchange/SwapBox.jsx msgid "Switch to {0} collateral." -msgstr "" +msgstr "Passer au collatéral {0}." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GMX Vault" -msgstr "" +msgstr "Vault GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Jones DAO" -msgstr "" +msgstr "Jones DAO" #: src/components/Exchange/TradeHistory.jsx msgid "Partially Liquidated" @@ -6418,20 +6499,20 @@ msgstr "Liquidé partiellement" #: src/components/Glp/GlpSwap.jsx msgid "Insufficient GLP balance" -msgstr "Équilibre insuffisant de GLP" +msgstr "Solde GLP insuffisant" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Minute(s)" -msgstr "" +msgstr "Minute(s)" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized Fees" -msgstr "" +msgstr "Frais non réalisés de départ" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "V2 trading" -msgstr "" +msgstr "Trading V2" #: src/components/Exchange/ConfirmationBox.jsx msgid "view" @@ -6439,11 +6520,11 @@ msgstr "voir" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancel failed." -msgstr "" +msgstr "Échec de l'annulation de {orderText}." #: src/components/Exchange/OrdersToa.jsx msgid "Accept terms to enable orders" -msgstr "Accepter les conditions pour permettre les commandes" +msgstr "Accepter les conditions pour activer les ordres" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol analytics" @@ -6461,6 +6542,9 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"Liquidé {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} Prix : {3} USD" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Inc." @@ -6468,36 +6552,36 @@ msgstr "Inc." #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed amount" -msgstr "" +msgstr "Frais dépassent le montant" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx msgid "Search Type" -msgstr "" +msgstr "Type de recherche" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is below its target weight.<0/><1/>Get lower fees to <2>buy GLP</2> with {1}, and to <3>swap</3> {2} for other tokens." -msgstr "{0} est en dessous de son poids cible.<0/><1/>Obtenez une réduction des frais pour <2>acheter GLP</2> avec {1} et d'<3>échanger</3> {2} pour d'autres tokens." +msgstr "{0} est en dessous de son poids cible.<0/><1/>Obtenez des frais réduits pour <2>acheter GLP</2> avec {1}, et pour <3>échanger</3> {2} contre d'autres tokens." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win Rate" -msgstr "" +msgstr "Taux de gain" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "Économisez {0} en impact sur le prix et frais en <0><1>passant au pool {1}</1>.</0>" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" -msgstr "" +msgstr "Vous avez des tokens esGMX dans le vault de parrainage, vous devez retirer ces tokens si vous voulez les transférer vers le nouveau compte" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Explorer" -msgstr "" +msgstr "Ouvrir {0} dans l'explorateur" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} and {1} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} et {1} peuvent être utilisés pour acheter GM sur ce marché jusqu'aux plafonds d'achat spécifiés." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/StatusNotification/StakeNotification.tsx @@ -6511,15 +6595,15 @@ msgstr "Voir" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Market" -msgstr "" +msgstr "Exécuter Stop Market" #: src/components/Referrals/TradersStats.tsx msgid "Volume traded by this account with an active referral code." -msgstr "Volume échangé par ce compte avec un code de parrainage actif." +msgstr "Volume tradé par ce compte avec un code de parrainage actif." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized fees" -msgstr "" +msgstr "Frais non réalisés de départ" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Codes" @@ -6534,37 +6618,42 @@ msgstr "GMX vesté non retiré" msgid "FEES" msgstr "FRAIS" +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "Tous les marchés" + #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Open Fee" -msgstr "" +msgstr "Frais d'ouverture" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Looks like you don't have a referral code to share. <0/> Create one now and start earning rebates!" -msgstr "Il semble que vous n'ayez pas de code de parrainage à partager. <0/> Créez-en un maintenant et commencez à gagner des remises!" +msgstr "Il semble que vous n'ayez pas de code de parrainage à partager. <0/> Créez-en un maintenant et commencez à gagner des remises !" #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Update 1CT (One-Click Trading) settings" -msgstr "" +msgstr "Mettre à jour les paramètres 1CT (One-Click Trading)" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Kudai AI Agent" -msgstr "" +msgstr "Agent AI Kudai" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Current Price" -msgstr "" +msgstr "Prix actuel" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT ID" -msgstr "Indiquer l'ID NFT" +msgstr "Entrez l'ID NFT" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal failed." -msgstr "" +msgstr "Échec du retrait." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -6573,23 +6662,23 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Limit Price" -msgstr "Prix de limite" +msgstr "Prix limite" #: src/components/AddressView/AddressView.tsx msgid "You" -msgstr "" +msgstr "Vous" #: src/components/Synthetics/GmList/GmList.tsx msgid "Pools providing liquidity to specific GMX markets, supporting single-asset and native asset options." -msgstr "" +msgstr "Pools fournissant de la liquidité à des marchés GMX spécifiques, supportant des options d'actifs uniques et natifs." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivate 1CT (One-Click Trading)" -msgstr "" +msgstr "Désactiver 1CT (One-Click Trading)" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute deposit into {0} {longOrShortText}" -msgstr "Impossible d'exécuter ce dépôt dans {0} {longOrShortText}" +msgstr "Impossible d'exécuter le dépôt dans {0} {longOrShortText}" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -6606,11 +6695,11 @@ msgstr "Dépôt" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d Est. Fees" -msgstr "" +msgstr "Frais estimés 365j" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below highest limit price" -msgstr "" +msgstr "Prix de déclenchement inférieur au prix limite le plus élevé" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -6622,45 +6711,45 @@ msgstr "Prix acceptable" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell request sent" -msgstr "" +msgstr "Demande de vente envoyée" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Margin Protocol" -msgstr "" +msgstr "Protocole de marge DeFi" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Enabling Leverage..." -msgstr "Permettre l'effet de levier..." +msgstr "Activation de l'effet de levier..." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap to the receive token when the price conditions are met." -msgstr "" +msgstr "Il pourrait ne pas y avoir suffisamment de liquidité pour exécuter le swap vers le token de réception lorsque les conditions de prix sont remplies." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawn {balanceFormatted} to Main Account" -msgstr "" +msgstr "Retiré {balanceFormatted} vers le compte principal" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Errors" -msgstr "" +msgstr "Erreurs de trade" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Consider selecting only positions where the accrued funding fee exceeds the {0} gas cost to settle each position." -msgstr "" +msgstr "Envisagez de sélectionner uniquement les positions où les frais de financement accumulés dépassent le coût en gaz {0} pour régler chaque position." #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} using the pay token selected is reached. Please choose a different pool, reduce the buy size, or pick a different composition of tokens." -msgstr "" +msgstr "Le plafond d'achat pour le pool GM : {0} utilisant le token de paiement sélectionné est atteint. Veuillez choisir un pool différent, réduire la taille d'achat, ou choisir une composition de tokens différente." #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you use to buy GLP. <0/>Enter the amount of GLP you want to purchase in the order form, then check here to compare fees." -msgstr "Les frais peuvent varier selon quel actif vous vendez pour du GLP. <0/>Indiquer la somme que vous souhaitez acheter, puis vérifiez ici pour comparer les frais." +msgstr "Les frais peuvent varier selon l'actif utilisé pour acheter GLP. <0/>Entrez le montant de GLP que vous voulez acheter dans le formulaire d'ordre, puis vérifiez ici pour comparer les frais." #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Claim <0>{0}</0>" -msgstr "" +msgstr "Réclamer <0>{0}</0>" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6686,64 +6775,66 @@ msgstr "Recevoir" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "time to liq" -msgstr "temps de liquider" +msgstr "temps jusqu'à liq" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Fees" -msgstr "" +msgstr "Frais réalisés" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Positions" -msgstr "" +msgstr "Positions supérieures" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" -msgstr "" +msgstr "Pools" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute withdrawal from {0} {longOrShortText}" -msgstr "Impossible d'exécuter ce retrait depuis {0} {longOrShortText}" +msgstr "Impossible d'exécuter le retrait de {0} {longOrShortText}" #: src/components/Synthetics/GmList/GlvList.tsx msgid "VAULT" -msgstr "" +msgstr "VAULT" #: src/components/Glp/GlpSwap.jsx msgid "Fees (Rebated)" -msgstr "" +msgstr "Frais (Remboursés)" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Your transfer has been completed." -msgstr "Votre transfert a été effectué." +msgstr "Votre transfert a été complété." #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "We Value Your Feedback" -msgstr "" +msgstr "Nous apprécions votre feedback" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Loss" -msgstr "" +msgstr "Stop Loss" #: src/pages/Stake/Stake.tsx msgid "Liquidity incentives program is live on {avalancheLink}." -msgstr "" +msgstr "Le programme d'incitations à la liquidité est en direct sur {avalancheLink}." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could still be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "Cette position pourrait encore être liquidée, hors tout mouvement de prix, en raison des taux de financement et de frais d'emprunt réduisant le collatéral de la position au fil du temps." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Transfer {nativeTokenSymbol}" -msgstr "" +msgstr "Transférer {nativeTokenSymbol}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Meme" -msgstr "" +msgstr "Meme" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx @@ -6752,73 +6843,73 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeboxTransactions.tsx msgid "Error submitting order" -msgstr "" +msgstr "Erreur lors de la soumission de l'ordre" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Rebates and V1/V2 esGMX are airdropped weekly. V2 Rebates are claimed manually." -msgstr "" +msgstr "Les remises V1 et esGMX V1/V2 sont airdroppées hebdomadairement. Les remises V2 sont réclamées manuellement." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Duration" -msgstr "" +msgstr "Durée" #: src/components/Common/SEO.tsx msgid "Trade spot or perpetual BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet on Arbitrum and Avalanche." -msgstr "" +msgstr "Tradez spot ou perpétuel BTC, ETH, AVAX et d'autres cryptos principales avec jusqu'à 100x d'effet de levier directement depuis votre wallet sur Arbitrum et Avalanche." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max In" -msgstr "" +msgstr "Max en" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Myself" -msgstr "" +msgstr "Moi-même" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" -msgstr "" +msgstr "Rechercher une adresse" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max GM buyable amount reached" -msgstr "" +msgstr "Montant maximal d'achat GM atteint" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Session generated" -msgstr "" +msgstr "Session générée" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" -msgstr "" +msgstr "Acheter GMX" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Max {0} Capacity" -msgstr "Capacité {0} max" +msgstr "Capacité maximale {0}" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copy error" -msgstr "" +msgstr "Erreur de copie" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects developed by the GMX community. <0/>Please exercise caution when interacting with any app, apps are fully maintained by community developers." -msgstr "" +msgstr "Projets développés par la communauté GMX. <0/>Veuillez faire preuve de prudence lors de l'interaction avec toute app, les apps sont entièrement maintenues par des développeurs communautaires." #: src/domain/synthetics/userFeedback/utils.ts msgid "What areas can we improve to make your experience better?" -msgstr "" +msgstr "Quels domaines pouvons-nous améliorer pour rendre votre expérience meilleure ?" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Market: {0} a long position at the current price." -msgstr "" +msgstr "{typeString} Long Market : {0} une position longue au prix actuel." #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a collateral" -msgstr "" +msgstr "Sélectionner un collatéral" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Size per part" -msgstr "" +msgstr "Taille par partie" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -6831,52 +6922,52 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance" -msgstr "Balance {0} insuffisante" +msgstr "Solde {0} insuffisant" #: src/domain/synthetics/orders/utils.tsx msgid "limit price" -msgstr "" +msgstr "prix limite" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price impact rebates for closing trades are claimable under the claims tab. <0>Read more</0>." -msgstr "" +msgstr "Les remises d'impact sur le prix pour la clôture des trades sont réclamables sous l'onglet réclamations. <0>Lire plus</0>." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Sending order request" -msgstr "" +msgstr "Envoi de la demande d'ordre" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Can't execute because of an error" -msgstr "Impossible d'exécuter à cause d'une erreur" +msgstr "Impossible d'exécuter en raison d'une erreur" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Yield Products" -msgstr "" +msgstr "Produits de yield décentralisés" #: src/components/Exchange/PositionSeller.jsx msgid "Keep Leverage is not possible" -msgstr "" +msgstr "Maintenir l'effet de levier n'est pas possible" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee includes fees for additional orders. It will be sent back in full to your account if they don't trigger and are cancelled. <0>Read more</0>." -msgstr "" +msgstr "Frais de réseau maximal inclut les frais pour les ordres supplémentaires. Il sera renvoyé en totalité sur votre compte s'ils ne se déclenchent pas et sont annulés. <0>Lire plus</0>." #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Failed to settle" -msgstr "" +msgstr "{positionName} Échec du règlement" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates" -msgstr "" +msgstr "Remises" #: src/components/Glp/GlpSwap.jsx msgid "GLP is not sellable" -msgstr "" +msgstr "GLP n'est pas vendable" #: src/pages/BuyGlp/BuyGlp.jsx msgid "GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "Les marchés GMX V1 sont désactivés et permettent uniquement la clôture de positions. GLP est en phase de retrait et ne supporte plus les marchés GMX V1." #: src/components/Glp/GlpSwap.jsx msgid "Sell failed." @@ -6884,7 +6975,7 @@ msgstr "Vente échouée." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit" -msgstr "" +msgstr "Mettre à jour la limite" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -6894,8 +6985,9 @@ msgstr "Modifier l'ordre" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" -msgstr "" +msgstr "Réclamations" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6909,15 +7001,15 @@ msgstr "Date" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using FIAT gateways:" -msgstr "" +msgstr "Acheter GMX en utilisant des passerelles FIAT :" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Referral code created!" -msgstr "Code de parrainage créé!" +msgstr "Code de parrainage créé !" #: src/components/Exchange/OrderEditor.jsx msgid "Price above Mark Price" -msgstr "Prix supérieur à celui de la marque" +msgstr "Prix supérieur au prix Mark" #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -6931,38 +7023,38 @@ msgstr "Prix de déclenchement" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Sellable" -msgstr "" +msgstr "Vendable" #: src/components/Exchange/PositionSeller.jsx msgid "Initial Collateral (Collateral excluding Borrow Fee)." -msgstr "" +msgstr "Collatéral initial (Collatéral hors frais d'emprunt)." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "COMPETITION Airdrop" -msgstr "" +msgstr "Airdrop COMPÉTITION" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Enter Receiver Address" -msgstr "Indiquer l'adresse du destinataire" +msgstr "Entrez l'adresse du destinataire" #: src/pages/Stake/VesterDepositModal.tsx msgid "Additional reserve required" -msgstr "" +msgstr "Réserve supplémentaire requise" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" msgstr "Termes et conditions" #: src/pages/Stake/ClaimModal.tsx msgid "Convert {wrappedTokenSymbol} to {nativeTokenSymbol}" -msgstr "" +msgstr "Convertir {wrappedTokenSymbol} en {nativeTokenSymbol}" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available amount to deposit into GLP." -msgstr "Somme disponible à déposer dans GLP." +msgstr "Montant disponible à déposer dans GLP." #: src/components/Exchange/PositionShare.tsx msgid "Download" @@ -6970,27 +7062,31 @@ msgstr "Télécharger" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Swap {0} for {1}" -msgstr "" +msgstr "Échanger {0} pour {1}" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity" -msgstr "" +msgstr "Capacité du vault" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "Profondeur" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" -msgstr "Diminution active: {0}, exécuté: {1}, annulé: {2}" +msgstr "Diminution active : {0}, exécutée : {1}, annulée : {2}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 1" -msgstr "" +msgstr "Couche 1" #: src/components/Exchange/TradeHistory.jsx msgid "{0}  {1} {longOrShortText}, -{2} USD, {3} Price: ${4} USD" -msgstr "" +msgstr "{0}  {1} {longOrShortText}, -{2} USD, {3} Prix : ${4} USD" #: src/components/Exchange/PositionSeller.jsx msgid "Keep leverage at {0}x" -msgstr "" +msgstr "Maintenir le levier à {0}x" #: src/pages/Stake/StakeModal.tsx msgid "Staking..." @@ -6998,16 +7094,16 @@ msgstr "Staking en cours..." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy request sent" -msgstr "" +msgstr "Demande d'achat envoyée" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} amount exceeded" -msgstr "" +msgstr "Montant max. {0} dépassé" #: src/components/Exchange/PositionSeller.jsx msgid "Position close disabled, pending {0} upgrade" -msgstr "" +msgstr "Fermeture de position désactivée, mise à niveau {0} en attente" #: src/components/Exchange/ConfirmationBox.jsx msgid "Swapping..." @@ -7015,7 +7111,7 @@ msgstr "Échange en cours..." #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Realized Base PnL" -msgstr "" +msgstr "PnL de base réalisé" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -7023,15 +7119,15 @@ msgstr "" #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap failed." -msgstr "échange échoué." +msgstr "Échange échoué." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Failed to withdraw {balanceFormatted} to Main Account" -msgstr "" +msgstr "Échec du retrait de {balanceFormatted} vers le compte principal" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from swaps for the {0}/{1} market. It is also exposed to {2} and {3} as per the composition displayed." -msgstr "" +msgstr "Ce token accumule automatiquement des frais d'échange pour le marché {0}/{1}. Il est également exposé à {2} et {3} selon la composition affichée." #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -7040,11 +7136,11 @@ msgstr "Page périmée, veuillez rafraîchir" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals" -msgstr "" +msgstr "Propositions GMX" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUY…" -msgstr "" +msgstr "ACHETER…" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Arbitrum" @@ -7053,27 +7149,27 @@ msgstr "Vester avec GLP sur Arbitrum" #: src/components/InterviewModal/InterviewModal.tsx #: src/components/InterviewModal/InterviewModal.tsx msgid "Telegram account" -msgstr "" +msgstr "Compte Telegram" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "" +#~ msgid "SOON" +#~ msgstr "BIENTÔT" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" -msgstr "" +msgstr "Vendre {operationTokenSymbol}" #: src/components/Exchange/PositionEditor.jsx msgid "Liquidation price would cross mark price." -msgstr "" +msgstr "Le prix de liquidation dépasserait le prix de marque." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perfectswap" -msgstr "" +msgstr "Perfectswap" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Leaderboard for traders on GMX V2." -msgstr "" +msgstr "Tableau des leaders pour les traders sur GMX V2." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Withdraw" @@ -7081,17 +7177,17 @@ msgstr "Retrait échoué" #: src/pages/Referrals/Referrals.tsx msgid "Get fee discounts and earn rebates through the GMX referral program.<0/>For more information, please read the <1>referral program details</1>." -msgstr "" +msgstr "Obtenez des remises sur les frais et gagnez des rabais via le programme de parrainage GMX.<0/>Pour plus d'informations, veuillez lire les <1>détails du programme de parrainage</1>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Freeze" -msgstr "" +msgstr "Geler" #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Express params loading..." -msgstr "" +msgstr "Chargement des paramètres express..." #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "As there is not enough liquidity in GLP to swap {0} to {swapTokenSymbol}, you can use the option below to do so:" @@ -7106,17 +7202,17 @@ msgstr "Réclamation complétée !" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Market" -msgstr "" +msgstr "Stop Marché" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Min number of parts: {MIN_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Nombre min. de parties : {MIN_TWAP_NUMBER_OF_PARTS}" #: src/components/Exchange/PositionSeller.jsx msgid "You can change this in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" +msgstr "Vous pouvez modifier cela dans le menu des paramètres en haut à droite de la page.<0/><1/>Notez qu'un glissement autorisé faible, par ex. moins de {0}, peut entraîner des ordres échoués si les prix sont volatils." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -7133,66 +7229,66 @@ msgstr "Partenariats et intégrations" #: src/components/Exchange/PositionEditor.jsx msgid "Leftover Collateral not enough to cover fees" -msgstr "" +msgstr "Collatéral restant insuffisant pour couvrir les frais" #: src/components/InterviewToast/InterviewToast.tsx #: src/components/InterviewToast/InterviewToast.tsx msgid "As a token of our appreciation, you'll receive a reward of <0>100 <1/></0>." -msgstr "" +msgstr "En signe d'appréciation, vous recevrez une récompense de <0>100 <1/></0>." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above limit price" -msgstr "" +msgstr "Prix de déclenchement supérieur au prix limite" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a Pay token" -msgstr "" +msgstr "Sélectionner un token de paiement" #: src/components/Exchange/SwapBox.jsx msgid "Swap {0} submitted!" -msgstr "Échanger {0} soumis!" +msgstr "Échange {0} soumis !" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The available liquidity will be the lesser of the difference between the maximum value and the current value for both the reserve and open interest." -msgstr "" +msgstr "La liquidité disponible sera la moindre de la différence entre la valeur maximale et la valeur actuelle pour la réserve et l'intérêt ouvert." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral Code does not exist" -msgstr "Ce code de parrainage n'existe pas" +msgstr "Le code de parrainage n'existe pas" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "shift" -msgstr "" +msgstr "décalage" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GLP to GM Airdrop" -msgstr "" +msgstr "Airdrop GLP vers GM" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Vaults" -msgstr "Coffres de Rendements" +msgstr "Coffres de rendement" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Portuguese)" -msgstr "Groupe Telegram (langue Portugaise)" +msgstr "Groupe Telegram (portugais)" #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX V2 Actions" -msgstr "" +msgstr "Actions GMX V2" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code has been taken by someone else on {takenNetworkNames}, you will not receive rebates from traders using this code on {takenNetworkNames}." -msgstr "Ce code a été pris par quelqu'un d'autre sur {takenNetworkNames}, vous ne recevrez pas de remises des traders utilisant ce code sur {takenNetworkNames}." +msgstr "Ce code a été pris par quelqu'un d'autre sur {takenNetworkNames}, vous ne recevrez pas de rabais des traders utilisant ce code sur {takenNetworkNames}." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Confirm Claim" -msgstr "" +msgstr "Confirmer la réclamation" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX community discussion" @@ -7200,19 +7296,19 @@ msgstr "Discussion de la communauté GMX" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} Les pools GLV sont <0>incités{sparkle}.</0>" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GM" -msgstr "" +msgstr "Vendre GM" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power." -msgstr "" +msgstr "<0>Déléguez votre pouvoir de vote {0} GMX DAO non délégué</0>." #: src/domain/synthetics/markets/createShiftTxn.ts msgid "Shift error." -msgstr "" +msgstr "Erreur de décalage." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7278,15 +7374,15 @@ msgstr "Pool" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Venus" -msgstr "" +msgstr "Venus" #: src/pages/Referrals/Referrals.tsx msgid "Referral code creation failed." -msgstr "" +msgstr "Échec de la création du code de parrainage." #: src/components/Glp/SwapErrorModal.tsx msgid "<0>The pool's capacity has been reached for {0}. Please use another token to buy GLP.</0><1>Check the \"Save on Fees\" section for tokens with the lowest fees.</1>" -msgstr "<0>La capacité du pool a été atteinte pour {0}. Veuillez utiliser un autre token pour acheter GLP.</0><1>Vérifier la section \"économiser sur les frais\" pour les tokens ayant les meilleur frais.</1>" +msgstr "<0>La capacité du pool a été atteinte pour {0}. Veuillez utiliser un autre token pour acheter GLP.</0><1>Vérifiez la section \"Économiser sur les frais\" pour les tokens avec les frais les plus bas.</1>" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX dashboards and analytics." @@ -7294,7 +7390,7 @@ msgstr "Tableaux de bord et analyses GMX." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "External Swap {0} to {1}" -msgstr "" +msgstr "Échange externe {0} vers {1}" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx @@ -7304,123 +7400,123 @@ msgstr "Position" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Bonus Rebate" -msgstr "" +msgstr "Rabais bonus" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing position in the {0} market pool, but it lacks liquidity for this order." -msgstr "" +msgstr "Vous avez une position existante dans le pool de marché {0}, mais il manque de liquidité pour cet ordre." #: src/components/Exchange/PositionEditor.jsx msgid "Enable Leverage" -msgstr "Permettre le levier" +msgstr "Activer le levier" #: src/components/Exchange/PositionSeller.jsx msgid "Close without profit" -msgstr "" +msgstr "Fermer sans profit" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "{title}" -msgstr "" +msgstr "{title}" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Increasing" -msgstr "" +msgstr "Augmentation" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" -msgstr "" +msgstr "Le plus rapide" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Lev." -msgstr "" +msgstr "Levier moyen" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing longs for<4/>this size." -msgstr "" +msgstr "Aucune liquidité disponible pour augmenter les shorts pour<0/>cette taille. Taille max. short : {0}<1/><2/>Il n'y a pas d'impact sur le prix. Il y a un seul<3/>prix d'exécution pour diminuer les longs pour<4/>cette taille." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche LP incentives" -msgstr "" +msgstr "Incitations LP Avalanche" #: src/components/Stake/GMXAprTooltip.tsx msgid "{nativeTokenSymbol} APR" -msgstr "" +msgstr "TAEG {nativeTokenSymbol}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Chinese)" -msgstr "Groupe Telegram (langue chinoise)" +msgstr "Groupe Telegram (chinois)" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for {2} {3}" -msgstr "" +msgstr "Échanger {0} {1} pour {2} {3}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "<0>This will withdraw all esGMX tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button.<5/><6/></0>" -msgstr "" +msgstr "<0>Cela retirera tous les tokens esGMX et mettra en pause le vesting.<1/><2/>Les tokens esGMX convertis en GMX seront réclamés et resteront en tant que tokens GMX.<3/><4/>Pour réclamer des tokens GMX sans retirer, utilisez le bouton \"Réclamer\".<5/><6/></0>" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "DeFi" -msgstr "" +msgstr "DeFi" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "SNAPSHOT" -msgstr "" +msgstr "SNAPSHOT" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Liquidation Price" -msgstr "" +msgstr "Prix de liquidation" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Voting Power" -msgstr "" +msgstr "Pouvoir de vote" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The long reserve accounts for the PnL of open positions, while the open interest does not." -msgstr "" +msgstr "La réserve longue tient compte du PnL des positions ouvertes, tandis que l'intérêt ouvert ne le fait pas." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Take Profit" -msgstr "" +msgstr "Annuler le take profit" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL ($)" -msgstr "" +msgstr "PnL max. ($)" #: src/pages/AccountDashboard/AccountDashboard.tsx msgid "Invalid address. Please make sure you have entered a valid Ethereum address" -msgstr "" +msgstr "Adresse invalide. Veuillez vous assurer d'avoir entré une adresse Ethereum valide" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GMX Vesting Vault" -msgstr "L'expéditeur a retiré tous les tokens du coffre de Vesting GLP." +msgstr "L'expéditeur a retiré tous les tokens du coffre de vesting GMX." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Failed Settlement of Funding Fees" -msgstr "" +msgstr "Échec du règlement des frais de financement" #: src/components/Exchange/ConfirmationBox.jsx msgid "Pay Amount" -msgstr "Somme à payer" +msgstr "Montant à payer" #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GLP is the liquidity provider token for GMX V1 markets. Accrues 70% of the V1 markets generated fees." -msgstr "" +msgstr "GLP est le token de fournisseur de liquidité pour les marchés GMX V1. Accumule 70 % des frais générés par les marchés V1." #: src/domain/synthetics/orders/utils.tsx msgid "{increaseOrDecreaseText} {tokenText} by {sizeText}" -msgstr "" +msgstr "{increaseOrDecreaseText} {tokenText} de {sizeText}" #: src/pages/Stake/UnstakeModal.tsx msgid "{0}<0>You will earn {1}% less rewards with this action.</0>" -msgstr "" +msgstr "{0}<0>Vous gagnerez {1} % de récompenses en moins avec cette action.</0>" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirming..." -msgstr "" +msgstr "Confirmation en cours..." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7435,7 +7531,7 @@ msgstr "Augmenter" #: src/pages/Stake/ClaimModal.tsx msgid "Claim {wrappedTokenSymbol} Rewards" -msgstr "" +msgstr "Réclamer les récompenses {wrappedTokenSymbol}" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/GmxCard.tsx @@ -7443,26 +7539,26 @@ msgstr "" #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Total Supply" -msgstr "Réserves Totales" +msgstr "Offre totale" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Pool Capacity Reached" -msgstr "{0} Capacité du pool atteinte" +msgstr "Capacité du pool {0} atteinte" #: src/components/Glp/GlpSwap.jsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Staked" -msgstr "Staker" +msgstr "Staké" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "" +#~ msgid "Leave feedback" +#~ msgstr "Laisser un feedback" #: src/pages/Referrals/Referrals.tsx msgid "Traders" -msgstr "" +msgstr "Traders" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{ordersText} cancelled" @@ -7470,7 +7566,7 @@ msgstr "{ordersText} annulé" #: src/domain/synthetics/positions/utils.ts msgid "take profit" -msgstr "" +msgstr "take profit" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx @@ -7479,11 +7575,11 @@ msgstr "Forcer les échanges externes" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}. <0/>{2} is needed for collateral." -msgstr "Les frais sont élevés pour changer de {0} vers {1}. <0/>{2} est nécessaire pour le Collatéral." +msgstr "Les frais sont élevés pour échanger de {0} vers {1}. <0/>{2} est nécessaire pour le collatéral." #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "size" -msgstr "montant" +msgstr "taille" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit Swap" @@ -7491,12 +7587,12 @@ msgstr "Créer un échange limité" #: src/components/Errors/errorToasts.tsx msgid "<0>Your wallet is not connected to {0}.</0><1/><2>Switch to {1}</2>" -msgstr "" +msgstr "<0>Votre portefeuille n'est pas connecté à {0}.</0><1/><2>Passer à {1}</2>" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "Transaction was cancelled." -msgstr "Transaction annulée." +msgstr "La transaction a été annulée." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept confirmation of trigger orders" @@ -7504,15 +7600,19 @@ msgstr "Accepter la confirmation des ordres de déclenchement" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Choose to buy from decentralized or centralized exchanges." -msgstr "" +msgstr "Choisissez d'acheter depuis des exchanges décentralisés ou centralisés." #: src/components/Exchange/TradeHistory.jsx msgid "Min required collateral" -msgstr "Collatéral min requis" +msgstr "Collatéral min. requis" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" -msgstr "Essayez d'augmenter le \" glissement autorisé\", sous le menu Paramètres en haut à droite" +msgstr "Essayez d'augmenter le \"Glissement autorisé\", sous le menu Paramètres en haut à droite" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." @@ -7520,12 +7620,12 @@ msgstr "Pages de l'écosystème GMX." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GM Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} Les pools GM sont <0>incités{sparkle}.</0>" #: src/components/Exchange/PositionsList.jsx #: src/lib/legacy.ts msgid "Order size is bigger than position, will only be executable if position increases" -msgstr "Montant de l'ordre supérieure à la position, il sera exécutable seulement si la position augmente." +msgstr "La taille de l'ordre est supérieure à la position, il sera exécutable seulement si la position augmente." #: src/components/Header/AppHeaderLinks.tsx msgid "Buy" @@ -7533,11 +7633,11 @@ msgstr "Acheter" #: src/config/events.tsx msgid "Incentives are live for <0>Arbitrum</0> and <1>Avalanche</1> GM pools and V2 trading." -msgstr "" +msgstr "Les incitations sont actives pour les pools GM <0>Arbitrum</0> et <1>Avalanche</1> et le trading V2." #: src/pages/Stake/TotalRewardsCard.tsx msgid "Total Rewards" -msgstr "" +msgstr "Récompenses totales" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT ID" @@ -7546,61 +7646,60 @@ msgstr "ID NFT" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Success claimings" -msgstr "" +msgstr "Réclamations réussies" #: src/lib/legacy.ts msgid "Decentralized Perpetual Exchange | GMX" -msgstr "" +msgstr "Exchange perpétuel décentralisé | GMX" #: src/components/Exchange/PositionEditor.jsx msgid "The pending borrow fee will be charged on this transaction." -msgstr "" +msgstr "Les frais d'emprunt en attente seront facturés sur cette transaction." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Fees will be shown once you have entered an amount in the order form." -msgstr "Les frais s'afficheront quand vous aurez indiqué une somme dans le formulaire d'ordre." +msgstr "Les frais s'afficheront une fois que vous aurez saisi un montant dans le formulaire d'ordre." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GLP Vault" -msgstr "" +msgstr "Coffre GLP" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" msgstr "Termes de parrainage" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter unique coins" -msgstr "" +msgstr "Saisir des coins uniques" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Fee APY" -msgstr "" +msgstr "TAEG des frais" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." -msgstr "" +msgstr "Aucun marché correspondant." #: src/pages/Stake/Stake.tsx msgid "Stake esGMX" -msgstr "" +msgstr "Staker esGMX" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Target Min Amount" -msgstr "Somme cible min" +msgstr "Montant min. cible" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed Pay amount" -msgstr "" +msgstr "Les frais dépassent le montant de paiement" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Swap" @@ -7608,41 +7707,37 @@ msgstr "Échange de marché échoué" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "HoudiniSwap" -msgstr "" +msgstr "HoudiniSwap" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Error occurred. Please try again" -msgstr "" +msgstr "Une erreur s'est produite. Veuillez réessayer" #: src/components/Referrals/referralsHelper.js msgid "Only letters, numbers and underscores are allowed." -msgstr "Les lettres, les chiffres et les caractères de soulignement sont autorisés." +msgstr "Seules les lettres, les chiffres et les soulignés sont autorisés." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling shift request" -msgstr "" +msgstr "Exécution de la demande de décalage" #: src/pages/Referrals/Referrals.tsx msgid "Referral code submitted!" -msgstr "" +msgstr "Code de parrainage soumis !" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Transaction failed due to execution fee validation. <0>View</0>.<1/><2/>Please <3>enable Express trading</3> under settings, which should offer a better experience.<4/><5/>Otherwise, try increasing the max network fee buffer to {0} in <6>settings</6>." -msgstr "" +msgstr "La transaction a échoué en raison de la validation des frais d'exécution. <0>Voir</0>.<1/><2/>Veuillez <3>activer le trading express</3> dans les paramètres, ce qui devrait offrir une meilleure expérience.<4/><5/>Sinon, essayez d'augmenter le tampon de frais réseau max. à {0} dans les <6>paramètres</6>." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "APY" -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "Le mois dernier" +msgstr "TAEG" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Leave at least {0} {1} for gas" -msgstr "Laisser au moins {0} {1} pour du gaz" +msgstr "Laisser au moins {0} {1} pour le gaz" #: src/pages/Dashboard/GmxCard.tsx msgid "staked" @@ -7651,7 +7746,7 @@ msgstr "staké" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "There is not enough {0} in your account on {1} to send this transaction.<0/><1/><2>Buy or Transfer {2} to {3}</2>" -msgstr "" +msgstr "Il n'y a pas assez de {0} dans votre compte sur {1} pour envoyer cette transaction.<0/><1/><2>Acheter ou transférer {2} vers {3}</2>" #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Volume" @@ -7660,11 +7755,11 @@ msgstr "Volume total" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx msgid "Enter new Price" -msgstr "Indiquer une nouvelle somme" +msgstr "Saisir un nouveau prix" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GLP Vault" -msgstr "" +msgstr "Retirer du coffre GLP" #: src/components/Exchange/PositionShare.tsx msgid "Image generation error, please refresh and try again." @@ -7673,72 +7768,72 @@ msgstr "Erreur de génération d'image, veuillez rafraîchir et réessayer." #: src/components/Synthetics/Claims/ClaimableCardUI.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price Impact Rebates" -msgstr "" +msgstr "Rabais d'impact sur le prix" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." -msgstr "" +msgstr "Les ordres Take Profit et Stop Loss seront automatiquement annulés lorsque la position associée est complètement fermée. Cela n'affectera que les nouveaux ordres TP/SL créés." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Swap Part" -msgstr "" +msgstr "Partie d'échange TWAP échouée" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Open {0} {longOrShortText}" -msgstr "" +msgstr "Ouvrir {0} {longOrShortText}" #: src/components/InterviewToast/InterviewToast.tsx msgid "Give us your feedback on GMX." -msgstr "" +msgstr "Donnez-nous votre feedback sur GMX." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Borrow Fee / Day" -msgstr "" +msgstr "Frais d'emprunt actuels / Jour" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V1" -msgstr "" +msgstr "Rabais sur V1" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token indexToken: \"{0}\" collateralToken: \"{1}\"" -msgstr "Token invalide indiceТокен: \"{0}\" collatéralToken: \"{1}\"" +msgstr "Token invalide indexToken : \"{0}\" collateralToken : \"{1}\"" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Header/AppHeaderLinks.tsx msgid "Alerts" -msgstr "" +msgstr "Alertes" #: src/components/Exchange/OrdersList.jsx msgid "<0>The price that orders can be executed at may differ slightly from the chart price, as market orders update oracle prices, while limit/trigger orders do not.</0><1>This can also cause limit/triggers to not be executed if the price is not reached for long enough. <2>Read more</2>.</1>" -msgstr "" +msgstr "<0>Le prix auquel les ordres peuvent être exécutés peut différer légèrement du prix du graphique, car les ordres au marché mettent à jour les prix oracle, tandis que les ordres limite/déclenchement ne le font pas.</0><1>Cela peut également entraîner que les limites/déclenchements ne soient pas exécutés si le prix n'est pas atteint assez longtemps. <2>En savoir plus</2>.</1>" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Portfolio Tracker" -msgstr "Suivi du portefeuille DeFi" +msgstr "Suivi de portefeuille DeFi" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Funding Fee / Day" -msgstr "" +msgstr "Frais de financement actuels / Jour" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d estimate based on past {daysConsidered}d APY." -msgstr "" +msgstr "Estimation sur 365j basée sur le TAEG des {daysConsidered}j passés." #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum APR:" -msgstr "Taux de rendement annuels Arbitrum:" +msgstr "TAEG Arbitrum :" #: src/pages/Jobs/Jobs.jsx msgid "Job Openings" -msgstr "" +msgstr "Offres d'emploi" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects integrated with GMX." -msgstr "Projets intégrés à GMX\"." +msgstr "Projets intégrés à GMX." #: src/components/Stake/GMXAprTooltip.tsx msgid "Escrowed GMX APR" -msgstr "Taux de rendement annuels GMX sous séquestre" +msgstr "TAEG GMX sous séquestre" #: src/components/Exchange/TradeHistory.jsx msgid "Initial collateral" @@ -7746,11 +7841,11 @@ msgstr "Collatéral initial" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Activate 1CT (One-Click Trading)" -msgstr "" +msgstr "Activer 1CT (Trading en un clic)" #: src/components/AprInfo/AprInfo.tsx msgid "The Bonus APR will be airdropped as {airdropTokenTitle} tokens. <0>Read more</0>." -msgstr "" +msgstr "Le TAEG bonus sera airdroppé sous forme de tokens {airdropTokenTitle}. <0>En savoir plus</0>." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -7766,15 +7861,15 @@ msgstr "Portefeuille" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You have a pending transfer from {sender}." -msgstr "Vous avez un transfert en attente de {expéditeur}." +msgstr "Vous avez un transfert en attente de {sender}." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the stop price, the order will attempt to execute." -msgstr "" +msgstr "Une fois que le prix de marque atteint le prix stop, l'ordre tentera de s'exécuter." #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a trigger price" -msgstr "" +msgstr "Saisir un prix de déclenchement" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GLP not withdrawn" @@ -7782,7 +7877,7 @@ msgstr "GLP vesté non retiré" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {minutes} minutes{0}" -msgstr "" +msgstr "<0>toutes les</0> {minutes} minutes{0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -7800,106 +7895,108 @@ msgstr "Prix d'entrée" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Price change to Liq." -msgstr "" +msgstr "Changement de prix jusqu'à la liq." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b LP incentives" -msgstr "" +msgstr "Incitations LP STIP.b" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Loss" -msgstr "" +msgstr "Annuler le stop loss" #: src/components/Exchange/PositionsList.jsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size if needed." -msgstr "" +msgstr "Cliquez sur la position pour sélectionner son marché, puis utilisez la boîte de trading pour augmenter la taille de votre position si nécessaire." #: src/domain/synthetics/orders/utils.tsx msgid "Limit Decrease" -msgstr "" +msgstr "Diminution limite" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stabilize Protocol" -msgstr "" +msgstr "Protocole Stabilize" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a valid coin names" -msgstr "" - -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "" +msgstr "Saisir des noms de coins valides" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." -msgstr "" +msgstr "Liq. Long" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GBC Kudai AI Agent" -msgstr "" +msgstr "Agent IA GBC Kudai" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You have {0} esGMX (IOU) tokens." -msgstr "Vous avez {0} tokens esGMX (IOU - reconnaissance de dette)." +msgstr "Vous avez {0} tokens esGMX (IOU)." #: src/domain/synthetics/orders/utils.tsx msgid "There is currently a high swap price impact for the order swap path." -msgstr "" +msgstr "Il y a actuellement un impact élevé sur le prix d'échange pour le chemin d'échange de l'ordre." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Stop Market)" +msgstr "Augmenter la taille (Stop Marché)" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" -msgstr "" +msgstr "PnL Stop Loss" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing {balanceFormatted} to Main Account" -msgstr "" +msgstr "Retrait de {balanceFormatted} vers le compte principal" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settling..." -msgstr "" +msgstr "Règlement en cours..." #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" msgstr "Tableau des leaders" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be enough liquidity to execute parts of this order when the time conditions are met." -msgstr "" +msgstr "Il pourrait ne pas y avoir assez de liquidité pour exécuter des parties de cet ordre lorsque les conditions de temps sont remplies." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The PnL ($) compared to the capital used.<0/><1/>The capital used is calculated as the highest value of [<2>sum of collateral of open positions - realized PnL + period start pending PnL</2>]." -msgstr "" +msgstr "Le PnL ($) comparé au capital utilisé.<0/><1/>Le capital utilisé est calculé comme la valeur la plus élevée de [<2>somme du collatéral des positions ouvertes - PnL réalisé + PnL en attente au début de la période</2>]." #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued" -msgstr "" +msgstr "Accumulé" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Liquidation price is influenced by fees and collateral value." -msgstr "" +msgstr "Le prix de liquidation est influencé par les frais et la valeur du collatéral." #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "No data available" -msgstr "" +msgstr "Aucune donnée disponible" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{prefix} <0>{text}</0>" -msgstr "" +msgstr "{prefix} <0>{text}</0>" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to update settings" -msgstr "" +msgstr "Échec de la mise à jour des paramètres" #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Positive Price Impact / Fees" -msgstr "" +msgstr "Impact positif sur le prix / Frais" #: src/components/Exchange/PositionShare.tsx msgid "Tweet" @@ -7907,7 +8004,7 @@ msgstr "Tweet" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELL…" -msgstr "" +msgstr "VENDRE…" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Swap" @@ -7915,31 +8012,31 @@ msgstr "Confirmer l'échange" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage is not available as Position exceeds max. allowed leverage. <0>Read more</0>." -msgstr "" +msgstr "Maintenir le levier n'est pas disponible car la position dépasse le levier max. autorisé. <0>En savoir plus</0>." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add {0} to Metamask" -msgstr "" +msgstr "Ajouter {0} à Metamask" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Loss" -msgstr "" +msgstr "Stop Loss échoué" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Profit" -msgstr "" +msgstr "Profit quotidien" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX tokens can be staked or vested at any time." -msgstr "Les tokens esGMX peuvent être échangés ou acquis à tout moment." +msgstr "Les tokens esGMX peuvent être stakés ou vestés à tout moment." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy ETH directly on Arbitrum or transfer it there." -msgstr "" +msgstr "Acheter ETH directement sur Arbitrum ou le transférer là-bas." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 110 symbols exceeded" -msgstr "" +msgstr "Max. 110 symboles dépassé" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx @@ -7948,11 +8045,11 @@ msgstr "Transaction échouée" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "COLLATERAL" -msgstr "" +msgstr "COLLATÉRAL" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued price impact rebates. They will become claimable after approximately ten days.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "Rabais d'impact sur le prix accumulés. Ils deviendront réclamables après environ dix jours.<0/><1/><2>En savoir plus</2>." #: src/components/Exchange/PositionEditor.jsx #: src/pages/Stake/VesterDepositModal.tsx @@ -7968,41 +8065,46 @@ msgstr "Taux net" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "2nd Place" -msgstr "" +msgstr "2e Place" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" -msgstr "" +msgstr "DERNIER PRIX" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-sign" -msgstr "" +msgstr "Re-signer" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" -msgstr "" +msgstr "Ordres ({ordersCount})" #: src/components/TVChartContainer/constants.ts msgid "Limit - Long Inc." -msgstr "" +msgstr "Limite - Augm. Long" #: src/pages/Stake/ClaimModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0>voting power before claiming." -msgstr "" +msgstr "<0>Déléguez votre pouvoir de vote {0} GMX DAO non délégué</0> avant de réclamer." #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." -msgstr "" +msgstr "Vous serez long {indexSymbol} depuis votre position longue, ainsi que depuis votre collatéral {collateralSymbol}. Le prix de liquidation est plus élevé par rapport à l'utilisation d'un stablecoin comme collatéral car la valeur du collatéral changera avec son prix." + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<0>{0}</0> tokens ont été convertis en GMX à partir des <1>{1}</1> esGMX déposés pour le vesting." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" -msgstr "" +msgstr "Ordre de vente annulé" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "" +#~ msgid "Last 30 days" +#~ msgstr "Les 30 derniers jours" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8012,11 +8114,7 @@ msgstr "Prix d'exécution" #: src/components/Exchange/OrdersList.jsx msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." -msgstr "Le prix auquel l'ordre peut être exécuté peut différer légèrement du prix du graphique, car les ordres de la bourse peuvent modifier le prix alors que les ordres à cours limité ou à seuil de déclenchement ne le peuvent pas." - -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "" +msgstr "Le prix auquel l'ordre peut être exécuté peut différer légèrement du prix du graphique car les ordres au marché peuvent changer le prix tandis que les ordres limite / déclenchement ne le peuvent pas." #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8029,10 +8127,14 @@ msgstr "À propos" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued positive funding fees in positions not yet claimable.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "Frais de financement positifs accumulés dans les positions non encore réclamables.<0/><1/>Ils deviennent disponibles après modification de la position en l'augmentant ou la diminuant, en déposant ou retirant du collatéral, ou en réglant les frais via le bouton \"Régler\"." #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "Fee values do not include incentives." +msgstr "Les valeurs de frais n'incluent pas les incitations." + +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" msgstr "" #: src/components/Referrals/AddAffiliateCode.jsx @@ -8041,11 +8143,12 @@ msgstr "Générer un code de parrainage" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Price Impact" -msgstr "" +msgstr "Impact élevé sur le prix d'échange" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx @@ -8055,148 +8158,151 @@ msgstr "Échanger" #: src/domain/synthetics/orders/utils.tsx msgid "long" -msgstr "" +msgstr "long" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h High" -msgstr "" +msgstr "Haut sur 24h" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code is not yet registered on {nonTakenNetworkNames}, you will not receive rebates there.<0/><1/>Switch your network to create this code on {nonTakenNetworkNames}." -msgstr "Ce code n'est pas encore enregistré sur {nonTakenNetworkNames}, vous ne recevrez pas de remises là-bas.<0/><1/>Passez votre réseau pour créer ce code sur {nonTakenNetworkNames}." +msgstr "Ce code n'est pas encore enregistré sur {nonTakenNetworkNames}, vous ne recevrez pas de rabais là-bas.<0/><1/>Changez de réseau pour créer ce code sur {nonTakenNetworkNames}." #: src/components/Exchange/TradeHistory.jsx msgid "Deposit {0} USD into {1} {longOrShortText}" -msgstr "Déposer {0} USD sur {1} {longOrShortText}" +msgstr "Déposer {0} USD dans {1} {longOrShortText}" #: src/pages/Dashboard/GmxCard.tsx msgid "Distribution" -msgstr "" +msgstr "Distribution" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "Langue" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Transfer" -msgstr "Transfert complet" +msgstr "Compléter le transfert" #: src/pages/Home/Home.tsx msgid "Total Users" -msgstr "Nombre total d'utilisateurs" +msgstr "Utilisateurs totaux" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee" -msgstr "" +msgstr "Valeur nette : Collatéral initial + PnL - Frais d'emprunt - Frais de financement négatifs - Frais de fermeture" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below lowest limit price" -msgstr "" +msgstr "Prix de déclenchement inférieur au prix limite le plus bas" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Exchange/PositionShare.tsx msgid "Share Position" -msgstr "Partager la Position" +msgstr "Partager la position" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Min leverage: 1.1x" -msgstr "Levier min: 1.1x" +msgstr "Levier min. : 1.1x" #: src/components/Exchange/FeesTooltip.tsx msgid "Deposit Fee" -msgstr "" +msgstr "Frais de dépôt" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter a new size or price" -msgstr "" +msgstr "Saisir une nouvelle taille ou prix" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount exceeded" -msgstr "" +msgstr "Montant max. du pool dépassé" #: src/components/Exchange/SwapBox.jsx msgid "The borrow fee is calculated as (assets borrowed) / (total assets in pool) * 0.01% per hour." -msgstr "La commission d'emprunt est calculée comme (actifs empruntés) / (actifs totaux dans le pool) * 0,01% par heure." +msgstr "Les frais d'emprunt sont calculés comme (actifs empruntés) / (actifs totaux dans le pool) * 0,01 % par heure." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Unknown order" -msgstr "" +msgstr "Ordre inconnu" #: src/pages/Jobs/Jobs.jsx msgid "No open positions at GMX currently" -msgstr "Aucune position ouverte actuellement chez GMX" +msgstr "Aucune position ouverte chez GMX actuellement" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Max Action Count Reached. <0>Click here</0> to update." -msgstr "" +msgstr "Nombre max. d'actions atteint. <0>Cliquez ici</0> pour mettre à jour." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Price: {executionPriceDisplay} USD" -msgstr "" +msgstr "Exécuter l'ordre : {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Prix : {executionPriceDisplay} USD" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "{column}" -msgstr "" +msgstr "{column}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You do not have any eligible trade during the competition window." -msgstr "" +msgstr "Vous n'avez aucune transaction éligible pendant la fenêtre de compétition." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing longs and<0/>decreasing shorts." -msgstr "" +msgstr "Prix d'exécution pour augmenter les longs et<0/>diminuer les shorts." -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" -msgstr "" +msgstr "Les 30 derniers j" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Dashboards" -msgstr "Tableaux de bords" +msgstr "Tableaux de bord" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create TWAP {0} order" -msgstr "" +msgstr "Créer un ordre TWAP {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Leftover collateral below {0} USD" -msgstr "" +msgstr "Collatéral restant inférieur à {0} USD" #: src/domain/synthetics/positions/utils.ts msgid "trigger" -msgstr "" +msgstr "déclenchement" #: src/components/Glp/GlpSwap.jsx msgid "Please <0>read here</0> for more information." -msgstr "" +msgstr "Veuillez <0>lire ici</0> pour plus d'informations." + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "7j" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" -msgstr "" +msgstr "Rage Trade" #: src/pages/Home/Home.tsx msgid "Trade BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet" -msgstr "" +msgstr "Tradez BTC, ETH, AVAX et d'autres cryptos majeures avec un levier jusqu'à 100x directement depuis votre portefeuille" #: src/pages/Stake/ClaimModal.tsx msgid "Claim GMX Rewards" -msgstr "" +msgstr "Réclamer les récompenses GMX" #: src/components/Referrals/JoinReferralCode.tsx #: src/components/Referrals/JoinReferralCode.tsx msgid "Enter Referral Code" -msgstr "Indiquer le code de parrainage" +msgstr "Saisir le code de parrainage" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" -msgstr "" +msgstr "EIP-4844, 20-27 Mar" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8206,7 +8312,7 @@ msgstr "Transfert échoué." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit amount is insufficient to bring leverage below the max allowed leverage of 100x" -msgstr "" +msgstr "Le montant du dépôt est insuffisant pour ramener le levier en dessous du levier max. autorisé de 100x" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -8229,12 +8335,13 @@ msgstr "Prix de marque" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Open {marketName} in Explorer" -msgstr "" +msgstr "Ouvrir {marketName} dans l'explorateur" #: src/components/Exchange/TradeHistory.jsx msgid "Partial Liquidation" msgstr "Liquidation partielle" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" @@ -8242,36 +8349,36 @@ msgstr "Volume sur 24h" #: src/pages/Dashboard/DashboardV2.tsx msgid "Total Stats" -msgstr "" +msgstr "Stats totales" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Frequency" -msgstr "" +msgstr "Fréquence" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit sent." -msgstr "" +msgstr "Dépôt activé envoyé." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Withdrawing {0} from {positionText}" -msgstr "" +msgstr "Retrait de {0} de {positionText}" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community Projects" -msgstr "Projets de la Communauté" +msgstr "Projets communautaires" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/domain/synthetics/orders/utils.tsx msgid "Limit Swap" -msgstr "" +msgstr "Échange limité" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>Execution prices for decreasing shorts." -msgstr "" +msgstr "Aucune liquidité disponible pour augmenter les longs pour<0/>cette taille. Taille max. long : {0}<1/><2/>Prix d'exécution pour diminuer les shorts." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H VOL." -msgstr "" +msgstr "VOL. 24H" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -8280,23 +8387,23 @@ msgstr "Vendre pour {0}" #: src/components/Exchange/PositionSeller.jsx msgid "Fees are higher than Collateral" -msgstr "" +msgstr "Les frais sont supérieurs au collatéral" #: src/components/Referrals/TradersStats.tsx msgid "You will receive a {currentTierDiscount}% discount on opening and closing fees." -msgstr "" +msgstr "Vous recevrez une remise de {currentTierDiscount} % sur les frais d'ouverture et de fermeture." #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX team" -msgstr "" +msgstr "Chat anonyme avec l'équipe GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Market Token Price Chart" -msgstr "" +msgstr "Graphique de prix du token de marché GMX" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Addresses" -msgstr "" +msgstr "Adresses principales" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8305,19 +8412,19 @@ msgstr "Continuer" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily and Cumulative PnL" -msgstr "" +msgstr "PnL quotidien et cumulé" #: src/components/Exchange/PositionEditor.jsx msgid "Edit {longOrShortText} {0}" -msgstr "" +msgstr "Modifier {longOrShortText} {0}" #: src/domain/synthetics/orders/utils.tsx msgid "short" -msgstr "" +msgstr "short" #: src/components/RatingToast/RatingToast.tsx msgid "Very likely" -msgstr "" +msgstr "Très probable" #: src/components/Exchange/ConfirmationBox.jsx msgid "I am aware of the trigger orders" @@ -8325,35 +8432,39 @@ msgstr "Je suis conscient des ordres de déclenchement" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{count, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{count, plural, one {Ordre} other {# Ordres}}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V1" -msgstr "" +msgstr "Volume sur V1" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche trading incentives" -msgstr "" +msgstr "Incitations au trading Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Decrease" -msgstr "Demander une réduction du marché" +msgstr "Demander une diminution de marché" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max. Leverage exceeded" -msgstr "" +msgstr "Levier max. dépassé" #: src/components/Exchange/OrderEditor.jsx msgid "Price is above Mark Price" -msgstr "Le prix est supérieur à celui de la marque" +msgstr "Le prix est supérieur au prix de marque" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "Cette position pourrait être liquidée, hors tout mouvement de prix, en raison des taux de financement et d'emprunt réduisant le collatéral de la position au fil du temps." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Votre portefeuille, vos clés. Vous signez chaque transaction hors chaîne. Les trades utilisent des RPC premium sponsorisés par GMX pour la fiabilité, même pendant la congestion du réseau. Paiements de gaz en USDC ou WETH." + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8369,26 +8480,26 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Order Execution Price" -msgstr "Prix ​​d'exécution de l'ordre" +msgstr "Prix d'exécution de l'ordre" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Slippage is too high" -msgstr "" +msgstr "Le glissement est trop élevé" #: src/components/Synthetics/MarketsList/NetFeeHeaderTooltipContent.tsx msgid "Net rate combines funding and borrowing fees but excludes open, swap or impact fees.<0/><1/>Funding fees help to balance longs and shorts and are exchanged between both sides. <2>Read more</2>.<3/><4/>Borrowing fees help ensure available liquidity. <5>Read more</5>." -msgstr "Le taux net combine les frais de financement et d'emprunt, mais exclut les frais d'ouverture, d'échange ou d'impact.<0/><1/>Les frais de financement aident à équilibrer les longs et les shorts et sont échangés entre les deux côtés. <2>En savoir plus</2>.<3/><4/>Les frais d'emprunt aident à assurer la liquidité disponible. <5>En savoir plus</5>." +msgstr "Le taux net combine les frais de financement et d'emprunt mais exclut les frais d'ouverture, d'échange ou d'impact.<0/><1/>Les frais de financement aident à équilibrer les longs et shorts et sont échangés entre les deux côtés. <2>En savoir plus</2>.<3/><4/>Les frais d'emprunt aident à assurer la liquidité disponible. <5>En savoir plus</5>." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx msgid "Accrued Price Impact Rebates" -msgstr "" +msgstr "Rabais d'impact sur le prix accumulés" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Yesterday" -msgstr "" +msgstr "Hier" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Deposit" @@ -8396,35 +8507,35 @@ msgstr "Demander un dépôt" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit not enough to cover fees" -msgstr "" +msgstr "Dépôt insuffisant pour couvrir les frais" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Number of Parts" -msgstr "" +msgstr "Nombre de parties" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Cancelling {ordersText}" -msgstr "" +msgstr "Annulation de {ordersText}" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivated" -msgstr "" +msgstr "Désactivé" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Ecosystem Projects" -msgstr "" +msgstr "Projets écosystème" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in ..." -msgstr "" +msgstr "L'ordre au marché sera annulable dans ..." #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Price Impact Rebate Claimed" -msgstr "" +msgstr "Rabais d'impact sur le prix réclamé" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX" -msgstr "" +msgstr "Chat anonyme avec GMX" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx @@ -8440,31 +8551,31 @@ msgstr "Limite" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "You will receive at least {toAmountText} if this order is executed. This price is being updated in real time based on swap fees and price impact." -msgstr "" +msgstr "Vous recevrez au moins {toAmountText} si cet ordre est exécuté. Ce prix est mis à jour en temps réel basé sur les frais d'échange et l'impact sur le prix." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Acceptable price does not apply to stop loss orders, as they will be executed regardless of any price impact." -msgstr "" +msgstr "Le prix acceptable ne s'applique pas aux ordres stop loss, car ils seront exécutés indépendamment de tout impact sur le prix." #: src/components/InterviewModal/InterviewModal.tsx msgid "We'll then schedule a chat or interview with you. As a thank you, you'll receive <0>100 <1/></0> for providing your feedback." -msgstr "" +msgstr "Nous planifierons ensuite un chat ou un entretien avec vous. En remerciement, vous recevrez <0>100 <1/></0> pour votre feedback." #: src/domain/synthetics/positions/utils.ts msgid "limit" -msgstr "" +msgstr "limite" #: src/components/SettingsModal/SettingsModal.tsx msgid "Trading Settings" -msgstr "" +msgstr "Paramètres de trading" #: src/components/Exchange/OrdersToa.jsx msgid "<0>Insufficient liquidity to execute the order</0><1>The mark price which is an aggregate of exchange prices did not reach the specified price</1><2>The specified price was reached but not long enough for it to be executed</2><3>No keeper picked up the order for execution</3>" -msgstr "<0>Liquidité insuffisante pour exécuter l'ordre</0><1>Le prix de référence, qui est un agrégat de prix d'échanges, n'a pas atteint le prix spécifié</1><2>Le prix spécifié a été atteint mais pas assez longtemps pour qu'il soit exécuté.</2><3>Aucun gardien n'a pris l'ordre d'exécution</3>" +msgstr "<0>Liquidité insuffisante pour exécuter l'ordre</0><1>Le prix de marque qui est un agrégat de prix d'exchanges n'a pas atteint le prix spécifié</1><2>Le prix spécifié a été atteint mais pas assez longtemps pour être exécuté</2><3>Aucun keeper n'a pris l'ordre pour exécution</3>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Your position's collateral after deducting fees:" -msgstr "Le collatéral de votre position après déduction des frais:" +msgstr "Le collatéral de votre position après déduction des frais :" #: src/components/Glp/GlpSwap.jsx msgid "Selling..." @@ -8472,7 +8583,7 @@ msgstr "Vente en cours..." #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute as the max. allowed leverage is exceeded. Consider decreasing the order's leverage by editing and decreasing its size. <0>Read more</0>." -msgstr "" +msgstr "L'ordre pourrait ne pas s'exécuter car le levier max. autorisé est dépassé. Envisagez de diminuer le levier de l'ordre en modifiant et en réduisant sa taille. <0>En savoir plus</0>." #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx @@ -8499,15 +8610,15 @@ msgstr "Lien" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "Long Positions" -msgstr "Positions long" +msgstr "Positions longues" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Depositing {0} to {positionText}" -msgstr "" +msgstr "Dépôt de {0} vers {positionText}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee" -msgstr "" +msgstr "Frais réseau max." #: src/domain/tokens/approveTokens.tsx msgid "Approval was cancelled" @@ -8515,16 +8626,16 @@ msgstr "L'approbation a été annulée" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee and pay a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "Les positions {longOrShort} ne paient pas de frais de financement et paient des frais d'emprunt de {borrowRate} par heure." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Increase active: {0}, executed: {1}, cancelled: {2}" -msgstr "Augmentation active: {0}, exécuté: {1}, annulé: {2}" +msgstr "Augmentation active : {0}, exécutée : {1}, annulée : {2}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does not impact your collateral." -msgstr "" +msgstr "Frais réseau maximum payés au réseau. Ce frais est un coût blockchain non spécifique à GMX, et il n'impacte pas votre collatéral." #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX Pages" @@ -8532,28 +8643,28 @@ msgstr "Pages GMX" #: src/components/Exchange/SwapBox.jsx msgid "{0} is required for collateral." -msgstr "{0} est requis comme collatéral." +msgstr "{0} est requis pour le collatéral." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Options Protocol" -msgstr "Protocole d'options décentralisées" +msgstr "Protocole d'options décentralisé" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Swap Part" -msgstr "" +msgstr "Mettre à jour la partie d'échange TWAP" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Part" -msgstr "" +msgstr "Mettre à jour la partie TWAP" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Account Transfer" -msgstr "Compléter le Transfert de compte" +msgstr "Compléter le transfert de compte" #: src/pages/Stake/ClaimModal.tsx msgid "Claim Rewards" -msgstr "" +msgstr "Réclamer les récompenses" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Copy Address" @@ -8561,62 +8672,62 @@ msgstr "Copier l'adresse" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Pending Transfer Approval" -msgstr "" +msgstr "Approbation de transfert en attente" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{0}{toTokenIcon}{1}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> vers </1>{0}{toTokenIcon}{1}" #: src/components/DepthChart/DepthChart.tsx msgid "ORACLE PRICE" -msgstr "" +msgstr "PRIX ORACLE" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "" +#~ msgid "For detailed stats:" +#~ msgstr "Pour des stats détaillées :" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "Total Earned Fees" -msgstr "" +msgstr "Frais totaux gagnés" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a ratio" -msgstr "" +msgstr "Saisir un ratio" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Proof of Reserves" -msgstr "" +msgstr "Preuve de réserves" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "General Performance Details" -msgstr "" +msgstr "Détails de performance générale" #: src/pages/Stake/VesterWithdrawModal.tsx msgid "<0>This will withdraw and unreserve all tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button under the Total Rewards section.<5/><6/></0>" -msgstr "" +msgstr "<0>Cela retirera et déservira tous les tokens ainsi que mettra en pause le vesting.<1/><2/>Les tokens esGMX convertis en GMX seront réclamés et resteront en tant que tokens GMX.<3/><4/>Pour réclamer des tokens GMX sans retirer, utilisez le bouton \"Réclamer\" sous la section Récompenses totales.<5/><6/></0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Price conditions are met" -msgstr "Conditions de prix satisfaites" +msgstr "Les conditions de prix sont remplies" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Backing Composition" -msgstr "" +msgstr "Composition de soutien" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeBank" -msgstr "" +msgstr "DeBank" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "You have {balanceFormatted} remaining in your old version 1CT subaccount." -msgstr "" +msgstr "Vous avez {balanceFormatted} restant dans votre ancien sous-compte 1CT version." #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Unstake GMX" -msgstr "" +msgstr "Unstaker GMX" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit failed!" -msgstr "" +msgstr "Dépôt échoué !" diff --git a/src/locales/ja/messages.po b/src/locales/ja/messages.po index 1941e9697e..9458a49b24 100644 --- a/src/locales/ja/messages.po +++ b/src/locales/ja/messages.po @@ -15,7 +15,7 @@ msgstr "" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Unrealized Base PnL" -msgstr "" +msgstr "未実現ベースPnL" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/NftWallet/NftWallet.jsx @@ -24,11 +24,11 @@ msgstr "ウォレットが接続されていません" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pear Protocol" -msgstr "" +msgstr "Pear Protocol" #: src/components/RatingToast/RatingToast.tsx msgid "Not likely" -msgstr "" +msgstr "あまりない" #: src/pages/Home/Home.tsx msgid "Available on your preferred network" @@ -49,12 +49,12 @@ msgstr "接続停止" #: src/components/Glp/GlpSwap.jsx msgid "Buy GM tokens before the epoch resets in {0} to be eligible for the Bonus Rebate. Alternatively, wait for the epoch to reset to redeem GLP and buy GM within the same epoch." -msgstr "" +msgstr "ボーナスリベートを受けるためには、エポックがリセットされる{0}前にGMトークンを購入してください。あるいは、エポックのリセットを待ってGLPを償還し、同じエポック内でGMを購入してください。" #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" msgstr "価格" @@ -62,15 +62,15 @@ msgstr "価格" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "receive" -msgstr "" +msgstr "受け取り" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Referrals Dashboard" -msgstr "" +msgstr "GMX紹介ダッシュボード" #: src/pages/Stake/ClaimModal.tsx msgid "Stake GMX Rewards" -msgstr "" +msgstr "GMX報酬をステーク" #: src/components/Glp/SwapErrorModal.tsx msgid "There is not enough liquidity in a single token for your size. Please check the Save on Fees section and consider splitting your order into several different ones" @@ -78,23 +78,23 @@ msgstr "1種類のトークンでその額のスワップを実現するため #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx msgid "Decrease the withdraw size to match the max. <0>Read more</0>.<1/><2/><3>Set max withdrawal</3>" -msgstr "" +msgstr "最大額に合わせて出金額を減らしてください。<0>詳細を読む</0>。<1/><2/><3>最大出金を設定</3>" #: src/domain/synthetics/userFeedback/utils.ts msgid "What would have made your rating a 9 or 10?" -msgstr "" +msgstr "評価を9または10にするためには何が必要でしたか?" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" msgstr "{existingTriggerOrderLength, plural, one {このポジションをオープンした後ただちに執行される可能性があるアクティブなトリガー注文があります。注文をキャンセルするか、または確認を押して続けてください。} other {このポジションをオープンした後ただちに執行される可能性があるアクティブなトリガー注文が#あります。注文をキャンセルするか、または確認を押して続けてください。}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" -msgstr "" +msgstr "デバッグ値を表示" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Loss" -msgstr "" +msgstr "ストップロスの執行" #: src/pages/Exchange/Exchange.tsx msgid "Could not decrease {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." @@ -106,15 +106,19 @@ msgstr "同意する" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "BonsaiDAO" -msgstr "" +msgstr "BonsaiDAO" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Approval signed" +msgstr "承認署名完了" + +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" msgstr "" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" -msgstr "" +msgstr "1日あたりの損失" #: src/pages/Home/Home.tsx msgid "GMX is currently live on Arbitrum and Avalanche." @@ -122,7 +126,7 @@ msgstr "GMXは現在ArbitrumとAvalancheで稼働中です。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP Swap" -msgstr "" +msgstr "TWAPスワップを作成" #: src/components/Glp/GlpSwap.jsx msgid "Max Pool Capacity" @@ -137,7 +141,7 @@ msgstr "Avalanche上のイールドオプティマイザー" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum" -msgstr "" +msgstr "Arbitrum" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -149,11 +153,11 @@ msgstr "注文 ({0})" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "You have not deposited any tokens for vesting." -msgstr "" +msgstr "べスティングのためのトークンを入金していません。" #: src/domain/synthetics/positions/utils.ts msgid "stop loss" -msgstr "" +msgstr "ストップロス" #: src/components/Exchange/OrdersList.jsx #: src/components/Referrals/AffiliatesStats.tsx @@ -166,15 +170,15 @@ msgstr "タイプ" #: src/components/Exchange/PositionSeller.jsx msgid "Order submitted!" -msgstr "" +msgstr "注文申し込み完了!" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Updating {updateOrdersCount} TP/SL order(s)" -msgstr "" +msgstr "{updateOrdersCount}件のTP/SL注文を更新中" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "RabbitHole" -msgstr "" +msgstr "RabbitHole" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is above its target weight.<0/><1/>Get lower fees to <2>swap</2> tokens for {1}." @@ -183,19 +187,19 @@ msgstr "{0}はターゲットウェイトを超過しています。<0/><1/>ト #: src/domain/synthetics/markets/createGlvWithdrawalTxn.ts #: src/domain/synthetics/markets/createWithdrawalTxn.ts msgid "Withdrawal error." -msgstr "" +msgstr "出金エラー。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit" -msgstr "" +msgstr "指値失敗" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Performance" -msgstr "" +msgstr "パフォーマンス" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized return of the pool or vault over the selected period, compared to a benchmark that follows Uniswap V2–style rebalancing of the backing tokens in the same GM pool or GLV vault.<0/><1/>Annualized figures based on short periods may be distorted by short-term volatility.<2/><3/>For detailed stats and comparisons, see the <4>GMX V2 LP Dashboard</4>." -msgstr "" +msgstr "選択された期間におけるプールまたはボールトの年換算リターンで、同じGMプールまたはGLVボールト内の裏付けトークンのUniswap V2スタイルのリバランスに従ったベンチマークと比較。<0/><1/>短期期間に基づく年換算値は短期ボラティリティにより歪む可能性があります。<2/><3/>詳細な統計と比較については、<4>GMX V2 LPダッシュボード</4>を参照してください。" #: src/pages/Home/Home.tsx msgid "Decentralized<0/>Perpetual Exchange" @@ -203,52 +207,51 @@ msgstr "分散型<0/>パーペチュアル取引所" #: src/pages/Stake/VesterDepositModal.tsx msgid "Current Reserved" -msgstr "" +msgstr "現在のリザーブ" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Arbitrum" -msgstr "" +msgstr "V2 Arbitrum" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" -msgstr "" +msgstr "EIP-4844, 3月13-20日" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Total size" -msgstr "" +msgstr "合計サイズ" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express Trading" -msgstr "" +msgstr "エクスプレストレーディングを試す" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if there is not enough available liquidity." -msgstr "" +msgstr "注文が執行されない稀なケースがある可能性があります。例えば、チェーンがダウンしてオラクルレポートが生成されない場合や、十分な流動性が利用できない場合などです。" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Buy {gasPaymentTokensText}" -msgstr "" +msgstr "{gasPaymentTokensText}を購入" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Show error" -msgstr "" +msgstr "エラーを表示" #: src/components/Exchange/SwapBox.jsx msgid "Trigger orders, increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions using market orders." -msgstr "" +msgstr "トリガー注文、ポジション増加(市場または指値)、担保追加、GMX V1でのスワップは現在無効です。既存のポジションは市場注文を使用してクローズできます。" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0}はこの市場のGMを購入するために指定された購入上限まで使用できます。" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High TWAP Network Fee" -msgstr "" +msgstr "高いTWAPネットワーク手数料" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Market Swap" @@ -256,12 +259,12 @@ msgstr "マーケットスワップの執行" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit submitted!" -msgstr "" +msgstr "入金申し込み完了!" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Volume" -msgstr "" +msgstr "出来高" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit Swap" @@ -269,7 +272,7 @@ msgstr "指値スワップのキャンセル" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{seconds}s" -msgstr "" +msgstr "{seconds}秒" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Required" @@ -277,7 +280,7 @@ msgstr "{0}が必要です" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "No incentives distribution history yet." -msgstr "" +msgstr "インセンティブ分配履歴がまだありません。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -301,19 +304,19 @@ msgstr "状況を見る" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Buyable" -msgstr "" +msgstr "購入可能" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" -msgstr "" +msgstr "TWAP分割数" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee - UI Fee" -msgstr "" +msgstr "ネット価値: 初期担保 + PnL - 借入手数料 - 負のファンディング手数料 - クローズ手数料 - UI手数料" #: src/components/Exchange/ConfirmationBox.jsx msgid "The spread is > 1%, please ensure the trade details are acceptable before confirming" -msgstr "" +msgstr "スプレッドが1%を超えています。確認前に取引詳細が許容可能であることを確認してください" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}<0/><1/>Please mint GLP using another token" @@ -321,7 +324,7 @@ msgstr "{0}の最大プールキャパシティ到達<0/><1/>別のトークン #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a value" -msgstr "" +msgstr "値を入力" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT Address" @@ -335,24 +338,24 @@ msgstr "利用可能" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "@username" -msgstr "" +msgstr "@ユーザー名" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Short Inc." -msgstr "" +msgstr "ストップ市場 - ショート増加" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Take Profit" -msgstr "" +msgstr "テイクプロフィット失敗" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Confirm Settle" -msgstr "" +msgstr "決済を確認" #: src/domain/synthetics/markets/createDepositTxn.ts #: src/domain/synthetics/markets/createGlvDepositTxn.ts msgid "Deposit error." -msgstr "" +msgstr "入金エラー。" #: src/pages/Exchange/Exchange.tsx msgid "Increased {tokenSymbol} {longOrShortText}, +{0} USD." @@ -360,19 +363,19 @@ msgstr "{tokenSymbol} {longOrShortText}を増やしました +{0} USD" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{updateOrdersCount} TP/SL order(s) updated" -msgstr "" +msgstr "{updateOrdersCount}件のTP/SL注文が更新されました" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price above mark price" -msgstr "" +msgstr "ストップ市場価格がマーク価格を上回っています" #: src/pages/Stake/StakeModal.tsx msgid "Pending {stakingTokenSymbol} approval" -msgstr "" +msgstr "{stakingTokenSymbol}の承認待ち" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions" -msgstr "" +msgstr "オープンポジション" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstaking..." @@ -384,11 +387,11 @@ msgstr "より低い手数料を見つけるために上の\"担保資産\"ト #: src/domain/synthetics/trade/utils/validation.ts msgid "The sellable cap for the pool GM: {0} [{1}] has been reached, as the tokens are reserved by traders. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "プールGM: {0} [{1}] の売却可能上限に達しました。トークンがトレーダーによってリザーブされているためです。別のプールを選択するか、売却サイズを減らすか、複数のプールから出金を分割してください。" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap TWAP: Swap tokens in evenly distributed parts over a specified time." -msgstr "" +msgstr "TWAPスワップ: 指定された時間に均等に分割してトークンをスワップ。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} short exceeded" @@ -396,17 +399,17 @@ msgstr "{0}の最大ショート値を超過しています" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GM balance" -msgstr "" +msgstr "GM残高不足" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token is a vault of automatically rebalanced GM tokens that accrue fees from leverage trading and swaps from the included markets. Backed by {0} and {1}." -msgstr "" +msgstr "このトークンは、含まれる市場からのレバレッジ取引とスワップから手数料を蓄積する自動的にリバランスされるGMトークンのボールトです。{0}と{1}によって裏付けられています。" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool USD exceeded" -msgstr "" +msgstr "最大プールUSDを超過" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -414,33 +417,35 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price below mark price" -msgstr "" +msgstr "指値価格がマーク価格を下回っています" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "sell" -msgstr "" +msgstr "売却" #: src/components/Exchange/SwapBox.jsx #: src/config/events.tsx msgid "Please migrate your positions to GMX V2." -msgstr "" +msgstr "ポジションをGMX V2に移行してください。" +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "ポジション" #: src/domain/synthetics/trade/utils/validation.ts msgid "{0} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{0}はスマートコントラクトアドレスに送信できません。別のトークンを選択してください。" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts msgid "Funding Claimed" -msgstr "" +msgstr "ファンディング請求済" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please enable <2>Express trading</2> under settings, which should offer a better experience." -msgstr "" +msgstr "RPCエラーにより取引が失敗しました。<0/><1/><2>エクスプレストレーディング</2>を設定で有効にしてください。これによりより良い体験が得られるはずです。" #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code added!" @@ -448,11 +453,11 @@ msgstr "紹介コードが追加されました!" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELLABLE" -msgstr "" +msgstr "売却可能" #: src/pages/Dashboard/StatsCard.tsx msgid "Treasury" -msgstr "" +msgstr "トレジャリー" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap {0} to {1} on 1inch" @@ -464,24 +469,22 @@ msgstr "{0} を {1}に1inchでスワップする" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "No pools matched." -msgstr "" - -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "" +msgstr "一致するプールがありません。" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "注文" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Increased {positionText}, +{0}" -msgstr "" +msgstr "{positionText}を増加、+{0}" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -489,27 +492,27 @@ msgid "Funding Fee" msgstr "ファンディング手数料" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "{0}市場プールの流動性が不足しています。この市場で別のプールを選択してください。別のプールを選択すると、既存のものとは異なる新しいポジションが開かれます。<0><1>{1}市場プールに切り替え</1>。</0>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" -msgstr "" +msgstr "指値注文を確認" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirm Withdraw" -msgstr "" +msgstr "出金を確認" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized PnL" -msgstr "" +msgstr "実現PnL" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX V2 Data Analytics within Telegram" -msgstr "" +msgstr "Telegram内のGMX V2データ分析" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer ETH from other networks to Arbitrum using any of the below options:" @@ -524,6 +527,7 @@ msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" msgstr "無効なトークン fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" @@ -532,36 +536,36 @@ msgstr "統計" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Price Impact Rebates" -msgstr "" +msgstr "価格影響リベートを請求" #: src/pages/Stake/VesterDepositModal.tsx msgid "Max Capacity" -msgstr "" +msgstr "最大キャパシティ" #: src/domain/synthetics/orders/utils.tsx msgid "Market Swap" msgstr "市場スワップ" -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "取引履歴" - #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" -msgstr "" +msgstr "もっと" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." +msgstr "ポジションの担保が{symbol}であり、初期価値が{indexName}ショートポジションサイズより高いため、担保価値は負のPnLをカバーするために増加し、清算価格はありません。" + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" msgstr "" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{actionsCount, plural, one {注文} other {# 注文}}" #: src/config/bridging.tsx msgid "Buy APE on Arbitrum with <0>Camelot</0>." -msgstr "" +msgstr "<0>Camelot</0>でArbitrum上のAPEを購入。" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You will need to be on this page to accept the transfer, <0>click here</0> to copy the link to this page if needed." @@ -577,7 +581,11 @@ msgstr "隠す" #: src/pages/Dashboard/GmxCard.tsx msgid "in liquidity" -msgstr "流動性" +msgstr "流動性で" + +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "" #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" @@ -590,17 +598,17 @@ msgstr "価格を入力" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V2" -msgstr "" +msgstr "V2のリベート" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives are airdropped weekly." -msgstr "" +msgstr "インセンティブは毎週エアドロップされます。" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "Acceptable Price Impact" -msgstr "" +msgstr "許容価格影響" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add to Metamask" @@ -608,20 +616,20 @@ msgstr "メタマスクに追加" #: src/pages/Stake/VesterDepositModal.tsx msgid "Insufficient staked tokens" -msgstr "" +msgstr "ステークされたトークン不足" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Telegram contact (optional)" -msgstr "" +msgstr "Telegram連絡先(任意)" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in {minutesText}{seconds}s." -msgstr "" +msgstr "市場注文は{minutesText}{seconds}秒でキャンセル可能になります。" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "providing liquidity" -msgstr "" +msgstr "流動性を提供" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Tap [Create Wallet] to start using your Web3 Wallet." @@ -629,15 +637,15 @@ msgstr "ウェブ3ウォレットを使用するには[ウォレットを作成] #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Plutus" -msgstr "" +msgstr "Plutus" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pairs Trading" -msgstr "" +msgstr "ペアトレーディング" #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX {versionName} {networkName} actions for all accounts." -msgstr "" +msgstr "すべてのアカウントのGMX {versionName} {networkName}アクション。" #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel submitted" @@ -645,7 +653,7 @@ msgstr "キャンセルが提出されました" #: src/components/Exchange/PositionSeller.jsx msgid "Please uncheck \"Keep Leverage\", or close a larger position amount." -msgstr "" +msgstr "\"レバレッジを維持\"のチェックを外すか、より大きなポジション額をクローズしてください。" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -654,7 +662,7 @@ msgstr "担保編集" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} ロングストップ市場: 価格がトリガー価格を下回ったときにショートポジションを{0}。" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -662,7 +670,11 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price above mark price" -msgstr "" +msgstr "指値価格がマーク価格を上回っています" + +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "建玉 (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" @@ -670,7 +682,7 @@ msgstr "ウォレットの作成またはインポート" #: src/pages/Stake/ClaimModal.tsx msgid "Stake esGMX Rewards" -msgstr "" +msgstr "esGMX報酬をステーク" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks and Settings" @@ -678,63 +690,56 @@ msgstr "ネットワークと設定" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max network fee buffer precision is 0.01%" -msgstr "" +msgstr "最大ネットワーク手数料バッファ精度は0.01%" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Max. Leverage Exceeded" -msgstr "" +msgstr "最大レバレッジ超過" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" msgstr "トークン検索" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeltaPrime" -msgstr "" +msgstr "DeltaPrime" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using Decentralized Exchange Aggregators:" -msgstr "" +msgstr "分散型取引所アグリゲーターを使用してGMXを購入:" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Min. Required Collateral" -msgstr "" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "" +msgstr "最低必要担保" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" -msgstr "" +msgstr "ランク" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average position size." -msgstr "" +msgstr "平均ポジションサイズ。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx msgid "{0} <0/><1> to </1>{1} <2/>" -msgstr "" +msgstr "{0} <0/><1> から </1>{1} <2/>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Market: {0} a short position at the current price." -msgstr "" +msgstr "{typeString} ショート市場: 現在の価格でショートポジションを{0}。" #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "Claim {totalUsd}" -msgstr "" +msgstr "{totalUsd}を請求" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Swap" -msgstr "" +msgstr "Yield Yakスワップ" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Vaultka" -msgstr "" +msgstr "Vaultka" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -745,24 +750,24 @@ msgstr "マーケット" #: src/domain/synthetics/userFeedback/utils.ts msgid "What did you like the most about our service?" -msgstr "" +msgstr "当サービスで最も気に入った点は何ですか?" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Paraswap" -msgstr "" +msgstr "Paraswap" #: src/components/TVChartContainer/constants.ts msgid "TP - Long Dec." -msgstr "" +msgstr "TP - ロング減少" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claimable Rebates" -msgstr "" +msgstr "請求可能リベート" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount reached" -msgstr "" +msgstr "最大プール額到達" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Market Orders" @@ -770,15 +775,15 @@ msgstr "市場注文" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we address your concerns and improve your experience?" -msgstr "" +msgstr "懸念を解決し、体験を改善するためにはどうしたらよいでしょうか?" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value locked takes into account:" -msgstr "" +msgstr "ロックされた合計価値は以下を考慮:" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending buy request" -msgstr "" +msgstr "購入リクエスト送信中" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can check your claim history <0>here</0>." @@ -786,7 +791,7 @@ msgstr "<0>こちら</0>で請求履歴を確認できます。" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable positive funding fees.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "請求可能な正のファンディング手数料。<0/><1/>ポジションを増加または減少、担保の入金または出金、または\"決済\"ボタンを使用して手数料を決済した後に利用可能になります。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -799,11 +804,11 @@ msgstr "注文のための許容価格" #: src/components/TVChartContainer/DynamicLine.tsx msgid "The order could not be updated" -msgstr "" +msgstr "注文を更新できませんでした" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Cross-chain one-click deposits into GM" -msgstr "" +msgstr "GMへのクロスチェーン1クリック入金" #: src/pages/Home/Home.tsx msgid "Open positions through a simple swap interface. Conveniently swap from any supported asset into the position of your choice." @@ -811,10 +816,12 @@ msgstr "シンプルなスワップインターフェースでポジションを #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives Distribution History" -msgstr "" +msgstr "インセンティブ分配履歴" + +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "一致する市場がありません" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" @@ -831,7 +838,7 @@ msgstr "{0} 価格" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} buyable amount exceeded" -msgstr "" +msgstr "最大{0}購入可能額超過" #: src/components/Glp/GlpSwap.jsx msgid "Sell submitted!" @@ -839,7 +846,7 @@ msgstr "売却申し込み完了!" #: src/components/Exchange/PositionSeller.jsx msgid "Closing..." -msgstr "" +msgstr "クローズ中..." #: src/components/Referrals/AddAffiliateCode.jsx msgid "Code already taken" @@ -847,31 +854,30 @@ msgstr "そのコードは既に使用されています" #: src/components/TVChartContainer/constants.ts msgid "SL - Short Dec." -msgstr "" +msgstr "SL - ショート減少" #: src/components/SettingsModal/SettingsModal.tsx msgid "Slippage should be less than -5%" -msgstr "" +msgstr "スリッページは-5%未満であるべきです" #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Acceptable Swap Impact" -msgstr "" +msgstr "許容スワップ影響" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "簡単なフォローアップ連絡で問題ない場合、Telegramを残してください" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized PnL" -msgstr "" +msgstr "未実現PnL" #: src/pages/Dashboard/OverviewCard.tsx msgid "This value may be higher on other websites due to the collateral of positions being included in the calculation." -msgstr "" +msgstr "この値はポジションの担保が計算に含まれるため、他のウェブサイトではより高くなる可能性があります。" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/pages/Stake/GlpCard.tsx @@ -881,7 +887,7 @@ msgstr "報酬" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Liq. {0} {longOrShortText}" -msgstr "" +msgstr "清算 {0} {longOrShortText}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -905,36 +911,36 @@ msgstr "GMXのガバナンスページ" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Money Market" -msgstr "" +msgstr "分散型マネーマーケット" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Stop Price" -msgstr "" +msgstr "ストップ価格" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "using GLV and GM tokens. Buying or staking GMX, or using referrals, is not supported at this time." -msgstr "" +msgstr "GLVおよびGMトークンを使用。GMXの購入またはステーク、または紹介の使用は現在サポートされていません。" #: src/pages/AccountDashboard/HistoricalLists.tsx msgid "Positions ({positionsCount})" -msgstr "" +msgstr "ポジション ({positionsCount})" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Trade GMX</0>" -msgstr "" +msgstr "<0>GMXをトレード</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "As network fees have increased, an additional network fee is needed." -msgstr "" +msgstr "ネットワーク手数料が増加したため、追加のネットワーク手数料が必要です。" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited" -msgstr "" +msgstr "入金済" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Limit: Swap tokens when the trigger price is reached." -msgstr "" +msgstr "スワップ制限: トリガー価格に達したときにトークンをスワップします。" #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP have been reserved for vesting." @@ -942,7 +948,7 @@ msgstr "{0} GLPがべスティングのためにリザーブされました。" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Selling {symbol}..." -msgstr "" +msgstr "{symbol}を売却中..." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -951,7 +957,7 @@ msgstr "{0}で購入" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Asset Management" -msgstr "" +msgstr "資産管理" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding..." @@ -959,7 +965,7 @@ msgstr "追加中" #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX {VERSION_NAME} {networkName} actions for all accounts." -msgstr "" +msgstr "すべてのアカウントのGMX {VERSION_NAME} {networkName}アクション。" #: src/components/Exchange/ConfirmationBox.jsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met" @@ -967,7 +973,7 @@ msgstr "価格の条件が満たされたとしても、あなたの注文を執 #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow <0>BTCUSD</0> price in real-time, along with other currency pair rates. The interactive charts offer advanced tools and a user-friendly interface for easier market analysis and decision-making." -msgstr "" +msgstr "GMXはTradingViewを使用してリアルタイムの暗号通貨チャートを提供します。<0>BTCUSD</0>価格をリアルタイムで簡単に追跡でき、他の通貨ペアレートも同様です。インタラクティブチャートは先進ツールとユーザー友好インターフェースを提供し、市場分析と意思決定を容易にします。" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap on 1inch" @@ -975,15 +981,15 @@ msgstr "1inchでスワップする" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Coingecko" -msgstr "" +msgstr "{0}をCoingeckoで開く" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buy {operationTokenSymbol}" -msgstr "" +msgstr "{operationTokenSymbol}を購入" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy GM: {0}" -msgstr "" +msgstr "GMを購入: {0}" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx @@ -993,35 +999,35 @@ msgstr "時価総額" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settled" -msgstr "" +msgstr "{positionName}手数料決済済" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average leverage used." -msgstr "" +msgstr "使用された平均レバレッジ。" #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/TotalRewardsCard.tsx msgid "Escrowed GMX" -msgstr "" +msgstr "エスクローGMX" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX for Liquidity Providers. For security reasons, we won't contact you first. Please send the message \"I’m a Liquidity Provider\" to our official telegram account:" -msgstr "" +msgstr "流動性プロバイダー向けGMX改善のための洞察をお願いします。セキュリティのため、最初に連絡しません。公式Telegramアカウントに\"I’m a Liquidity Provider\"とメッセージを送ってください:" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Insufficient Liquidity" -msgstr "" +msgstr "流動性不足" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "The max network fee is overestimated, including by the buffer set under settings. Upon execution, any excess network fee is sent back to your account." -msgstr "" +msgstr "最大ネットワーク手数料は設定の下のバッファを含めて過大見積もりです。執行時に余剰ネットワーク手数料はアカウントに返金されます。" #: src/components/Synthetics/GmList/GmListItem.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "TVL (Supply)" -msgstr "" +msgstr "TVL (供給)" #: src/components/ModalViews/RedirectModal.tsx msgid "Alternative links can be found in the <0>docs</0>.<1/><2/>By clicking Agree you accept the <3>T&Cs</3> and <4>Referral T&Cs</4>.<5/><6/>" @@ -1029,7 +1035,7 @@ msgstr "他にもリンクが <0>文書ページ</0>にあります。<1/><2/> #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "All Time" -msgstr "" +msgstr "全期間" #: src/components/Referrals/referralsHelper.js msgid "The referral code can't be more than {MAX_REFERRAL_CODE_LENGTH} characters." @@ -1048,26 +1054,26 @@ msgstr "GMXの基本" msgid "Referral Code" msgstr "紹介コード" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" -msgstr "" +msgstr "TradingViewによるチャート" #: src/pages/Stake/TotalRewardsCard.tsx msgid "GMX Staked Rewards" -msgstr "" +msgstr "GMXステーク報酬" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Staked Tokens" -msgstr "" +msgstr "ステークされたトークン" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Beefy" -msgstr "" +msgstr "Beefy" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake completed!" -msgstr "" +msgstr "アンステーク完了!" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1081,15 +1087,15 @@ msgstr "見積もり手数料返金" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Swaps" -msgstr "" +msgstr "GMXスワップ" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivating..." -msgstr "" +msgstr "無効化中..." #: src/components/Header/HomeHeaderLinks.tsx msgid "Protocol" -msgstr "" +msgstr "プロトコル" #: src/pages/Dashboard/OverviewCard.tsx msgid "Overview" @@ -1097,12 +1103,12 @@ msgstr "概要" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Allow all my tokens to be transferred to a new account" -msgstr "" +msgstr "すべてのトークンを新しいアカウントに転送することを許可" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche Max. APY: {0}" -msgstr "" +msgstr "Avalanche最大APY: {0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrdersList.jsx @@ -1120,19 +1126,19 @@ msgstr "担保" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Market" -msgstr "" +msgstr "ストップ市場をキャンセル" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit" -msgstr "" +msgstr "指値執行" #: src/components/AprInfo/AprInfo.tsx msgid "Base APY" -msgstr "" +msgstr "ベースAPY" #: src/components/TokenCard/TokenCard.tsx msgid "GMX V1 markets are disabled. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "GMX V1市場は無効です。GLPは段階的に廃止されており、GMX V1市場をサポートしなくなりました。" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -1150,26 +1156,32 @@ msgstr "GLP売却" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." -msgstr "" +msgstr "ポジションの担保が{symbol}であり、初期価値が{indexName}ロングポジションサイズより高いため、担保価値は負のPnLをカバーし、清算価格はありません。" + +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "CSV" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." -msgstr "" +msgstr "ショート清算" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Time limit expired." -msgstr "" +msgstr "ワンクリックトレーディング無効。時間制限超過。" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {composition} as per the composition displayed." -msgstr "" +msgstr "このトークンは{0}市場のレバレッジ取引とスワップから手数料を自動的に蓄積します。表示された構成に従って{composition}に露出しています。" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Buy Fee" -msgstr "" +msgstr "購入手数料" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "トークン" @@ -1179,27 +1191,23 @@ msgstr "出金リクエスト" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "1inch" -msgstr "" - -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "" +msgstr "1inch" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" -msgstr "" +msgstr "コピー済" #: src/components/Exchange/PositionEditor.jsx msgid "Requested deposit of {0} {1} into {2} {longOrShortText}." -msgstr "" +msgstr "{2} {longOrShortText}への{0} {1}の入金をリクエスト。" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid TWAP number of parts value" -msgstr "" +msgstr "無効なTWAP分割数値" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid network fee buffer value" -msgstr "" +msgstr "無効なネットワーク手数料バッファ値" #: src/components/Exchange/TradeHistory.jsx msgid "Request deposit into {0} {longOrShortText}" @@ -1207,41 +1215,41 @@ msgstr "{0} {longOrShortText}への入金をリクエスト" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "0x" -msgstr "" +msgstr "0x" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "FUNDING FEE" -msgstr "" +msgstr "ファンディング手数料" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Markets" -msgstr "" +msgstr "市場" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Real-time rants about GMX Trades" -msgstr "" +msgstr "GMXトレードのリアルタイムな不満" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "The total realized and unrealized profit and loss for the period, considering price impact and fees but excluding swap fees." -msgstr "" +msgstr "期間の合計実現および未実現損益で、価格影響と手数料を考慮し、スワップ手数料を除く。" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V2" -msgstr "" +msgstr "V2の出来高" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show less" -msgstr "" +msgstr "少なく表示" #: src/pages/Stake/Vesting.tsx msgid "Vest" -msgstr "" +msgstr "べスト" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in the GLP pools." -msgstr "" +msgstr "GLPプールのトークン合計価値。" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Select pool" @@ -1281,14 +1289,14 @@ msgstr "スワップ アクティブ: {0} 執行済: {1} キャンセル済: {2 #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Buy token on:" -msgstr "" +msgstr "トークンを購入:" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Price Impact" -msgstr "" +msgstr "実現価格影響" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit Swap" @@ -1296,7 +1304,11 @@ msgstr "指値スワップ失敗" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Liq. {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "清算 {longOrShortText} - {marketIndexName}" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "アクション" #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." @@ -1308,11 +1320,11 @@ msgstr "リベート総額" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {1} and {2} as per the composition displayed." -msgstr "" +msgstr "このトークンは{0}市場のレバレッジ取引とスワップから手数料を自動的に蓄積します。表示された構成に従って{1}と{2}に露出しています。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min order: {0}" -msgstr "" +msgstr "最低注文: {0}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -1321,44 +1333,44 @@ msgstr "ウォレットが接続されていません" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "TWAP Swap" -msgstr "" +msgstr "TWAPスワップ" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GM is the liquidity provider token for GMX V2 markets. Accrues 63% of the V2 markets generated fees." -msgstr "" +msgstr "GMはGMX V2市場の流動性プロバイダートークンです。V2市場生成手数料の63%を蓄積します。" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider adding a buffer of 0.30% to it so the order is more likely to be processed." -msgstr "" +msgstr "現在の価格影響は{0}です。注文が処理されやすくなるよう0.30%のバッファを追加することを検討してください。" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Hide error" -msgstr "" +msgstr "エラーを隠す" #: src/components/Referrals/TradersStats.tsx msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." -msgstr "" +msgstr "この紹介コードの所有者は、ティア{1}の標準{0}%の代わりにカスタム割引{currentTierDiscount}%を設定しています。" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "あなたのウォレット、あなたの鍵。ウォレットが提供する独自のRPCを使用して各取引をオンチェーンで署名。ガス支払いはETH。" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" -msgstr "" +msgstr "10 USD未満の残りポジション" #: src/config/bridging.tsx msgid "Mint tBTC using BTC with <0>Threshold</0>." -msgstr "" +msgstr "<0>Threshold</0>でBTCを使用してtBTCをミント。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Price Impact" -msgstr "" +msgstr "スワップ価格影響" #: src/domain/synthetics/userFeedback/utils.ts msgid "What issues did you encounter that led to your rating?" -msgstr "" +msgstr "評価につながった問題は何ですか?" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Address" @@ -1366,41 +1378,41 @@ msgstr "NFTアドレス" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancelled." -msgstr "" +msgstr "{orderText} がキャンセルされました。" #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} GLVプールは<0>インセンティブ付き{sparkle}。</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Set Max Leverage" -msgstr "" +msgstr "最大レバレッジを設定" #: src/components/Exchange/PositionSeller.jsx msgid "Insufficient Available Liquidity to swap to {0}:" -msgstr "" +msgstr "{0}へのスワップのための利用可能流動性不足:" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Created At" -msgstr "" +msgstr "作成日時" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Symbiosis" -msgstr "" +msgstr "Symbiosis" #: src/components/TokenSelector/TokenSelector.tsx msgid "No tokens matched." -msgstr "" +msgstr "一致するトークンがありません。" #: src/components/Exchange/TradeHistory.jsx msgid "Withdraw {0} USD from {1}{longOrShortText}" -msgstr "" +msgstr "{1}{longOrShortText}から{0} USDを出金" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "{orderTypeLabel} {positionText}, -{0}" -msgstr "" +msgstr "{orderTypeLabel} {positionText}, -{0}" #: src/pages/PageNotFound/PageNotFound.jsx #: src/pages/PageNotFound/PageNotFound.jsx @@ -1415,9 +1427,14 @@ msgstr "GMXポジション情報提供Telegramボット" msgid "account" msgstr "アカウント" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" +msgstr "" + #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Keep leverage at {0}" -msgstr "" +msgstr "{0}でレバレッジを維持" #: src/components/Exchange/SwapBox.jsx msgid "If you have an existing position, the position will be closed at {0} USD.<0/><1/>This exit price will change with the price of the asset.<2/><3/><4>Read more</4>." @@ -1425,7 +1442,7 @@ msgstr "もし現在ポジションがある場合、そのポジションは{0} #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAIL. LIQ." -msgstr "" +msgstr "利用可能流動性" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer Submitted" @@ -1433,17 +1450,17 @@ msgstr "移転申し込み完了" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Action limit exceeded." -msgstr "" +msgstr "ワンクリックトレーディング無効。アクション制限超過。" #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Shift GM" -msgstr "" +msgstr "GMをシフト" #: src/components/Exchange/PositionEditor.jsx msgid "Requested withdrawal of {0} USD from {1} {longOrShortText}." -msgstr "" +msgstr "{1} {longOrShortText}から{0} USDの出金をリクエスト。" #: src/pages/Exchange/Exchange.tsx msgid "Could not increase {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." @@ -1452,15 +1469,15 @@ msgstr "{tokenSymbol} {longOrShortText}を増やせませんでした。最大 #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swapped {0} for {1}" -msgstr "" +msgstr "{0}を{1}にスワップ" #: src/components/Referrals/AffiliatesStats.tsx msgid "Tier {0} ({currentRebatePercentage}% rebate)" -msgstr "" +msgstr "ティア {0} ({currentRebatePercentage}% リベート)" #: src/components/NotifyModal/NotifyModal.tsx msgid "Discover GMX Alerts" -msgstr "" +msgstr "GMX Alertsを発見" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -1469,7 +1486,7 @@ msgstr "Avalanche上の価格" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order creation failed." -msgstr "スワップ注文が作成できませんでした。" +msgstr "スワップ注文作成失敗。" #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx @@ -1478,7 +1495,7 @@ msgstr "ポジションをチャートに" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Unknown Order" -msgstr "" +msgstr "不明な注文" #: src/components/Exchange/ConfirmationBox.jsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity" @@ -1486,7 +1503,7 @@ msgstr "価格の条件が満たされ、さらに十分な流動性が存在し #: src/components/Exchange/FeesTooltip.tsx msgid "Swap Fee" -msgstr "" +msgstr "スワップ手数料" #: src/components/Glp/GlpSwap.jsx msgid "GLP sell disabled, pending {0} upgrade" @@ -1494,7 +1511,7 @@ msgstr "{0}アップグレード未完了のためGLP売却は停止中です" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient receive token liquidity" -msgstr "" +msgstr "受け取りトークン流動性不足" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements and Updates" @@ -1513,42 +1530,42 @@ msgstr "手数料" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche Fuji" -msgstr "" +msgstr "V2 Avalanche Fuji" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order cancelled" -msgstr "" +msgstr "シフト注文キャンセル" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order executed" -msgstr "" +msgstr "注文執行済" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Select Positions" -msgstr "" +msgstr "ポジションを選択" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "ロングポジションから{indexSymbol}をロングし、{collateralSymbol}担保から{collateralSymbol}をロングします。清算価格は{collateralSymbol}の価格に基づいて変動します。" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Failed to update order(s)" -msgstr "" +msgstr "注文の更新失敗" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche" -msgstr "" +msgstr "V2 Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Decrease" -msgstr "マーケット減額失敗" +msgstr "マーケット減少失敗" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Full market" -msgstr "" +msgstr "フル市場" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Wallet" @@ -1560,7 +1577,7 @@ msgstr "GMXのプロポーザル投票ページ" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy ETH directly on <0>Arbitrum</0> using these options:" -msgstr "" +msgstr "これらのオプションを使用して<0>Arbitrum</0>で直接ETHを購入できます:" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -1598,15 +1615,15 @@ msgstr "ネット価値" #: src/components/Synthetics/TableMarketFilter/MarketFilterBase.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Search Market" -msgstr "" +msgstr "市場検索" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the current price impact and set allowed slippage. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "注文の許容価格は現在の価格影響と設定された許容スリッページを含みます。執行価格はこの条件を満たす必要があります。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be higher than the limit price." -msgstr "" +msgstr "マーク価格が指値価格に達すると、注文は設定された許容価格影響を含む許容価格を保証して執行を試みます。負の価格影響がある場合、マーク価格は指値価格より高くなる必要がある可能性があります。" #: src/components/Synthetics/Claims/ClaimsHistory.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx @@ -1620,11 +1637,16 @@ msgstr "1日あたり借入手数料" #: src/components/SettingsModal/SettingsModal.tsx msgid "Number of parts must be between {MIN_TWAP_NUMBER_OF_PARTS} and {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "分割数は{MIN_TWAP_NUMBER_OF_PARTS}から{MAX_TWAP_NUMBER_OF_PARTS}の間でなければなりません" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Chinese)" -msgstr "" +msgstr "GMX (中国語)" + +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "検索" #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" @@ -1632,46 +1654,50 @@ msgstr "価格がマーク価格を下回っています" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GMX Vault" -msgstr "" +msgstr "GMXボールトから出金" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal submitted." -msgstr "" +msgstr "出金申し込み完了。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Referral Discount" -msgstr "" +msgstr "紹介割引" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee or a borrow fee." -msgstr "" +msgstr "{longOrShort}ポジションはファンディング手数料や借入手数料を支払いません。" #: src/pages/Dashboard/OverviewCard.tsx msgid "Fees for the past" -msgstr "" +msgstr "過去の手数料" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizations" -msgstr "" +msgstr "イールド最適化" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive (Approximate)" -msgstr "" +msgstr "受け取り(概算)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "No swap path found" -msgstr "" +msgstr "スワップパスが見つかりません" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "RPnL" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "組み合わせストップロスが最大(100%)です。既存値を減少させて注文を追加してください。" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "4-18 Places" -msgstr "" +msgstr "4-18位" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "MARKETS" @@ -1680,15 +1706,15 @@ msgstr "マーケット" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Max {0}" -msgstr "" +msgstr "最大 {0}" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {marketName} market. It is also exposed to {exposedToLabel} as per the composition displayed." -msgstr "" +msgstr "このトークンは{marketName}市場のレバレッジ取引とスワップから手数料を自動的に蓄積します。表示された構成に従って{exposedToLabel}に露出しています。" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Withdrew {0} from {positionText}" -msgstr "" +msgstr "{positionText}から{0}を出金" #: src/components/Exchange/ConfirmationBox.jsx msgid "Create Order" @@ -1700,7 +1726,7 @@ msgstr "利用率" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {0} for {1}" -msgstr "" +msgstr "{orderTypeText} {0} を {1}に" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GLP Vesting Vault" @@ -1708,11 +1734,11 @@ msgstr "送信側はGLPのべスティングボールトからすべてのトー #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Profit Fee" -msgstr "" +msgstr "高いスワップ利益手数料" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "WARNING: This position has a low amount of collateral after deducting fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "" +msgstr "警告: このポジションは手数料差引後の担保額が低いため、担保額を増やしてポジションの清算リスクを減らしてください。" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} long capacity" @@ -1720,7 +1746,7 @@ msgstr "{0}の最大ロングキャパシティ" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "" +msgstr "価格を入力" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Account" @@ -1728,7 +1754,7 @@ msgstr "アカウント" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available for wrapping or unwrapping native token {0}." -msgstr "" +msgstr "ネイティブトークン{0}のラップまたはアンラップではエクスプレストレーディングが利用できません。" #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1736,20 +1762,20 @@ msgstr "" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Close Fee" -msgstr "" +msgstr "クローズ手数料" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Airdrop" -msgstr "" +msgstr "V1エアドロップ" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX" -msgstr "" +msgstr "GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Uniswap or directly on GMX (make sure to select Arbitrum):" -msgstr "" +msgstr "UniswapからGMXを購入するか、GMXで直接(Arbitrumを選択してください):" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Close to execution price" @@ -1758,22 +1784,21 @@ msgstr "執行価格に近すぎます" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." -msgstr "" +msgstr "ガス残高不足のためエクスプレスおよびワンクリックトレーディングが利用できません。" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "" +#~ msgid "Global Leaderboard" +#~ msgstr "グローバルリーダーボード" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" -msgstr "" +msgstr "部分あたり最小サイズ: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above liq. price" -msgstr "" +msgstr "トリガー価格が清算価格を上回っています" #: src/pages/Home/Home.tsx msgid "Simple Swaps" @@ -1782,11 +1807,11 @@ msgstr "シンプルなスワップ" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "No results found" -msgstr "" +msgstr "結果が見つかりません" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Pair" -msgstr "" +msgstr "ペア" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx @@ -1796,11 +1821,11 @@ msgstr "最大 {0} out" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing shorts or<1/>decreasing longs for this size." -msgstr "" +msgstr "価格影響はありません。このサイズのショート増加またはロング減少のための単一<0/>執行価格があります。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Option-based Vaults" -msgstr "" +msgstr "オプションベースのボールト" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -1813,11 +1838,11 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Mark" -msgstr "" +msgstr "マーク" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage at {keepLeverageAtValue}" -msgstr "" +msgstr "{keepLeverageAtValue}でレバレッジを維持" #: src/pages/Dashboard/GmxCard.tsx msgid "not staked" @@ -1825,29 +1850,30 @@ msgstr "ステークされていない" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 2" -msgstr "" +msgstr "レイヤー2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates Distribution History" -msgstr "リベートの分配履歴" +msgstr "リベート分配履歴" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Negative Funding Fee" -msgstr "" +msgstr "蓄積された負のファンディング手数料" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit not checked" msgstr "利益喪失がチェックされていません" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" -msgstr "" +msgstr "GMを購入" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of close fee" -msgstr "" +msgstr "クローズ手数料の" #: src/components/Exchange/TradeHistory.jsx msgid "Increase {0} {longOrShortText}, +{1} USD, {2} Price: {3} USD" @@ -1859,11 +1885,11 @@ msgstr "esGMX (IOU)トークンのアドレスは{esGmxIouAddress}です。" #: src/components/NotifyModal/NotifyModal.tsx msgid "GMX Alerts" -msgstr "" +msgstr "GMX Alerts" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Show details" -msgstr "" +msgstr "詳細を表示" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -1872,47 +1898,47 @@ msgstr "手数料を削減するには別のアセットを支払いに使用し #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be lower than the limit price." -msgstr "" +msgstr "マーク価格が指値価格に達すると、注文は設定された許容価格影響を含む許容価格を保証して執行を試みます。負の価格影響がある場合、マーク価格は指値価格より低くなる必要がある可能性があります。" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy {0}" -msgstr "" +msgstr "{0}を購入" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "USD Value may not be accurate since the data does not contain prices for {0}" -msgstr "" +msgstr "データに{0}の価格が含まれていないため、USD価値が正確でない可能性があります" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Blueberry Club" -msgstr "" +msgstr "GMX Blueberry Club" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Cumulative PnL" -msgstr "" +msgstr "累積PnL" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum Max. APY:" -msgstr "" +msgstr "Arbitrum最大APY:" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity for your Account:" -msgstr "" +msgstr "アカウントのボールト容量:" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" -msgstr "" +msgstr "{0, plural, one {注文をキャンセル} other {# 注文をキャンセル}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" -msgstr "" +msgstr "手数料後PnLを表示" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol risk explorer and stats" -msgstr "" +msgstr "プロトコルリスクエクスプローラーと統計" #: src/components/Exchange/PositionShareCard.tsx msgid "Generating shareable image..." @@ -1936,7 +1962,7 @@ msgstr "購入申し込み完了" #: src/pages/Stake/Stake.tsx msgid "Incentives & Prizes" -msgstr "" +msgstr "インセンティブと賞品" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you sell GLP for. <0/>Enter the amount of GLP you want to redeem in the order form, then check here to compare fees." @@ -1944,12 +1970,13 @@ msgstr "GLPを売却してどのアセットに交換するかにより手数料 #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{txnTypeText} {0} order for" -msgstr "" +msgstr "{txnTypeText} {0} 注文" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." -msgstr "" +msgstr "手数料のUSD価値は獲得時に計算され、インセンティブを含みません。" +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1959,7 +1986,7 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max" -msgstr "" +msgstr "最大" #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -1969,32 +1996,33 @@ msgstr "コード確認中..." #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" -msgstr "" +msgstr "GMプール" #: src/components/Exchange/SwapBox.jsx msgid "There is a \"Close\" button on each position row, clicking it will display the option to close positions via market orders." -msgstr "" +msgstr "各ポジション行に\"クローズ\"ボタンがあり、クリックすると市場注文でポジションをクローズするオプションが表示されます。" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity." -msgstr "" +msgstr "価格の条件が満たされ、さらに十分な流動性が存在している場合にのみ注文は執行されます。" #: src/pages/Referrals/Referrals.tsx msgid "Affiliates" -msgstr "" +msgstr "アフィリエイト" #: src/pages/Stake/Vesting.tsx msgid "Convert esGMX tokens to GMX tokens.<0/>Please read the <1>vesting details</1> before using the vaults." -msgstr "" +msgstr "esGMXトークンをGMXトークンに変換します。<0/>ボールトを使用する前に<1>ベスティングの詳細</1>をお読みください。" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express" -msgstr "" +msgstr "エクスプレスを試す" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to deactivate" -msgstr "" +msgstr "無効化失敗" #: src/lib/legacy.ts msgid "No open position, order cannot be executed unless a position is opened" @@ -2007,15 +2035,15 @@ msgstr "ショートポジション" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buying {symbol}..." -msgstr "" +msgstr "{symbol}を購入中..." #: src/components/Exchange/TradeHistory.jsx msgid "Could not increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}  USD" -msgstr "" +msgstr "{0} {longOrShortText}を増加できず、+{1} USD、許容価格: {2} USD" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX on {chainName}" -msgstr "" +msgstr "{chainName}でGMXを購入" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2039,8 +2067,9 @@ msgstr "サイズ" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "あなたの体験と洞察を評価し、匿名の一対一チャットへの参加を招待します。" +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2075,19 +2104,15 @@ msgstr "{tokenSymbol} {longOrShortText}の{0} USDの増額をリクエストし #: src/pages/Home/Home.tsx msgid "Enter and exit positions with minimal spread and low price impact. Get the optimal price without incurring additional costs." -msgstr "" +msgstr "最小スプレッドと低い価格影響でポジションに入り退出。追加コストなしで最適価格を得る。" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b trading incentives" -msgstr "" +msgstr "STIP.bトレーディングインセンティブ" #: src/components/Exchange/ConfirmationBox.jsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "" +msgstr "デフォルトの許容スリッページはページ右上の設定メニューで編集できます。<0/><1/>低い許容スリッページ、例: {0}未満は価格が変動する場合注文失敗の原因になる可能性があります。" #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." @@ -2099,15 +2124,15 @@ msgstr "この注文が執行された場合、少なくとも{0} {1}を受け #: src/components/Exchange/SwapBox.jsx msgid "Limit order creation failed." -msgstr "指値注文が作成できませんでした。" +msgstr "指値注文作成失敗。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics" -msgstr "" +msgstr "Dune Analytics" #: src/domain/synthetics/trade/utils/validation.ts msgid "There isn't enough GM: {0} [{1}] liquidity in GLV to fulfill your sell request. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "売却リクエストを満たすためのGLV内のGM: {0} [{1}]流動性が不足しています。別のプールを選択するか、売却サイズを減らすか、複数のプールから出金を分割してください。" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -2116,16 +2141,16 @@ msgstr "{0}を承認中" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Deposited {0} into {positionText}" -msgstr "" +msgstr "{positionText}に{0}を入金" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "あなたのウォレット、あなたの鍵。GMXは個別署名なしで取引を実行し、シームレスなCEXのような体験を提供。トレードはネットワーク混雑時でも信頼性のためにGMXスポンサードのプレミアムRPCを使用。ガス支払いはUSDCまたはWETH。" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Funding Fees" -msgstr "" +msgstr "ファンディング手数料を請求" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates are airdropped weekly." @@ -2133,7 +2158,7 @@ msgstr "リベートと紹介報酬は毎週エアドロップされます。" #: src/components/SettingsModal/SettingsModal.tsx msgid "Display Settings" -msgstr "" +msgstr "表示設定" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "Total:" @@ -2145,20 +2170,20 @@ msgstr "{0}が承認されました!" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to STBTC</0> to use {1} as collateral." -msgstr "" +msgstr "スワップパスが利用できません。<0>{0}をSTBTCにスワップ</0>して{1}を担保として使用してください。" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Provide liquidity</0> and earn {gmxMarketApyDataText} APY" -msgstr "" +msgstr "<0>流動性を提供</0>して{gmxMarketApyDataText} APYを獲得" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Address" -msgstr "" +msgstr "アドレス" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "" +#~ msgid "Winner:" +#~ msgstr "勝者:" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" @@ -2167,15 +2192,15 @@ msgstr "トレード総額" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx msgid "Collateral Spread" -msgstr "" +msgstr "担保スプレッド" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing limit order with {symbol} as collateral. <0>Switch to {symbol} collateral</0>." -msgstr "" +msgstr "{symbol}を担保とした既存の指値注文があります。<0>{symbol}担保に切り替え</0>。" #: src/components/Header/Header.tsx msgid "Trade on GMX V2 in Arbitrum and win 280,000 ARB (> $500k) in prizes in <0>two weekly</0> competitions. Live from March 13th to 27th." -msgstr "" +msgstr "ArbitrumのGMX V2でトレードして<0>2週間の</0>コンペティションで280,000 ARB (> $500k)の賞金を獲得。3月13日から27日までライブ。" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Index" @@ -2192,23 +2217,23 @@ msgstr "{0}アップグレード未完了のためGLP購入は停止中です" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" -msgstr "" +msgstr "<0>注文提出エラー。</0><1/><2>署名者アドレスが受信者アドレスと一致しません。</2><3/><4>ページをリロードして再試行してください。</4>" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" -msgstr "" +msgstr "トレーディングモード" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please try changing the RPC url in your wallet settings with the help of <2>chainlist.org</2>.<3/><4/><5>Read more</5>." -msgstr "" +msgstr "RPCエラーにより取引が失敗しました。<0/><1/><2>chainlist.org</2>の助けを借りてウォレット設定でRPC URLを変更してください。<3/><4/><5>詳細を読む</5>。" #: src/components/Exchange/PositionSeller.jsx msgid "You have an active order to decrease {longOrShortText} {sizeInToken} {0} (${1}) at {prefix} {2}" -msgstr "" +msgstr "アクティブな注文があります: {longOrShortText} {sizeInToken} {0} (${1}) を {prefix} {2} で減少させる" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} sellable amount exceeded" -msgstr "" +msgstr "最大{0}売却可能額超過" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -2221,7 +2246,7 @@ msgstr "NFTを送信する" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit failed." -msgstr "" +msgstr "入金有効化失敗。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GMX tokens before" @@ -2229,7 +2254,7 @@ msgstr "受け取り側でこれまでGMXトークンをステークしたこと #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX Swaps monitoring" -msgstr "" +msgstr "GMXスワップ監視Telegramボット" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "LIQUIDITY" @@ -2250,7 +2275,7 @@ msgstr "スワップ" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Allow {0} to be spent" -msgstr "" +msgstr "{0}の支出を許可" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order created!" @@ -2258,21 +2283,21 @@ msgstr "スワップ注文作成完了!" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "POSITION" -msgstr "" +msgstr "ポジション" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Trading Volume" -msgstr "" +msgstr "トレーディング出来高" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing limit order in the {0} market pool but it lacks liquidity for this order." -msgstr "" +msgstr "{0}市場プールに既存の指値注文がありますが、この注文のための流動性が不足しています。" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Reserved for Vesting" -msgstr "" +msgstr "べスティングのためのリザーブ" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -2283,7 +2308,7 @@ msgstr "更新" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DODO" -msgstr "" +msgstr "DODO" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Your transfer has been initiated." @@ -2291,35 +2316,40 @@ msgstr "移転が開始されました。" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Estimated annualized fees generated by trading activity (open, close, borrow, liquidations, swaps) over the selected period. Does not include backing token price changes, trading PnL, or funding fees.<0/><1/>For detailed stats and comparisons, see the <2>GMX V2 LP Dashboard</2>." -msgstr "" +msgstr "選択された期間のトレーディング活動(オープン、クローズ、借り入れ、清算、スワップ)によって生成された年換算手数料の見積もり。裏付けトークン価格変動、トレーディングPnL、またはファンディング手数料を含みません。<0/><1/>詳細な統計と比較については、<2>GMX V2 LPダッシュボード</2>を参照してください。" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Risk Alerts" -msgstr "" +msgstr "清算リスクアラート" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settling" -msgstr "" +msgstr "ポジション手数料の決済" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" msgstr "{existingTriggerOrderLength, plural, one {このポジションに影響する可能性のあるアクティブなトリガー注文があります。} other {このポジションに影響する可能性のあるアクティブなトリガー注文が#あります。}}" +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "<0>{0}</0> GMXトークンを請求可能。総報酬セクションの下のオプションを使って請求してください。" + #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" -msgstr "" +msgstr "シフト注文が実行されました" #: src/pages/Stake/VesterDepositModal.tsx msgid "You need a total of at least {0} {stakeTokenLabel} to vest {1} esGMX." -msgstr "" +msgstr "合計で少なくとも{0} {stakeTokenLabel}が必要で、{1} esGMXをベストできます。" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} USDG for{1} {2}" -msgstr "" +msgstr "{0} USDGを{1} {2}にスワップ" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "{0} will be swapped to {1} on order execution." -msgstr "" +msgstr "{0}は注文実行時に{1}にスワップされます。" #. Button to clear the filter selection #: src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx @@ -2328,24 +2358,24 @@ msgstr "選択をクリア" #: src/domain/synthetics/orders/utils.tsx msgid "The order will not be executed as its trigger price is beyond the position's liquidation price." -msgstr "" +msgstr "注文のトリガー価格がポジションの清算価格を超えているため、注文は実行されません。" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Failed to cancel {ordersText}" -msgstr "" +msgstr "{ordersText}のキャンセルに失敗しました" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} ショートストップマーケット: 価格がトリガー価格を下回ったときにショートポジションを{0}。" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." msgstr "マーク価格が変化したため、アドレスの横に表示されている\"...\"アイコンをクリックして最大許容スリッページを増やすことを検討してください。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" -msgstr "" +msgstr "デフォルトの最大許容スリッページ" #. Total Value Locked #: src/components/Synthetics/MarketsList/MarketsList.tsx @@ -2355,7 +2385,7 @@ msgstr "TVL" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Shift Fee" -msgstr "" +msgstr "シフト手数料" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/OverviewCard.tsx @@ -2369,15 +2399,15 @@ msgstr "キャンセル申し込み完了" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Traderjoe:" -msgstr "" +msgstr "TraderjoeからGMXを購入:" #: src/pages/Actions/ActionsRouter.tsx msgid "V1 is not supported on {chainName}. Please switch to Arbitrum to use V1." -msgstr "" +msgstr "V1は{chainName}でサポートされていません。V1を使用するにはArbitrumに切り替えてください。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Saulius GMX Analytics" -msgstr "" +msgstr "Saulius GMXアナリティクス" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -2390,25 +2420,25 @@ msgstr "{0} 価格" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized services" -msgstr "" +msgstr "中央集権型サービスからGMXを購入" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Bridge and swap" -msgstr "" +msgstr "ブリッジとスワップ" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above lowest limit price" -msgstr "" +msgstr "トリガー価格が最低リミット価格を上回っています" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Borrow Fee Rate" -msgstr "" +msgstr "借入手数料率" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max number of parts: {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "最大パート数: {MAX_TWAP_NUMBER_OF_PARTS}" #: src/components/Header/AppHeaderUser.tsx #: src/components/Header/AppHeaderUser.tsx @@ -2423,16 +2453,24 @@ msgstr "{0} USDを {tokenSymbol} {longOrShortText}に入金済" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has staked GMX/GLP before" -msgstr "" +msgstr "受信者は以前にGMX/GLPをステークしています" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling sell request" -msgstr "" +msgstr "売却リクエストを履行中" #: src/components/Exchange/TradeHistory.jsx msgid "{actionDisplay} Order" msgstr "{actionDisplay} 注文" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "マーケットグラフ" + #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" msgstr "ショートよりロングが多いため、ショートの借入手数料は現在ゼロです" @@ -2443,7 +2481,7 @@ msgstr "AvalancheでのAPR(実質年利)" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics for GMX" -msgstr "" +msgstr "GMXのDuneアナリティクス" #: src/components/Exchange/TradeHistory.jsx msgid "Could not decrease {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}" @@ -2459,11 +2497,11 @@ msgstr "AvalancheでGMXを使ってべスティングする" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "ポジションをクリックしてマーケットを選択し、トレードボックスを使用してポジションサイズを増やしたり、テイクプロフィット/ストップロス注文を設定したりしてください。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Relayer request failed" -msgstr "" +msgstr "リレヤーリクエストに失敗しました" #: src/components/Exchange/TradeHistory.jsx msgid "Request decrease {0} {longOrShortText}, -{1} USD, Acceptable Price: {2} {3} USD" @@ -2471,29 +2509,33 @@ msgstr "{0} {longOrShortText} の減額をリクエスト -{1} USD 可能な価 #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "settings updated" -msgstr "" +msgstr "設定が更新されました" #: src/components/Exchange/SwapBox.jsx msgid "You have an existing position with {0} as collateral." -msgstr "" +msgstr "担保として{0}を使用した既存のポジションがあります。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Transfer Account" msgstr "アカウント移転" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "" + #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" -msgstr "" +msgstr "GMX V1アクション" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Part" -msgstr "" +msgstr "TWAPパートを実行" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Profit Fee" -msgstr "" +msgstr "スワップ利益手数料" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Amount to claim" @@ -2513,7 +2555,7 @@ msgstr "APR(実質年利)は毎週水曜日に更新され、その前一週間 #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Fees (Incl. Swap)" -msgstr "" +msgstr "手数料 (スワップを含む)" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -2522,7 +2564,7 @@ msgstr "{fromText}から{toMinText}へ" #: src/components/Errors/errorToasts.tsx msgid "Otherwise, try changing the RPC url in your wallet settings with the help of <0>chainlist.org</0>." -msgstr "" +msgstr "それ以外の場合、<0>chainlist.org</0>の助けを借りてウォレット設定のRPC URLを変更してみてください。" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2531,11 +2573,11 @@ msgstr "清算価格を上回る価格" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the pay token to collateral token swap when the price conditions are met." -msgstr "" +msgstr "価格条件が満たされたときに支払いトークンから担保トークンへのスワップを実行するための十分な流動性がない可能性があります。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "User Quests" -msgstr "" +msgstr "ユーザークエスト" #: src/components/Glp/GlpSwap.jsx msgid "{0} pool exceeded, try different token" @@ -2553,7 +2595,7 @@ msgstr "ポジション ({0})" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake failed." -msgstr "" +msgstr "アンステークに失敗しました。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx @@ -2566,7 +2608,11 @@ msgstr "注文を執行するための利用可能なスワップ流動性が不 #: src/pages/Stake/Stake.tsx msgid "Earn prizes by participating in GMX Trading Competitions." -msgstr "" +msgstr "GMXトレーディングコンペティションに参加して賞品を獲得してください。" + +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "折りたたむ" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" @@ -2574,7 +2620,7 @@ msgstr "ロングを確認する" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Arbitrum" -msgstr "" +msgstr "Arbitrumで紹介したトレーダー" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -2590,11 +2636,11 @@ msgstr "取引は送信済です。" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter up to 10 coins" -msgstr "" +msgstr "最大10個のコインを入力" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Backing Tokens" -msgstr "" +msgstr "バッキングトークンへのエクスポージャー" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Creating..." @@ -2604,11 +2650,11 @@ msgstr "作成中..." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing from Subaccount" -msgstr "" +msgstr "サブアカウントから出金中" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settling Position Fees" -msgstr "" +msgstr "ポジション手数料の決済" #: src/components/Exchange/OrderEditor.jsx msgid "Minimum received" @@ -2621,19 +2667,19 @@ msgstr "GLPから引き出し可能な金額。現在オープンなポジショ #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Enter your feedback here" -msgstr "" +msgstr "ここにフィードバックを入力" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Impact on Collateral" -msgstr "" +msgstr "担保への高い影響" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "and" -msgstr "" +msgstr "と" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GLV liquidity" -msgstr "" +msgstr "GLV流動性が不足しています" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -2643,31 +2689,31 @@ msgstr "無効な価格につき、警告を確認してください" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} only from your short position." -msgstr "" +msgstr "ショートポジションからのみ{indexSymbol}をショートします。" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Signing approval..." -msgstr "" +msgstr "承認を署名中..." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." -msgstr "" +msgstr "現在の価格インパクトは{0}です。注文が処理されやすくなるよう-0.30%の許容価格インパクトを使用することを検討してください。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" -msgstr "" +msgstr "TP/SLの自動キャンセル" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Funding Fee Rate" -msgstr "" +msgstr "ファンディング手数料率" #: src/components/Exchange/PositionSeller.jsx msgid "Requested decrease of {0} {longOrShortText} by {sizeDeltaUsd} USD." -msgstr "" +msgstr "{0} {longOrShortText}の{sizeDeltaUsd} USDによる減額をリクエストしました。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Returned Collateral" -msgstr "" +msgstr "返却された担保" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "You need to select {swapTokenSymbol} as the \"Pay\" token to use it for collateral to initiate this trade." @@ -2675,11 +2721,11 @@ msgstr "この取引を始めるには担保用に{swapTokenSymbol}を\"支払 #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "There are issues in the TP/SL orders." -msgstr "" +msgstr "TP/SL注文に問題があります。" #: src/components/Glp/GlpSwap.jsx msgid "The Bonus Rebate is an estimate and will be airdropped as ARB tokens when migrating this liquidity to GM pools within the same epoch. <0>Read more</0>." -msgstr "" +msgstr "ボーナスリベートは推定値で、同じエポック内でこの流動性をGMプールに移行する際にARBトークンとしてエアドロップされます。<0>詳細を読む</0>。" #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP sold for {1} {2}!" @@ -2687,15 +2733,15 @@ msgstr "{0} GLPを売却し、{1} {2}を得ました!" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Long Inc." -msgstr "" +msgstr "ストップマーケット - ロング増加" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Failed to Claim Price Impact Rebate" -msgstr "" +msgstr "価格インパクトリベートの請求に失敗しました" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Only positions with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "\"資本使用額\"が{0}を超えるポジションのみがランキングされます。" #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept minimum and {action}" @@ -2703,7 +2749,7 @@ msgstr "最低額と{action}に同意する" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Withdraw from Affiliate Vault" -msgstr "" +msgstr "アフィリエイトボールトから出金" #: src/components/Glp/GlpSwap.jsx msgid "Current Pool Amount" @@ -2716,46 +2762,46 @@ msgstr "キャンセルできませんでした" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will be executed if there is sufficient liquidity and the execution price guarantees that you will receive the minimum receive amount." -msgstr "" +msgstr "十分な流動性があり、実行価格が最低受け取り額を保証する場合に注文が実行されます。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Transacting with a depegged stable coin is subject to spreads reflecting the worse of current market price or $1.00, with transactions involving multiple stablecoins may have multiple spreads." -msgstr "" +msgstr "デペッグしたステーブルコインでの取引は、現在の市場価格または$1.00の悪い方のスプレッドの対象となり、複数のステーブルコインを含む取引は複数のスプレッドを持つ可能性があります。" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the \"Close\" button to reduce your Position Size." -msgstr "" +msgstr "ポジションサイズを減らすには\"閉じる\"ボタンを使用してください。" #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Limit)" -msgstr "" +msgstr "サイズ増加 (リミット)" #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute at the desired {priceText} as its acceptable price impact is set to {formattedOrderAcceptablePriceImpact}, which is lower than the current market price impact of {formattedCurrentAcceptablePriceImpact}. It can be edited using the \"Edit\" button." -msgstr "" +msgstr "許容価格インパクトが{formattedOrderAcceptablePriceImpact}に設定されており、現在の市場価格インパクト{formattedCurrentAcceptablePriceImpact}より低いため、希望の{priceText}で注文が実行されない可能性があります。\"編集\"ボタンで編集できます。" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Liquidation Fee" -msgstr "" +msgstr "清算手数料" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settle" -msgstr "" +msgstr "決済" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TWAP: {0} a short position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} ショートTWAP: 指定された時間に均等に分散されたパートでショートポジションを{0}。" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap when the min. receive conditions are met." -msgstr "" +msgstr "最低受け取り条件が満たされたときにスワップを実行するための十分な流動性がない可能性があります。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "{fromText} to" -msgstr "" +msgstr "{fromText}から" #: src/components/Exchange/PositionDropdown.tsx msgid "Select Market" @@ -2765,29 +2811,33 @@ msgstr "マーケット選択" msgid "Open positions: {0}<0/>Under risk: {1}" msgstr "オープンのポジション: {0}<0/>リスクあり: {1}" +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "" + #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" msgstr "ページの読み込みを速くする" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: Swap {amountInDisplay}{1} for{minOutDisplay} {2}, Price:{3} USD" -msgstr "" +msgstr "{0}: {amountInDisplay}{1}を{minOutDisplay} {2}にスワップ, 価格:{3} USD" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "(Rebated)" -msgstr "" +msgstr "(リベート済)" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized exchanges:" -msgstr "" +msgstr "中央集権型取引所からGMXを購入:" #: src/pages/BuyGMX/BuyGMX.tsx msgid "GMX bonds can be bought on Bond Protocol with a discount and a small vesting period:" -msgstr "" +msgstr "GMXボンドはBond Protocolで割引と短いベスト期間で購入できます:" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above highest limit price" -msgstr "" +msgstr "トリガー価格が最高リミット価格を上回っています" #: src/components/Exchange/OrdersToa.jsx msgid "Note that orders are not guaranteed to be executed.<0/><1/>This can occur in a few situations including but not exclusive to:" @@ -2795,24 +2845,24 @@ msgstr "注文が必ず執行される保証がないことに注意してくだ #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions with Orders" -msgstr "" +msgstr "注文付きオープンポジション" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Copin" -msgstr "" +msgstr "Copin" #: src/components/Exchange/PositionSeller.jsx msgid "{nativeTokenSymbol} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{nativeTokenSymbol}はスマートコントラクトアドレスに送信できません。別のトークンを選択してください。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "This swap is routed through several GM pools for the lowest possible fees and price impact." -msgstr "" +msgstr "このスワップは最低の手数料と価格インパクトのために複数のGMプール経由でルーティングされます。" #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "{0}" -msgstr "" +msgstr "{0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Liquidity." @@ -2820,7 +2870,7 @@ msgstr "注文を執行するための利用可能な流動性が不足してい #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized data based on the past 7 days." -msgstr "" +msgstr "過去7日間の年換算データ。" #: src/components/Exchange/OrdersToa.jsx #: src/components/Exchange/OrdersToa.jsx @@ -2833,9 +2883,10 @@ msgstr "{0}の最大プールキャパシティ到達。別のトークンを使 #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>Execution prices for decreasing longs." -msgstr "" +msgstr "このサイズのショート増加のための流動性がありません。<0/>最大ショートサイズ: {0}<1/><2/>ロング減少のための実行価格。" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" msgstr "トレード" @@ -2845,35 +2896,36 @@ msgstr "紹介コードが追加できませんでした" #: src/components/Exchange/PositionEditor.jsx msgid "Max leverage without PnL: {0}x" -msgstr "" +msgstr "損益なしの最大レバレッジ: {0}x" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "V2 doesn't currently support this network" -msgstr "" +msgstr "V2は現在このネットワークをサポートしていません" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Arbitrum" -msgstr "" +msgstr "V1 Arbitrum" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche" -msgstr "" +msgstr "Avalanche" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Fee APR" -msgstr "" +msgstr "手数料APR" #: src/domain/synthetics/positions/utils.ts msgid "SL" -msgstr "" +msgstr "SL" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2890,16 +2942,16 @@ msgstr "ステーク" #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx msgid "Allow {tokenSymbol} to be spent" -msgstr "" +msgstr "{tokenSymbol}の支出を許可" #: src/components/NpsModal/NpsModal.tsx msgid "Help us improve" -msgstr "" +msgstr "改善をお手伝いください" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Invalid Liquidation Price" -msgstr "" +msgstr "無効な清算価格" #: src/pages/Home/Home.tsx msgid "An aggregate of high-quality price feeds determine when liquidations occur. This keeps positions safe from temporary wicks." @@ -2907,11 +2959,11 @@ msgstr "清算が発生した時点で高品質の価格フィードの集成価 #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} available liquidity. Choose a different \"Receive\" token." -msgstr "" +msgstr "{0}から{1}へのスワップ額が{2}の利用可能流動性を超えています。別の\"受け取り\"トークンを選択してください。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Take Profit" -msgstr "" +msgstr "テイクプロフィットを作成" #: src/components/Exchange/OrderEditor.jsx msgid "Update Order" @@ -2919,7 +2971,7 @@ msgstr "注文の更新" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP" -msgstr "" +msgstr "TWAPをキャンセル" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the liquidation." @@ -2927,12 +2979,12 @@ msgstr "清算のためのマーク価格" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Selling {0}{1}<1>{poolName}</1></0>" -msgstr "" +msgstr "<0>{0}{1}の売却<1>{poolName}</1></0>" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Max close amount exceeded" -msgstr "" +msgstr "最大クローズ額を超えています" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2942,15 +2994,15 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max leverage: {0}x" -msgstr "" +msgstr "最大レバレッジ: {0}x" #: src/domain/synthetics/positions/utils.ts msgid "T" -msgstr "" +msgstr "T" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Please enter the names of the coins you'd like to see added:" -msgstr "" +msgstr "追加してほしいコインの名前を入力してください:" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and Short" @@ -2958,27 +3010,27 @@ msgstr "利益喪失およびショート" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Arbitrum" -msgstr "" +msgstr "Arbitrumでステーク済" #: src/components/Exchange/PositionSeller.jsx msgid "Order creation failed." -msgstr "" +msgstr "注文作成に失敗しました。" #: src/components/TokenCard/TokenCard.tsx msgid "Sell token on:" -msgstr "" +msgstr "トークンを売却:" #: src/components/Synthetics/MissedCoinsHint/MissedCoinsHint.tsx msgid "Can’t find the coin you need? Let us know" -msgstr "" +msgstr "必要なコインが見つかりませんか?お知らせください" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegated to" -msgstr "" +msgstr "委任先" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} update failed." -msgstr "" +msgstr "{orderText}の更新に失敗しました。" #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: Swap {fromAmountDisplay} {0} for {toAmountDisplay} {1}" @@ -2988,14 +3040,19 @@ msgstr "注文執行: {fromAmountDisplay} {0}を {toAmountDisplay} {1}にスワ msgid "Buy {swapTokenSymbol} on 1inch" msgstr "{swapTokenSymbol}を1inchで購入" +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "" + #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" -msgstr "" +msgstr "損益 (%)" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we continue to meet your expectations?" -msgstr "" +msgstr "ご期待に沿うためにどうすればよいでしょうか?" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another address to claim if you'd like." @@ -3007,7 +3064,7 @@ msgstr "自分への移転はサポートされていません" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Generating session..." -msgstr "" +msgstr "セッション生成中..." #: src/pages/Exchange/Exchange.tsx msgid "Decreased {tokenSymbol} {longOrShortText}, -{0} USD." @@ -3015,7 +3072,7 @@ msgstr "{tokenSymbol} {longOrShortText}の減額 -{0} USD" #: src/components/Exchange/PositionEditor.jsx msgid "Leave at least {0} ETH for gas" -msgstr "" +msgstr "ガス用に少なくとも{0} ETHを残してください" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders failed." @@ -3038,7 +3095,7 @@ msgstr "ネットワーク手数料" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact." -msgstr "" +msgstr "現在の価格インパクトを含む注文の予想実行価格。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3061,11 +3118,11 @@ msgstr "注文有効化申し込み完了。" #: src/components/Exchange/PositionEditor.jsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing..." -msgstr "" +msgstr "出金中..." #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims match the selected filters" -msgstr "" +msgstr "選択したフィルターに一致する請求がありません" #: src/components/Exchange/SwapBox.jsx #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx @@ -3087,57 +3144,57 @@ msgstr "マーケット" #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} acceptable amount. Can only receive {3}." -msgstr "" +msgstr "{0}から{1}へのスワップ額が{2}の許容額を超えています。{3}のみ受け取り可能です。" #: src/pages/Stake/Stake.tsx msgid "Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2." -msgstr "" +msgstr "GMトークンの購入またはGMX V2での取引で{incentivesToken}トークンのインセンティブを獲得してください。" #: src/components/Exchange/PositionEditor.jsx msgid "Withdraw disabled, pending {0} upgrade" -msgstr "" +msgstr "{0}アップグレード待ちのため出金無効" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Read the rules" -msgstr "" +msgstr "ルールを読む" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Lev." -msgstr "" +msgstr "レバレッジ" #: src/pages/Stake/StakeModal.tsx msgid "Stake failed." -msgstr "" +msgstr "ステークに失敗しました。" #: src/components/NpsModal/NpsModal.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Submitting..." -msgstr "" +msgstr "送信中..." #: src/components/Header/HomeHeaderLinks.tsx msgid "App" -msgstr "" +msgstr "アプリ" #: src/components/Synthetics/GmList/GlvList.tsx msgid "Yield-optimized vaults supplying liquidity across multiple GMX markets." -msgstr "" +msgstr "複数のGMXマーケットに流動性を供給する利回り最適化ボールト。" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Add {marketName} to Wallet" -msgstr "" +msgstr "{marketName}をウォレットに追加" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized Performance" -msgstr "" +msgstr "年換算パフォーマンス" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" -msgstr "" +msgstr "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap {0} to {1}" -msgstr "" +msgstr "{0}を{1}にスワップ" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}." @@ -3145,13 +3202,13 @@ msgstr "{0} を {1}にスワップするには手数料が高額です" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Debug values are not available" -msgstr "" +msgstr "デバッグ値は利用できません" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below liq. price" -msgstr "" +msgstr "トリガー価格が清算価格を下回っています" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx @@ -3159,14 +3216,9 @@ msgstr "" msgid "Claim failed." msgstr "請求できませんでした。" -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "" - #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" -msgstr "" +msgstr "不明なエラー" #: src/components/Glp/GlpSwap.jsx msgid "Buying..." @@ -3174,24 +3226,24 @@ msgstr "購入中" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a new ratio or allowed slippage" -msgstr "" +msgstr "新しい比率または許容スリッページを入力" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap UI Fee" -msgstr "" +msgstr "スワップUI手数料" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the size to match the max. allowed leverage:" -msgstr "" +msgstr "最大許容レバレッジに合わせるためにサイズを減少させてください:" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Positive Funding Fee" -msgstr "" +msgstr "累積ポジティブファンディング手数料" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from Affiliate Vesting Vault" -msgstr "" +msgstr "送信者がアフィリエイトベストボールトからすべてのトークンを出金しました" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/keys.ts @@ -3201,33 +3253,33 @@ msgstr "清算済" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Blueberry Pulse" -msgstr "" +msgstr "Blueberry Pulse" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5></3> deployment for those features." -msgstr "" +msgstr "これらの機能を使用するには<0><1/><2>Arbitrum</2></0>または<3><4/><5>Avalanche</5></3>のデプロイに切り替えてください。" #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "言語選択" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Direction" -msgstr "" +msgstr "方向" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} and {1} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "このマーケットでは指定された売却上限までGMを{0}と{1}で売却できます。プールの残りのトークンは現在オープンのポジションのために予約されています。" #: src/components/Glp/GlpSwap.jsx msgid "Due to the recent incident on GMX V1 Arbitrum, GLP on Arbitrum is not sellable." -msgstr "" +msgstr "最近のGMX V1 Arbitrumでのインシデントのため、Arbitrum上のGLPは売却できません。" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "Graph showing performance vs benchmark over the selected period." -msgstr "" +msgstr "選択された期間のパフォーマンス対ベンチマークのグラフ。" #: src/components/Synthetics/ExecutionPriceRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3252,7 +3304,7 @@ msgstr "注文受付価格" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "VOL." -msgstr "" +msgstr "ボリューム" #: src/components/Glp/GlpSwap.jsx msgid "Max Capacity for {0} Reached" @@ -3261,11 +3313,11 @@ msgstr "{0}の最大キャパシティに到達しています" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below limit price" -msgstr "" +msgstr "トリガー価格がリミット価格を下回っています" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Buying {0}{1}<1>{poolName}</1></0> <2>with {tokensText}</2>" -msgstr "" +msgstr "<0>{0}{1}の購入<1>{poolName}</1></0> <2>{tokensText}で</2>" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionsList.jsx @@ -3278,53 +3330,53 @@ msgstr "最初の担保" #: src/pages/Stake/StakeModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power before staking." -msgstr "" +msgstr "<0>ステーク前に未委任の{0} GMX DAO</0>投票権を委任してください。" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Size" -msgstr "" +msgstr "平均サイズ" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 esGMX" -msgstr "" +msgstr "V1 esGMX" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit PnL" -msgstr "" +msgstr "テイクプロフィット損益" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Let us know which coins you're missing" -msgstr "" +msgstr "不足しているコインをお知らせください" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw sent." -msgstr "" +msgstr "出金有効化申し込み完了。" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." msgstr "あなたのesGMX (IOU)残高は請求後に請求額分だけ減少しますが、これは想定通りの挙動です。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." -msgstr "" +msgstr "最大ネットワーク手数料は注文実行中のガス価格の上昇に対応するために高い値に設定されています。余剰ネットワーク手数料は注文実行時にアカウントに返金されます。GMX V2のみ適用。" #: src/domain/synthetics/positions/utils.ts msgid "stop market" -msgstr "" +msgstr "ストップマーケット" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized PnL" -msgstr "" +msgstr "未実現損益の開始" #: src/components/TVChartContainer/constants.ts msgid "Limit - Short Inc." -msgstr "" +msgstr "リミット - ショート増加" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Sending settle request" -msgstr "" +msgstr "決済リクエスト送信中" #: src/lib/legacy.ts msgid "Order cannot be executed as the remaining position would be smaller than $5.00" @@ -3339,18 +3391,13 @@ msgstr "ポジション金額が$5未満になるため注文を執行できま msgid "Claiming..." msgstr "請求中..." -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "" - #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" -msgstr "市場増加リクエスト" +msgstr "マーケット増加リクエスト" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Edit {0}" -msgstr "" +msgstr "{0}を編集" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Arbitrum" @@ -3358,11 +3405,11 @@ msgstr "ArbitrumでGMXを使ってべスティングする" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable price impact rebates.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "請求可能な価格インパクトリベート。<0/><1/><2>詳細を読む</2>。" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and {borrowAction} a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "{longOrShort}ポジションは1時間あたり{fundingRate}のファンディング手数料を{fundingAction}し、1時間あたり{borrowRate}の借入手数料を{borrowAction}します。" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx @@ -3371,7 +3418,7 @@ msgstr "" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "TWAP" -msgstr "" +msgstr "TWAP" #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -3380,11 +3427,11 @@ msgstr "注文の更新中..." #: src/components/Exchange/PositionSeller.jsx msgid "Close failed." -msgstr "" +msgstr "閉じるに失敗しました。" #: src/pages/Stake/Stake.tsx msgid "You are earning rewards with {0} tokens.<0/>Tokens: {amountStr}." -msgstr "" +msgstr "{0}トークンで報酬を獲得しています。<0/>トークン: {amountStr}。" #: src/components/ModalViews/RedirectModal.tsx msgid "The website is a community deployed and maintained instance of the open source <0>GMX front end</0>, hosted and served on the distributed, peer-to-peer <1>IPFS network</1>." @@ -3392,32 +3439,36 @@ msgstr "ウェブサイトはオープンソースの<0>GMXフロントエンド #: src/components/Exchange/PositionEditor.jsx msgid "Deposit failed." -msgstr "" +msgstr "入金失敗。" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "<0>Set Recommended Impact: {0}</0>." -msgstr "" +msgstr "<0>推奨インパクトを設定: {0}</0>。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Defi Llama" -msgstr "" +msgstr "DeFi Llama" #: src/pages/Exchange/Exchange.tsx msgid "Orders cancelled." msgstr "注文がキャンセルされました。" +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" + #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" -msgstr "" +msgstr "最後のリバランス" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit" -msgstr "" +msgstr "リミットをキャンセル" #: src/components/Referrals/AffiliatesStats.tsx msgid "V2 Claim" -msgstr "" +msgstr "V2請求" #: src/components/Exchange/OrdersToa.jsx msgid "Accept that orders are not guaranteed to execute and trigger orders may not settle at the trigger price" @@ -3426,15 +3477,15 @@ msgstr "注文が執行される保証がないこと、トリガー注文がト #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a market" -msgstr "" +msgstr "マーケットを選択" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please choose a different pool or reduce the buy size." -msgstr "" +msgstr "プールGM: {0}の{1} [{2}]での購入可能上限に達しました。別のプールを選択するか購入サイズを減らしてください。" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High External Swap Impact" -msgstr "" +msgstr "高い外部スワップインパクト" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx @@ -3460,11 +3511,11 @@ msgstr "許可待機中" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and do not pay a borrow fee." -msgstr "" +msgstr "{longOrShort}ポジションは1時間あたり{fundingRate}のファンディング手数料を{fundingAction}し、借入手数料を支払いません。" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TP/SL: {0} a short position when the trigger price is reached." -msgstr "" +msgstr "{typeString} ショートTP/SL: トリガー価格に達したときにショートポジションを{0}。" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community-led Telegram groups." @@ -3472,25 +3523,20 @@ msgstr "コミュニティ主導のTelegramグループ" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Open Interest" -msgstr "" - -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "" +msgstr "{longShortText} {0} 建玉" #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." -msgstr "" +msgstr "請求するGMXトークンがありません。" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Settled Funding Fees" -msgstr "" +msgstr "決済されたファンディング手数料" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Ends in" -msgstr "" +msgstr "終了まで" #: src/components/Referrals/JoinReferralCode.tsx msgid "Please input a referral code to benefit from fee discounts." @@ -3502,15 +3548,15 @@ msgstr "入金失敗" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Swap" -msgstr "市場スワップリクエスト" +msgstr "マーケットスワップリクエスト" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market.{1}" -msgstr "" +msgstr "{0}マーケットプールの流動性が不足しています。このマーケットで別のプールを選択してください。{1}" #: src/domain/synthetics/trade/utils/validation.ts msgid "App disabled, pending {0} upgrade" -msgstr "" +msgstr "{0}アップグレード待ちのためアプリ無効" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates earned by this account as an affiliate." @@ -3533,7 +3579,7 @@ msgstr "アンステーク" #: src/components/SettingsModal/SettingsModal.tsx msgid "Debug Settings" -msgstr "" +msgstr "デバッグ設定" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "More Options" @@ -3541,24 +3587,28 @@ msgstr "別の選択肢" #: src/components/TokenCard/TokenCard.tsx msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." -msgstr "" +msgstr "GLVはGMX V2ボールトの流動性提供者トークンです。複数のGMトークンで構成され、それらによって生成された手数料が蓄積されます。" + +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "ネットワーク" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" -msgstr "" +msgstr "<0>毎</0> {hours}時間{0}" #: src/components/Referrals/TradersStats.tsx msgid "For trades on V1, this discount will be airdropped to your account every Wednesday. On V2, discounts are applied automatically and will reduce your fees when you make a trade." -msgstr "" +msgstr "V1のトレードでは、この割引は毎週水曜日にアカウントにエアドロップされます。V2では割引が自動的に適用され、トレード時の手数料が減額されます。" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Fail External Swaps" -msgstr "" +msgstr "外部スワップの失敗" #: src/domain/synthetics/orders/utils.tsx msgid "Swap {fromTokenText} for {toTokenText}" -msgstr "" +msgstr "{fromTokenText}を{toTokenText}にスワップ" #: src/components/Exchange/SwapBox.jsx #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts @@ -3582,20 +3632,20 @@ msgstr "損益" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available using network's native token {0}. Consider using {1} instead." -msgstr "" +msgstr "ネットワークのネイティブトークン{0}を使用したエクスプレストレーディングは利用できません。代わりに{1}を使用することを検討してください。" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx msgid "Market Increase" -msgstr "市場増加" +msgstr "マーケット増加" #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims yet" -msgstr "" +msgstr "請求なし" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Cancel Order" -msgstr "" +msgstr "注文をキャンセル" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3611,15 +3661,15 @@ msgstr "出金" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Market" -msgstr "" +msgstr "ストップマーケットを更新" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Vested Claimable GMX" -msgstr "" +msgstr "ベストされた請求可能GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy {nativeTokenSymbol}" -msgstr "" +msgstr "{nativeTokenSymbol}を購入" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "View in Explorer" @@ -3627,11 +3677,11 @@ msgstr "Explorerで見る" #: src/components/AprInfo/AprInfo.tsx msgid "Bonus APR" -msgstr "" +msgstr "ボーナスAPR" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift request sent" -msgstr "" +msgstr "シフトリクエスト送信済" #: src/pages/Jobs/Jobs.jsx msgid "GMX is not actively looking for new hires at the moment. However, if you think you can contribute to the project, please email <0>jobs@gmx.io</0>." @@ -3647,11 +3697,11 @@ msgstr "スキャン後、ウォレットを接続するためのプロンプト #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer AVAX from other networks to Avalanche using any of the below options:" -msgstr "" +msgstr "以下のオプションのいずれかを使用して他のネットワークからAVAXをAvalancheに転送できます:" #: src/pages/Stake/Vesting.tsx msgid "Unsupported network" -msgstr "" +msgstr "サポートされていないネットワーク" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -3661,11 +3711,11 @@ msgstr "オープン中..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche" -msgstr "" +msgstr "Avalancheで紹介したトレーダー" #: src/components/Exchange/PositionSeller.jsx msgid "Trigger order disabled, pending {0} upgrade" -msgstr "" +msgstr "{0}アップグレード待ちのためトリガー注文無効" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Funding Fees" @@ -3675,7 +3725,6 @@ msgstr "ファンディング手数料" msgid "Approval failed" msgstr "承認が失敗しました" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx @@ -3684,7 +3733,7 @@ msgstr "建玉" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Updating settings..." -msgstr "" +msgstr "設定更新中..." #: src/components/Exchange/SwapBox.jsx msgid "The position will be opened at {0} USD with a max slippage of {1}%.<0/><1/>The slippage amount can be configured under Settings, found by clicking on your address at the top right of the page after connecting your wallet.<2/><3/><4>Read more</4>." @@ -3696,7 +3745,7 @@ msgstr "有効な紹介コード" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "Save One-Click Trading settings" -msgstr "" +msgstr "ワンクリックトレーディング設定を保存" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Please switch your network to Arbitrum." @@ -3704,19 +3753,19 @@ msgstr "ネットワークをArbitrumに切り替えてください。" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "The position would be immediately liquidated upon order execution. Try reducing the size." -msgstr "" +msgstr "注文実行時にポジションが即時清算される可能性があります。サイズを減らしてみてください。" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUYABLE" -msgstr "" +msgstr "購入可能" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP" -msgstr "" +msgstr "TWAPを作成" #: src/components/Exchange/PositionEditor.jsx msgid "Enabling Leverage" -msgstr "" +msgstr "レバレッジ有効化中" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx @@ -3725,30 +3774,30 @@ msgstr "無効な受け取りアドレス" #: src/components/Exchange/PositionSeller.jsx msgid "Collateral is not enough to cover pending Fees. Please uncheck \"Keep Leverage\" to pay the Fees with the realized PnL." -msgstr "" +msgstr "担保が保留中の手数料をカバーするのに十分ではありません。実現損益で手数料を支払うために\"レバレッジを維持\"のチェックを外してください。" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have yet to reach the minimum \"Capital Used\" of {0} to qualify for the rankings." -msgstr "" +msgstr "ランキング資格を得るための最小\"資本使用額\"{0}にまだ達していません。" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience as GMX Liquidity Provider and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "GMX流動性提供者としてのご経験を大切にし、匿名での1対1のチャットにご参加をお願いします。" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "TVL (SUPPLY)" -msgstr "" +msgstr "TVL (供給)" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the leverage to match the max. allowed leverage." -msgstr "" +msgstr "最大許容レバレッジに合わせるためにレバレッジを減少させてください。" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Shorts" -msgstr "" +msgstr "ショート" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Prev" @@ -3756,24 +3805,20 @@ msgstr "前へ" #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 180d" -msgstr "" +msgstr "過去180日" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown buy GM order" -msgstr "" +msgstr "不明なGM購入注文" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "" +msgstr "デフォルトの許容スリッページはページ右上の設定メニューで編集できます。<0/><1/>低い許容スリッページ、例えば-{0}未満の場合、価格が変動すると注文が失敗する可能性があることに注意してください。" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." -msgstr "" +msgstr "価格インパクトはありません。このサイズのロング増加または<0/>ショート減少のための単一の<1/>実行価格です。" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 days." @@ -3781,24 +3826,24 @@ msgstr "請求後7日以内に指定のネットワーク上のあなたのア #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Buy GLV" -msgstr "" +msgstr "GLVを購入" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Part" -msgstr "" +msgstr "TWAPパートに失敗" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Impact+Fees" -msgstr "" +msgstr "インパクト+手数料" #: src/components/TVChartContainer/constants.ts msgid "TP - Short Dec." -msgstr "" +msgstr "TP - ショート減少" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs GM Token Dashboard" -msgstr "" +msgstr "Compass Labs GMトークンダッシュボード" #: src/components/Exchange/TradeHistory.jsx msgid "Request increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2} {3} USD" @@ -3815,11 +3860,11 @@ msgstr "担保の種類" #: src/pages/Dashboard/GmCard.tsx msgid "GM Markets" -msgstr "" +msgstr "GMマーケット" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Your opinions and experiences matter to us. Your feedback helps us understand what we are doing well and where we can make enhancements." -msgstr "" +msgstr "ご意見とご経験は私たちにとって重要です。フィードバックは私たちが何をうまくやっているか、どこを改善できるかを理解するのに役立ちます。" #: src/components/Exchange/UsefulLinks.tsx msgid "Trading guide" @@ -3827,15 +3872,15 @@ msgstr "トレード案内" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Open {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "{longOrShortText}を開く - {marketIndexName}" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "TRADING Airdrop" -msgstr "" +msgstr "トレーディングエアドロップ" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. This can be useful for delta-neutral strategies to earn funding fees." -msgstr "" +msgstr "ショートポジションから{indexSymbol}をショートし、{collateralSymbol}担保から{collateralSymbol}をロングします。これはデルタニュートラル戦略でファンディング手数料を獲得するのに有用です。" #: src/components/Referrals/TradersStats.tsx msgid "Rebates earned by this account as a trader." @@ -3862,7 +3907,7 @@ msgstr "詳細について読む" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "This Year" -msgstr "" +msgstr "今年" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -3870,12 +3915,15 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{actionDisplay} {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} 価格: {3} USD" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Vesting Status" -msgstr "" +msgstr "ベスト状況" #: src/components/Exchange/ConfirmationBox.jsx msgid "You have an active Limit Order to Increase {longOrShortText} {sizeInToken} {0} (${1}) at price ${2}" @@ -3883,23 +3931,23 @@ msgstr "{longOrShortText} {sizeInToken} {0} (${1})を${2}の価格で増額す #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Claiming Price Impact Rebate..." -msgstr "" +msgstr "価格インパクトリベートの請求中..." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Negative funding fees are automatically settled against the collateral and impact the liquidation price. Positive funding fees can be claimed under the claims tab." -msgstr "" +msgstr "ネガティブファンディング手数料は担保に対して自動的に決済され、清算価格に影響します。ポジティブファンディング手数料は請求タブで請求できます。" #: src/pages/Stake/Stake.tsx msgid "Unstake esGMX" -msgstr "" +msgstr "esGMXをアンステーク" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "The actual trigger price at which order gets filled will depend on fees and price impact at the time of execution to guarantee that you receive the minimum receive amount." -msgstr "" +msgstr "注文が執行される実際のトリガー価格は、実行時の手数料と価格インパクトに依存し、最低受け取り額を保証します。" #: src/components/Exchange/PositionDropdown.tsx msgid "Set TP/SL" -msgstr "" +msgstr "TP/SLを設定" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition. The Order will get filled when the condition is met." @@ -3908,7 +3956,7 @@ msgstr "実行価格が許容価格条件を満たしませんでした。条件 #: src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx msgid "Initial Collateral (Collateral excluding Borrow and Funding Fee)." -msgstr "" +msgstr "最初の担保 (借入およびファンディング手数料を除く担保)。" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx @@ -3917,15 +3965,15 @@ msgstr "ネットレート / 1時間" #: src/pages/Stake/ClaimModal.tsx msgid "Claim esGMX Rewards" -msgstr "" +msgstr "esGMX報酬を請求" #: src/pages/Stake/Stake.tsx msgid "Trading incentives program is live on {avalancheLink}." -msgstr "" +msgstr "トレーディングインセンティブプログラムが{avalancheLink}でライブです。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending sell request" -msgstr "" +msgstr "売却リクエスト送信中" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx @@ -3935,11 +3983,11 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "NA" -msgstr "" +msgstr "NA" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This action will not apply for that position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "担保として{0}を使用した既存のポジションがあります。このアクションはそのポジションに適用されません。<0>{1}担保に切り替える</0>。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -4004,24 +4052,24 @@ msgstr "ショート" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "PnL ($)" -msgstr "" +msgstr "損益 ($)" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "GMX Market Tokens" -msgstr "" +msgstr "GMXマーケットトークン" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is above mark price" -msgstr "" +msgstr "ストップマーケット価格がマーク価格を上回っています" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Txn failed. <0>View</0>." -msgstr "" +msgstr "取引失敗。<0>表示</0>。" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Affiliate Vault" -msgstr "" +msgstr "アフィリエイトボールト" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/trade/utils/validation.ts @@ -4038,8 +4086,8 @@ msgstr "マーケット増額失敗" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "" +#~ msgid "EIP-4844 Competition" +#~ msgstr "EIP-4844コンペティション" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4057,7 +4105,7 @@ msgstr "清算価格" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trading Pair Price Alerts" -msgstr "" +msgstr "トレーディングペア価格アラート" #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The exact execution price may vary depending on fees at the time the order is executed." @@ -4065,11 +4113,11 @@ msgstr "この注文が執行された場合、少なくとも{0} {1}を受け #: src/components/Common/SEO.tsx msgid "GMX | Decentralized Perpetual Exchange" -msgstr "" +msgstr "GMX | 分散型永続取引所" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "<0>Botanix</0> currently only supports" -msgstr "" +msgstr "<0>Botanix</0>は現在のみサポート" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "No position" @@ -4088,15 +4136,15 @@ msgstr "キャンセルできませんでした" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "{daysConsidered}d Earned Fees" -msgstr "" +msgstr "{daysConsidered}日間の獲得手数料" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Fulfilling order request" -msgstr "" +msgstr "注文リクエストを履行中" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance to pay for gas" -msgstr "" +msgstr "ガス支払いのための{0}残高が不足しています" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can currently vest a maximum of {0} esGMX tokens at a ratio of {1} {stakingToken} to 1 esGMX." @@ -4104,19 +4152,19 @@ msgstr "{1} {stakingToken}対1 esGMXの比率で最大{0} esGMXトークンを #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy AVAX directly to Avalanche or transfer it there." -msgstr "" +msgstr "AVAXをAvalancheに直接購入するか、そこに転送してください。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Open Ocean" -msgstr "" +msgstr "Open Ocean" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Single" -msgstr "" +msgstr "シングル" #: src/domain/synthetics/orders/prepareOrderTxn.ts msgid "Error preparing transaction. Provider is not defined" -msgstr "" +msgstr "取引準備エラー。プロバイダーが定義されていません" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx msgid "Funding fees" @@ -4124,15 +4172,15 @@ msgstr "ファンディング手数料" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity in GM Pool" -msgstr "" +msgstr "GMプールの流動性が不足しています" #: src/components/Exchange/ExchangeBanner.jsx msgid "Trade on GMX and win <0>$250.000</0> in prizes! Live until November 30th, <1>click here</1> to learn more." -msgstr "GMXでトレードして賞金<0>250ドル</0>を獲得しよう! 11月30日まで。詳細は<1>ここをクリック</1> " +msgstr "GMXでトレードして賞金<0>250,000ドル</0>を獲得しよう! 11月30日まで。<1>ここをクリック</1>して詳細を知る。" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "tBTC LP incentives" -msgstr "" +msgstr "tBTC LPインセンティブ" #: src/components/ModalViews/RedirectModal.tsx msgid "You are leaving GMX.io and will be redirected to a third party, independent website." @@ -4141,16 +4189,16 @@ msgstr "あなたはGMX.ioを離れ、第三者の別のウェブサイトへ転 #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Borrow Fee" -msgstr "" +msgstr "累積借入手数料" #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "Read more." -msgstr "" +msgstr "詳細を読む。" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "PnL Analysis" -msgstr "" +msgstr "損益分析" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "View Details" @@ -4158,58 +4206,58 @@ msgstr "" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}." -msgstr "" +msgstr "スワップパスがありません。<0>{0}を{swapToTokenSymbol}にスワップ</0>してから{1}に。" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Longs" -msgstr "" +msgstr "ロング" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit submitted." -msgstr "" +msgstr "入金申し込み完了。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown sell GM order" -msgstr "" +msgstr "不明なGM売却注文" #: src/components/NotifyModal/NotifyModal.tsx msgid "<0>Notifications are provided by Notifi and not affiliated with GMX. By subscribing, you agree that info you provide to Notifi will be governed by its </0><1>Privacy Policy</1><2> and </2><3>Terms of Use</3>." -msgstr "" +msgstr "<0>Notifiが提供する通知はGMXと提携していません。購読することで、Notifiに提供した情報がその</0><1>プライバシーポリシー</1><2>および</2><3>利用規約</3>に従うことに同意します。" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} and {avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink}および{avalancheLink} GLVプールは<0>インセンティブ付き{sparkle}。</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Limit: {0} a long position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} ロングリミット: 価格がトリガー価格を下回ったときにロングポジションを{0}。" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1} to {2} within GMX.<2/><3/><4>You can buy {3} on 1inch.</4>" -msgstr "" +msgstr "担保に{0}が必要です。<0/><1/>GMX内で{1}から{2}へのスワップパスが見つかりません。<2/><3/><4>1inchで{3}を購入できます。</4>" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "{0}マーケットプールに既存のポジションがあります。<0><1>{1}マーケットプールに切り替える</1>。</0>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Capital Used" -msgstr "" +msgstr "使用資本" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 10 symbols in name" -msgstr "" +msgstr "名前は最大10文字" #: src/pages/Dashboard/StatsCard.tsx msgid "Users" -msgstr "" +msgstr "ユーザー" #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx msgid "Gas Payment Token" -msgstr "" +msgstr "ガス支払いトークン" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -4228,32 +4276,32 @@ msgstr "価格インパクト" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a token" -msgstr "" +msgstr "トークンを選択" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Market Traders’ PnL" -msgstr "" +msgstr "マーケットトレーダーの損益へのエクスポージャー" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" -msgstr "" +msgstr "最適" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "UI Fee" -msgstr "" +msgstr "UI手数料" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Execute order simulation failed." -msgstr "" +msgstr "注文シミュレーション実行に失敗しました。" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Invalid Transfer Addresses: Please check the url." -msgstr "" +msgstr "無効な転送アドレス: URLを確認してください。" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4262,11 +4310,11 @@ msgstr "GLPインデックス構成" #: src/domain/synthetics/positions/utils.ts msgid "TP" -msgstr "" +msgstr "TP" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "<0>Claimable Funding Fee.</0>" -msgstr "" +msgstr "<0>請求可能ファンディング手数料。</0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Log in to your Binance app and tap [Wallets]. Go to [Web3]." @@ -4285,12 +4333,13 @@ msgstr "それに加え、トリガー注文はマーケット注文であり、 #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" -msgstr "" +msgstr "ドキュメント" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Stats" -msgstr "" +msgstr "GMXトレーディング統計" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx @@ -4301,7 +4350,7 @@ msgstr "注文作成中..." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit disabled, pending {0} upgrade" -msgstr "" +msgstr "{0}アップグレード待ちのため入金無効" #: src/pages/Jobs/Jobs.jsx msgid "Jobs" @@ -4314,19 +4363,15 @@ msgstr "分散型オプションストラテジー" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Technical Announcements" -msgstr "" +msgstr "GMX技術発表" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Market" -msgstr "" +msgstr "ストップマーケット失敗" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Address copied to your clipboard" -msgstr "" - -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "" +msgstr "アドレスがクリップボードにコピーされました" #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4337,7 +4382,7 @@ msgstr "設定" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs Trading Simulations" -msgstr "" +msgstr "Compass Labsトレーディングシミュレーション" #: src/components/Referrals/AffiliatesStats.tsx msgid "Amount of traders you referred." @@ -4345,26 +4390,26 @@ msgstr "あなたが紹介したトレーダー数" #: src/components/Exchange/PositionSeller.jsx msgid "GMX V1 only supports closing positions using market orders. For advanced trading features, use GMX V2." -msgstr "" +msgstr "GMX V1はマーケット注文を使用したポジションの閉じのみをサポートします。高度なトレーディング機能にはGMX V2を使用してください。" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Take Profit" -msgstr "" +msgstr "テイクプロフィット" #: src/components/Exchange/PositionSeller.jsx msgid "Close submitted!" -msgstr "" +msgstr "閉じる申し込み完了!" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Hour(s)" -msgstr "" +msgstr "時間" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} liquidity" -msgstr "" +msgstr "{0}流動性が不足しています" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -4373,11 +4418,11 @@ msgstr "作成者" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Derivatives Portfolio Tracker" -msgstr "" +msgstr "デリバティブポートフォリオトラッカー" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit" -msgstr "" +msgstr "リミットを作成" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer already initiated" @@ -4386,7 +4431,7 @@ msgstr "移転はすでに開始されています" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw submitted." -msgstr "" +msgstr "出金申し込み完了。" #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -4395,11 +4440,11 @@ msgstr "コードを入力" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "Details" -msgstr "" +msgstr "詳細" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Umami DAO" -msgstr "" +msgstr "Umami DAO" #: src/components/Exchange/OrdersList.jsx #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -4408,10 +4453,10 @@ msgstr "注文" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Avalanche" -msgstr "" +msgstr "Avalancheでステーク済" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" msgstr "メディアキット" @@ -4421,7 +4466,7 @@ msgstr "清算リスクを減らす" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "UniDex Leverage" -msgstr "" +msgstr "UniDexレバレッジ" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "collateral" @@ -4442,15 +4487,15 @@ msgstr "オープンの注文はありません" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche Fuji" -msgstr "" +msgstr "Avalanche Fujiで紹介したトレーダー" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claim V2 Rebates from your referred Traders." -msgstr "" +msgstr "紹介したトレーダーからのV2リベートを請求。" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in GM Pools." -msgstr "" +msgstr "GMプールのトークン総額。" #: src/components/Glp/GlpSwap.jsx msgid "Reserved" @@ -4459,7 +4504,7 @@ msgstr "リザーブ済" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Botanix" -msgstr "" +msgstr "Botanix" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -4468,39 +4513,43 @@ msgstr "清算価格を下回る価格" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit / Stop Loss" +msgstr "テイクプロフィット / ストップロス" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" msgstr "" #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" -msgstr "" +msgstr "{networkName}のアカウントにこの取引を送信するための{0}が十分にありません。<0/><1/><2>{1}を購入または{networkName}に転送</2>" #: src/components/TVChartContainer/constants.ts msgid "SL - Long Dec." -msgstr "" +msgstr "SL - ロング減少" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Airdrop" -msgstr "" +msgstr "エアドロップ" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake submitted!" -msgstr "" +msgstr "アンステーク申し込み完了!" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "This competition is held on the {0} network. <0>Change your network</0> to participate." -msgstr "" +msgstr "このコンペティションは{0}ネットワークで開催されます。<0>ネットワークを変更</0>して参加してください。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Loss" -msgstr "" +msgstr "ストップロスを作成" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to generate session" -msgstr "" +msgstr "セッション生成に失敗" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "This competition has ended." -msgstr "" +msgstr "このコンペティションは終了しました。" #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -4508,20 +4557,21 @@ msgid "Shorts Net Rate / 1h" msgstr "1時間あたりのショートネットレート" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" -msgstr "" +msgstr "GLVボールト" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Portuguese)" -msgstr "" +msgstr "GMX (ポルトガル語)" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Stake GMX</0> and earn {gmxAvgAprText} APR" -msgstr "" +msgstr "<0>GMXをステーク</0>して{gmxAvgAprText} APRを獲得" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Mozaic Finance" -msgstr "" +msgstr "Mozaic Finance" #: src/pages/Exchange/Exchange.tsx msgid "Withdrew {0} USD from {tokenSymbol} {longOrShortText}." @@ -4529,33 +4579,33 @@ msgstr "{tokenSymbol} {longOrShortText}から{0} USDを出金" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Accrued Funding Fee." -msgstr "" +msgstr "累積ファンディング手数料。" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw failed." -msgstr "" +msgstr "出金に失敗しました。" #: src/pages/Stake/ClaimModal.tsx msgid "Pending GMX approval" -msgstr "" +msgstr "GMX承認待ち" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "No markets found." -msgstr "" +msgstr "マーケットが見つかりません。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "ODOS" -msgstr "" +msgstr "ODOS" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Substack" -msgstr "" +msgstr "GMX Substack" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Positions Bot" -msgstr "" +msgstr "GMXポジションボット" #: src/components/Referrals/TradersStats.tsx msgid "Edit Referral Code" @@ -4563,39 +4613,35 @@ msgstr "紹介コード編集" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Take Profit" -msgstr "" +msgstr "テイクプロフィットを実行" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stryke" -msgstr "" +msgstr "Stryke" #: src/components/Errors/errorToasts.tsx msgid "External swap is temporarily disabled. Please try again." -msgstr "" +msgstr "外部スワップは一時的に無効です。再試行してください。" #: src/components/Stake/GMXAprTooltip.tsx msgid "GMX APR" -msgstr "" - -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "" +msgstr "GMX APR" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" -msgstr "" +msgstr "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "{0}マーケットプールに既存のリミット注文があります。<0><1>{1}マーケットプールに切り替える</1>。</0>" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" -msgstr "" +msgstr "減少中" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "You have set a high allowed slippage. The current swap impact including fees is {0}." -msgstr "" +msgstr "高い許容スリッページを設定しました。手数料を含む現在のスワップインパクトは{0}です。" #: src/components/Referrals/AffiliatesStats.tsx msgid "Create Referral Code" @@ -4603,7 +4649,7 @@ msgstr "紹介コード作成" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined take profits are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "組み合わせテイクプロフィットが最大(100%)です。既存の値を減少させて注文を追加してください。" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks" @@ -4611,7 +4657,7 @@ msgstr "ネットワーク" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: {1}, Price: {priceDisplay}" -msgstr "" +msgstr "{0}: {1}, 価格: {priceDisplay}" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx @@ -4621,7 +4667,7 @@ msgstr "プール" #: src/components/Header/HomeHeaderLinks.tsx msgid "Voting" -msgstr "" +msgstr "投票" #: src/components/Exchange/TradeHistory.jsx msgid "This position was liquidated as the max leverage of 100x was exceeded." @@ -4629,11 +4675,11 @@ msgstr "このポジションは最大レバレッジ倍率(100倍)を超過し #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "<0>Switch to:</0>" -msgstr "" +msgstr "<0>切り替え:</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Limit: {0} a short position when the price is above the trigger price." -msgstr "" +msgstr "{typeString} ショートリミット: 価格がトリガー価格を上回ったときにショートポジションを{0}。" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "No trades match the selected filters" @@ -4646,7 +4692,7 @@ msgstr "減額しました" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Updating {orderText}." -msgstr "" +msgstr "{orderText} を更新中。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4657,11 +4703,11 @@ msgstr "" #: src/domain/synthetics/orders/utils.tsx #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease" -msgstr "減額" +msgstr "減少" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover collateral below 5 USD" -msgstr "" +msgstr "残りの担保が5 USD未満" #: src/lib/legacy.ts msgid "Order cannot be executed as it would reduce the position's leverage below 1" @@ -4669,7 +4715,7 @@ msgstr "レバレッジ倍率が1倍以下になるため注文を執行でき #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "Existing Executable Trigger Orders" -msgstr "" +msgstr "既存の執行可能なトリガー注文" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Weight" @@ -4677,11 +4723,11 @@ msgstr "ウェイト" #: src/components/Exchange/PositionShare.tsx msgid "Link copied to clipboard." -msgstr "リンクがクリップボードにコピーされました" +msgstr "リンクがクリップボードにコピーされました。" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max slippage precision is -0.01%" -msgstr "" +msgstr "最大スリッページ精度は-0.01%" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Dec." @@ -4693,25 +4739,24 @@ msgstr "GMXの週ごとの最新情報" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} only from your long position." -msgstr "" +msgstr "{indexSymbol} のロングはロングポジションからのみとなります。" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal}" -msgstr "合計 アクティブ: {openTotal} 執行済: {executedTotal} キャンセル済: {cancelledTotal}" +msgstr "合計 アクティブ: {openTotal}、執行済: {executedTotal}、キャンセル済: {cancelledTotal}" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h Low" -msgstr "" +msgstr "24時間安値" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "" +#~ msgid "Chain Icon" +#~ msgstr "チェーンアイコン" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" -msgstr "" +msgstr "{0, plural, one {# ポジション} other {# ポジション}} の決済リクエストを送信しました" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -4720,61 +4765,62 @@ msgstr "Arbitrum上の価格" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GMはこの市場で指定された売却上限まで{0}で売却可能です。プールの残りのトークンは現在オープン中のポジション用に予約されています。" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "REBATE" -msgstr "" +msgstr "リベート" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." -msgstr "" - -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "" +msgstr "最小受取額が満たされた場合でも、注文を執行するための十分な流動性がない可能性があります。" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" -msgstr "" +msgstr "総取引数" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Market Composition" -msgstr "" +msgstr "市場構成" #: src/components/Errors/errorToasts.tsx msgid "<0>Permit signature is invalid. Please try again.</0>" -msgstr "" +msgstr "<0>許可署名が無効です。もう一度お試しください。</0>" #: src/components/NpsModal/NpsModal.tsx msgid "Enter your answer here" -msgstr "" +msgstr "ここに回答を入力してください" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Firebird Finance" -msgstr "" +msgstr "Firebird Finance" #: src/pages/Stake/Stake.tsx msgid "Stake GMX" -msgstr "" +msgstr "GMXをステーク" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shifting from <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> to <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" -msgstr "" +msgstr "<0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> から <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3> へシフト中" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TWAP: {0} a long position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} ロング TWAP: 指定された時間に均等に分散された部分で {0} のロングポジション。" #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated!" msgstr "紹介コードの更新完了!" +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "構成" + #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" -msgstr "" +msgstr "お気に入り" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} short capacity" @@ -4786,11 +4832,11 @@ msgstr "実行価格が許容価格条件を満たしませんでした。" #: src/pages/Stake/VesterDepositModal.tsx msgid "Reserve Amount" -msgstr "" +msgstr "予約額" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling buy request" -msgstr "" +msgstr "購入リクエストを履行中" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Reason: {0}" @@ -4798,7 +4844,7 @@ msgstr "理由: {0}" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Approval nonce expired. Please sign a new approval." -msgstr "" +msgstr "ワンクリック承認のノンスが期限切れです。新規承認に署名してください。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -4825,9 +4871,9 @@ msgstr "すべての時間" msgid "Select your vesting option below then click \"Claim\"." msgstr "べスティングオプションを選択して\"請求\"をクリック。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." -msgstr "" +msgstr "時間加重平均価格 (TWAP) 注文のデフォルト部分数。" #: src/pages/Home/Home.tsx msgid "Save on Costs" @@ -4835,23 +4881,23 @@ msgstr "コスト削減" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order cancelled" -msgstr "" +msgstr "購入注文をキャンセルしました" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Reserve" -msgstr "" +msgstr "{longShortText} {0} 予約" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Cancel newly created orders" -msgstr "" +msgstr "新規作成注文をキャンセル" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegate" -msgstr "" +msgstr "委任" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Harmonix" -msgstr "" +msgstr "Harmonix" #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid NFT Address" @@ -4859,39 +4905,39 @@ msgstr "無効なNFTアドレス" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LIQ." -msgstr "" +msgstr "清算" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP and GMX autocompounding vaults" -msgstr "" +msgstr "GLPおよびGMXの自動複利ボールト" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "esGMX OTC Market" -msgstr "" +msgstr "esGMX OTC市場" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Leverage Trading Terminal" -msgstr "" +msgstr "レバレッジ取引ターミナル" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing shorts and<0/>decreasing longs." -msgstr "" +msgstr "ショート増加および<0/>ロング減少の執行価格。" #: src/pages/Stake/Stake.tsx msgid "Deposit <0>GMX</0> and <1>esGMX</1> tokens to earn rewards." -msgstr "" +msgstr "<0>GMX</0> および <1>esGMX</1> トークンを入金して報酬を獲得。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "The bonus rebate is an estimate and can be up to {0}% of the open fee. It will be airdropped as {incentivesTokenTitle} tokens on a pro-rata basis. <0><1>Read more</1>.</0>" -msgstr "" +msgstr "ボーナスリベートは推定値で、オープン手数料の最大{0}%です。比例配分で{incentivesTokenTitle}トークンとしてエアドロップされます。<0><1>詳細を読む</1>.</0>" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>The order will be executed when the oracle price is {0} {1}.</0><1/><2>Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if the price impact exceeds your acceptable price.</2>" -msgstr "" +msgstr "<0>オラクル価格が {0} {1} になったときに注文が執行されます。</0><1/><2>チェーンがダウンしてオラクルレポートが生成されない場合や、価格インパクトが許容価格を超過する場合など、注文が執行されない稀なケースがある可能性があります。</2>" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Market" -msgstr "" +msgstr "ストップマーケットを作成" #: src/components/Exchange/SwapBox.jsx msgid "Swap submitted!" @@ -4899,14 +4945,14 @@ msgstr "スワップ申し込み完了!" #: src/components/Exchange/SwapBox.jsx msgid "V1 trading disabled. Switch to V2" -msgstr "" +msgstr "V1取引無効。V2に切り替え" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche" -msgstr "" +msgstr "V1 Avalanche" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -4915,15 +4961,15 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Collateral ({0})" -msgstr "担保 ({0})" +msgstr "担保 ({0})" #: src/pages/Stake/StakeModal.tsx msgid "You will earn {0}% more rewards with this action." -msgstr "" +msgstr "このアクションで{0}%多くの報酬を獲得できます。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" -msgstr "" +msgstr "最大ネットワーク手数料バッファ" #: src/components/Exchange/OrderEditor.jsx msgid "Order updated!" @@ -4931,15 +4977,15 @@ msgstr "注文更新完了!" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "ショートポジションから{indexSymbol}をショートし、{collateralSymbol}担保から{collateralSymbol}をロングします。清算価格は{collateralSymbol}の価格に基づいて変動します。" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Market: Swap tokens at the current market price." -msgstr "" +msgstr "スワップ市場: 現在の市場価格でトークンをスワップ。" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "TVL/CAP" -msgstr "" +msgstr "TVL/キャップ" #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx @@ -4948,11 +4994,11 @@ msgstr "担保として使用する{0}を含むプールを選択してくださ #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Trading Simulations on GMX using DOJO" -msgstr "" +msgstr "DOJOを使ったGMXでの取引シミュレーション" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Farming" -msgstr "" +msgstr "イールドファーミング" #: src/lib/contracts/callContract.tsx msgid "Transaction completed!" @@ -4960,11 +5006,11 @@ msgstr "取引完了!" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approving..." -msgstr "承認中" +msgstr "承認中..." #: src/components/Exchange/PositionSeller.jsx msgid "Neither Collateral nor realized PnL is enough to cover pending Fees. Please close a larger position amount." -msgstr "" +msgstr "担保も実現PnLも保留中の手数料をカバーするのに十分ではありません。より大きなポジション額をクローズしてください。" #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4973,60 +5019,61 @@ msgstr "利用率" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "One-Click Settings" -msgstr "" +msgstr "ワンクリック設定" #: src/components/NotifyModal/NotifyModal.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements" -msgstr "" +msgstr "GMXのお知らせ" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" -msgstr "紹介アカウント" +msgstr "紹介" #: src/components/Exchange/PositionSeller.jsx msgid "Max Leverage without PnL: 100x" -msgstr "" +msgstr "PnLなしの最大レバレッジ: 100x" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Short" -msgstr "ショートを確認する" +msgstr "ショートを確認" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Short Liquidity" -msgstr "" +msgstr "ショート流動性" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Order Type" -msgstr "" +msgstr "注文タイプ" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order executed" -msgstr "" +msgstr "売却注文執行済" #: src/domain/synthetics/orders/createStakeOrUnStakeTxn.tsx msgid "Failed to {0}" -msgstr "" +msgstr "{0}に失敗" #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Affiliate Rewards Claimed" -msgstr "" +msgstr "アフィリエイト報酬請求済" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Order error. Prices are currently volatile for this market, try again by <0>increasing the allowed slippage</0> under the advanced display section." -msgstr "" +msgstr "注文エラー。この市場の価格が現在変動しています。<0>最大スリッページを増加</0>させて先進表示セクションで再試行してください。" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Swap Price Impact for External Swap Threshold" -msgstr "" +msgstr "外部スワップ閾値のスワップ価格インパクト" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Limit / Take Profit / Stop Loss" -msgstr "" +msgstr "指値 / テイクプロフィット / ストップロス" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -5040,24 +5087,21 @@ msgstr "このポジションは手数料を考慮した上での最大レバレ #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Swap {0}" -msgstr "" +msgstr "{0}をスワップ" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order submitted!" msgstr "スワップ注文提出済!" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5066,11 +5110,11 @@ msgstr "スワップ注文提出済!" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Loading..." -msgstr "ロード中" +msgstr "ロード中..." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" -msgstr "" +msgstr "レバレッジ表示にPnLを含める" #: src/components/Exchange/PositionsList.jsx msgid "Share" @@ -5086,11 +5130,11 @@ msgstr "執行" #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Trades" -msgstr "トレード" +msgstr "取引" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available." -msgstr "" +msgstr "利用可能なスワップパスがありません。" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Telegram Groups" @@ -5099,31 +5143,31 @@ msgstr "Telegramグループ" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Search Action" -msgstr "" +msgstr "アクションを検索" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" -msgstr "" +msgstr "レバレッジスライダーを表示" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Cancelling {orderText}." -msgstr "" +msgstr "{orderText} をキャンセル中。" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "" +#~ msgid "CONCLUDED" +#~ msgstr "終了" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" -msgstr "" +msgstr "担保デルタ" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "Realized PnL after fees and price impact." -msgstr "" +msgstr "手数料と価格インパクト後の実現PnL。" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Long Liquidity" -msgstr "" +msgstr "ロング流動性" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -5135,7 +5179,7 @@ msgstr "注文の執行価格" #: src/components/AprInfo/AprInfo.tsx msgid "wstETH APR" -msgstr "" +msgstr "wstETH APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group" @@ -5143,11 +5187,11 @@ msgstr "Telegramグループ" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TP/SL: {0} a long position when the trigger price is reached." -msgstr "" +msgstr "{typeString} ロング TP/SL: トリガー価格に達したときに {0} のロングポジション。" #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{toTokenIcon}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> から </1>{toTokenIcon}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in any {0}/USD market pools for your order." @@ -5156,11 +5200,11 @@ msgstr "あなたの注文に対して、どの{0}/USDマーケットプール #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have not traded during the selected period." -msgstr "" +msgstr "選択された期間中に取引していません。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "The trigger price for this order is based on the swap fees and price impact to guarantee that you will receive at least {toMinText} on order execution." -msgstr "" +msgstr "この注文のトリガー価格は、スワップ手数料と価格インパクトに基づき、注文執行時に少なくとも{toMinText}を受け取ることを保証します。" #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated failed." @@ -5182,6 +5226,7 @@ msgstr "紹介コードが更新できませんでした。" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5194,19 +5239,19 @@ msgstr "価格" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing was cancelled" -msgstr "" +msgstr "許可署名がキャンセルされました" #: src/components/Exchange/PositionSeller.jsx msgid "Realized PnL insufficient for Fees" -msgstr "" +msgstr "実現PnLが手数料に不足" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending shift request" -msgstr "" +msgstr "シフトリクエストを送信中" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Optimizer" -msgstr "" +msgstr "Yield Yak Optimizer" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Incorrect Account" @@ -5214,34 +5259,29 @@ msgstr "誤ったアカウント" #: src/components/Exchange/PositionEditor.jsx msgid "Min residual collateral: 10 USD" -msgstr "" +msgstr "最小残余担保: 10 USD" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX & Voting Power" -msgstr "" +msgstr "GMX & 投票権" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GMX is the utility and governance token. Accrues 30% and 27% of V1 and V2 markets generated fees, respectively." -msgstr "" +msgstr "GMXはユーティリティおよびガバナンストークンです。V1およびV2市場生成手数料のそれぞれ30%と27%を蓄積します。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transferring" msgstr "移転中..." -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "" - #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" -msgstr "" +msgstr "GLP自動複利ボールト" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "TP/SL orders exceed the position" -msgstr "" +msgstr "TP/SL注文がポジションを超過" #: src/components/Glp/GlpSwap.jsx msgid "Buy failed." @@ -5250,19 +5290,19 @@ msgstr "購入できませんでした。" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "pay" -msgstr "" +msgstr "支払い" #: src/pages/Dashboard/GmxCard.tsx msgid "Total circulating supply of GMX tokens." -msgstr "" +msgstr "GMXトークンの総循環供給量。" #: src/pages/Dashboard/WeightText.tsx msgid "Target Weight" msgstr "ターゲットウェイト" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "" +#~ msgid "Winners:" +#~ msgstr "勝者:" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." @@ -5270,20 +5310,20 @@ msgstr "ポジションをクローズする際、利益をどのトークンで #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "You can have up to {allowedAutoCancelOrdersNumber} active auto-cancelable TP/SL orders. Additional orders must be canceled manually, while existing ones will still close automatically with their related position." -msgstr "" +msgstr "最大{allowedAutoCancelOrdersNumber}件のアクティブな自動キャンセル可能TP/SL注文を持つことができます。追加注文は手動でキャンセルする必要があり、既存のものは関連ポジションとともに自動クローズされます。" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL (%)" -msgstr "" +msgstr "トップPnL (%)" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met." -msgstr "" +msgstr "価格条件が満たされた場合でも、注文を執行するための十分な流動性がない可能性があります。" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Error submitting coins" -msgstr "" +msgstr "コイン提出エラー" #: src/components/Glp/GlpSwap.jsx msgid "WARNING: High Fees" @@ -5295,7 +5335,7 @@ msgstr "注文を執行するための利用可能なスワップ流動性が不 #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP Swap" -msgstr "" +msgstr "TWAPスワップをキャンセル" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -5303,6 +5343,10 @@ msgstr "" msgid "Transaction" msgstr "取引" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "昨年" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5315,23 +5359,23 @@ msgstr "無効な清算価格" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized Buy Pressure (BB&D):" -msgstr "" +msgstr "年率化された買い圧力 (BB&D):" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "buy" -msgstr "" +msgstr "購入" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAILABLE LIQ." -msgstr "" +msgstr "利用可能流動性" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized pnl" -msgstr "" +msgstr "未実現PnL開始" #: src/config/events.tsx msgid "Increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions." -msgstr "" +msgstr "GMX V1でのポジション増加 (市場または指値)、担保追加、スワップは無効化されました。既存ポジションのクローズは可能です。" #: src/domain/tokens/approveTokens.tsx msgid "Approval submitted! <0>View status.</0>" @@ -5343,33 +5387,41 @@ msgstr "注文サイズがゼロです" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please reduce the buy size, pick a different GM token, or shift the GM tokens to a different pool and try again." -msgstr "" +msgstr "プールGM: {0} の{1} [{2}]での購入可能上限に達しました。購入サイズを減らすか、別のGMトークンを選択するか、GMトークンを別のプールにシフトして再試行してください。" #: src/components/Exchange/PositionSeller.jsx msgid "Close {longOrShortText} {0}" -msgstr "" +msgstr "{longOrShortText} {0} をクローズ" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" -msgstr "" +msgstr "テストのため検証を無効化" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited!" -msgstr "" +msgstr "入金完了!" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx msgid "TP/SL" -msgstr "" +msgstr "TP/SL" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Max {0} in" msgstr "最大 {0} in" +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "項目なし" + #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" +msgstr "ストップロス減少" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" msgstr "" #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -5401,19 +5453,19 @@ msgstr "オープンのポジションはありません" #: src/components/DepthChart/DepthChart.tsx msgid "Size, $" -msgstr "" +msgstr "サイズ, $" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Close {0} {1}{2}" -msgstr "" +msgstr "{0} {1}{2} をクローズ" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GLV" -msgstr "" +msgstr "GLVを売却" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b Retroactive Bonus" -msgstr "" +msgstr "STIP.b 遡及ボーナス" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right." @@ -5421,15 +5473,23 @@ msgstr "右上の設定メニューにある\"最大スリッページ\"を増 #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy AVAX directly on <0>Avalanche</0> using these options:" -msgstr "" +msgstr "これらのオプションを使って<0>Avalanche</0>上で直接AVAXを購入できます:" #: src/components/Exchange/NetValueTooltip.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" +msgstr "純価値: 初期担保 + PnL - 借入手数料 - クローズ手数料" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "30日" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." msgstr "" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" -msgstr "" +msgstr "アフィリエイトボールト報酬を請求" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select different tokens" @@ -5438,7 +5498,7 @@ msgstr "別のトークンを選択" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Network Fees" -msgstr "" +msgstr "高いネットワーク手数料" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are very high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -5448,47 +5508,47 @@ msgstr "現在ネットワーク手数料が非常に高いです。これは{ch msgid "There are more shorts than longs, borrow fees for longing is currently zero" msgstr "ロングよりショートが多いため、ロングの借入手数料は現在ゼロです" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" -msgstr "" +msgstr "過去90日" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "There is no liquidation price, as the position's collateral value will increase to cover any negative PnL." -msgstr "" +msgstr "ポジションの担保価値が負のPnLをカバーするために増加するため、清算価格はありません。" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Edit Order" -msgstr "" +msgstr "注文を編集" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx msgid "Search Pool" -msgstr "" +msgstr "プールを検索" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Chat" -msgstr "" +msgstr "GMX取引チャット" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" -msgstr "" +msgstr "24時間%" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpie" -msgstr "" +msgstr "Perpie" #: src/components/Exchange/UsefulLinks.tsx msgid "Useful Links" msgstr "有用なリンク" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "外部スワップを有効化" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" -msgstr "" +msgstr "取引確認" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -5497,12 +5557,12 @@ msgid "Available" msgstr "利用可能" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "" +#~ msgid "Last 7 days" +#~ msgstr "過去7日" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" -msgstr "" +msgstr "Solv Finance" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Begin Transfer" @@ -5510,11 +5570,15 @@ msgstr "移転開始" #: src/components/RatingToast/RatingToast.tsx msgid "How likely are you to recommend our service to a friend or colleague?" +msgstr "友人や同僚に当サービスをおすすめする可能性はどれくらいですか?" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" msgstr "" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" -msgstr "" +msgstr "担保スワップのための流動性不足" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx @@ -5523,15 +5587,15 @@ msgstr "市場減少" #: src/components/NotifyModal/NotifyModal.tsx msgid "Governance Alerts" -msgstr "" +msgstr "ガバナンスアラート" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for{2} USDG" -msgstr "" +msgstr "{0} {1} を{2} USDGにスワップ" #: src/components/Header/HomeHeaderLinks.tsx msgid "Governance" -msgstr "" +msgstr "ガバナンス" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -5547,11 +5611,11 @@ msgstr "キャンセル" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} updated." -msgstr "" +msgstr "{orderText} が更新されました。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Tradao" -msgstr "" +msgstr "Tradao" #: src/components/Glp/GlpSwap.jsx msgid "Redemption time not yet reached" @@ -5564,7 +5628,7 @@ msgstr "流動性不足" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Bot" -msgstr "" +msgstr "Telegramボット" #: src/domain/legacy.ts msgid "Order cancelled." @@ -5572,18 +5636,22 @@ msgstr "注文はキャンセルされました。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Swap Part" -msgstr "" +msgstr "TWAPスワップ部分を執行" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {seconds} seconds" -msgstr "" +msgstr "<0>毎</0> {seconds} 秒" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer AVAX to Avalanche" -msgstr "" +msgstr "AVAXを購入またはAvalancheへ移転" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "TokenTerminal" +msgstr "TokenTerminal" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -5598,11 +5666,11 @@ msgstr "最低手数料率で利用するには以下の\"手数料節約\"セ #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The total realized and unrealized profit and loss for the period, including fees and price impact." -msgstr "" +msgstr "期間中の総実現および未実現損益で、手数料と価格インパクトを含む。" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Ann. Performance" -msgstr "" +msgstr "年率パフォーマンス" #: src/domain/legacy.ts msgid "The network Fees are very high currently, which may be due to a temporary increase in transactions on the {0} network." @@ -5614,11 +5682,15 @@ msgstr "現在の{0}のロング" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{0} orders were not updated as max order limit reached" -msgstr "" +msgstr "最大注文制限に達したため{0}注文が更新されませんでした" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "90日" #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" -msgstr "" +msgstr "注文作成完了!" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx #: src/domain/synthetics/orders/utils.tsx @@ -5627,7 +5699,7 @@ msgstr "清算" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Risk Monitoring" -msgstr "" +msgstr "GMXリスク監視" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GLP tokens before" @@ -5635,19 +5707,19 @@ msgstr "受け取り側でこれまでGLPトークンをステークしたこと #: src/domain/synthetics/trade/utils/validation.ts msgid "Min collateral: {0}" -msgstr "" +msgstr "最小担保: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter new amount or price" -msgstr "" +msgstr "新しい額または価格を入力" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Wins and losses for fully closed positions." -msgstr "" +msgstr "完全にクローズされたポジションの勝敗。" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "<0>This will claim {formattedRewards} GMX.<1/><2/>After claiming, you can stake these GMX tokens by using the \"Stake\" button in the GMX section of this Earn page.<3/><4/></0>" -msgstr "" +msgstr "<0>{formattedRewards} GMXを請求します。<1/><2/>請求後、このEarnページのGMXセクションの\"ステーク\"ボタンを使ってこれらのGMXトークンをステークできます。<3/><4/></0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Open Binance app" @@ -5682,11 +5754,11 @@ msgstr "編集" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No available leverage found" -msgstr "" +msgstr "利用可能なレバレッジが見つかりません" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Only addresses with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "\"資本使用\"が{0}を超えるアドレスのみがランク付けされます。" #: src/components/Exchange/ConfirmationBox.jsx msgid "Shorting..." @@ -5698,16 +5770,16 @@ msgstr "{pendingReceiver}への<0>未完了の移転</0> があります。" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Limit size is required" -msgstr "" +msgstr "指値サイズが必要です" #: src/pages/Buy/Buy.tsx #: src/pages/Home/Home.tsx msgid "Protocol Tokens" -msgstr "" +msgstr "プロトコルトークン" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Collateral at Liquidation" -msgstr "" +msgstr "清算時の担保" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming you will be able to vest a maximum of {0} esGMX at a ratio of {1} {stakingToken} to 1 esGMX." @@ -5715,20 +5787,16 @@ msgstr "請求後、最大で{1} {stakingToken} 対 1esGMXトークンの比率 #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Today" -msgstr "" +msgstr "今日" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Receiver Address" msgstr "受け取り側アドレス" -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "" - #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" -msgstr "" +msgstr "から" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -5742,11 +5810,11 @@ msgstr "注文トリガー価格" #: src/components/Glp/GlpSwap.jsx msgid "Epoch ending is not acknowledged" -msgstr "" +msgstr "エポック終了が承認されていません" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Increase" -msgstr "" +msgstr "指値増加" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -5756,11 +5824,11 @@ msgstr "担保を入金または引き出すには、担保の編集アイコン #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing shorts for<4/>this size." -msgstr "" +msgstr "このサイズのロング増加のための流動性がありません。<0/>最大ロングサイズ: {0}<1/><2/>価格インパクトはありません。このサイズのショート減少のための単一の<3/>執行価格があります。<4/>" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using any token from any network:" -msgstr "" +msgstr "任意のネットワークから任意のトークンを使ってGMXを購入:" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume traded by your referred traders." @@ -5772,43 +5840,43 @@ msgstr "ステーブルコイン比率" #: src/domain/synthetics/orders/utils.tsx msgid "Parts of this order will be executed once there is sufficient liquidity." -msgstr "" +msgstr "十分な流動性がある場合にこの注文の一部が執行されます。" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This Order will not be valid for that Position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "担保として{0}を持つ既存ポジションがあります。この注文はそのポジションで有効になりません。<0>{1}担保に切り替え</0>。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Please only use this for full account transfers.<0/>This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account.<1/>Transfers are only supported if the receiving account has not staked GMX or GLP tokens before.<2/>Transfers are one-way, you will not be able to transfer staked tokens back to the sending account." -msgstr "" +msgstr "これは完全なアカウント移転専用です。<0/>これによりすべてのGMX、esGMX、GLP、マルチプライヤーポイントおよび投票権を新しいアカウントに移転します。<1/>受け取りアカウントが以前にGMXまたはGLPトークンをステークしていない場合のみ移転がサポートされます。<2/>移転は一方通行で、ステークされたトークンを送信アカウントに戻すことはできません。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "SNTL esGMX Market" -msgstr "" +msgstr "SNTL esGMX市場" #: src/components/Referrals/TradersStats.tsx msgid "Tier {0} ({currentTierDiscount}% discount)" -msgstr "" +msgstr "ティア {0} ({currentTierDiscount}% 割引)" #: src/domain/synthetics/orders/utils.tsx msgid "This order using {collateralSymbol} as collateral will not be valid for the existing {longText} position using {symbol} as collateral." -msgstr "" +msgstr "{collateralSymbol}を担保とするこの注文は、{symbol}を担保とする既存の{longText}ポジションで有効になりません。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Generative Market eXplore - AIGMX Agent" -msgstr "" +msgstr "Generative Market eXplore - AIGMX Agent" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dolomite" -msgstr "" +msgstr "Dolomite" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order request sent" -msgstr "" +msgstr "注文リクエスト送信済" #: src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx msgid "Express Trading is enabled. Enjoy smoother, more reliable trades!" -msgstr "" +msgstr "エクスプレス取引が有効化されました。よりスムーズで信頼性の高い取引をお楽しみください!" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Alternatively, you can select a different \"Collateral In\" token." @@ -5816,23 +5884,27 @@ msgstr "または、別の\"担保\"トークンを選択することもでき #: src/components/NotifyModal/NotifyModal.tsx msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." +msgstr "GMXからアラートとお知らせを受け取り、取引、清算リスクなどを把握しましょう。" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/PageNotFound/PageNotFound.jsx msgid "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" -msgstr "<0>戻る </0><1>ホームページへ</1> <2>or </2> <3>トレードへ</3>" +msgstr "<0>戻る </0><1>ホームページへ</1> <2>または </2> <3>トレードへ</3>" #: src/components/Synthetics/BridgingInfo/BridgingInfo.tsx msgid "Bridge {tokenSymbol} to {chainName} with" -msgstr "" +msgstr "{tokenSymbol} を {chainName} にブリッジ" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing failed" -msgstr "" +msgstr "許可署名に失敗" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price below mark price" -msgstr "" +msgstr "ストップマーケット価格がマーク価格を下回る" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -5842,18 +5914,18 @@ msgstr "{0} {1} を {2} {3}にスワップしました!" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "A size percentage is required" -msgstr "" +msgstr "サイズパーセンテージが必要です" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show more" -msgstr "" +msgstr "さらに表示" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized Fees" -msgstr "" +msgstr "未実現手数料" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx @@ -5862,38 +5934,42 @@ msgstr "紹介したトレーダー" #: src/pages/Stake/StakeModal.tsx msgid "Stake submitted!" -msgstr "" +msgstr "ステーク申し込み完了!" #: src/components/Exchange/PositionsList.jsx msgid "Use the \"Close\" button to reduce your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "\"クローズ\"ボタンを使ってポジションサイズを減らすか、テイクプロフィット / ストップロス注文を設定してください。" #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Market)" -msgstr "" +msgstr "サイズ増加 (市場)" #: src/domain/synthetics/trade/utils/validation.ts msgid "Couldn't find a swap path with enough liquidity" -msgstr "" +msgstr "十分な流動性を持つスワップパスが見つかりませんでした" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdrawn!" -msgstr "" +msgstr "引き出し完了!" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "3rd Place" +msgstr "3位" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." msgstr "" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" -msgstr "" +msgstr "請求に失敗" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Loss" -msgstr "" +msgstr "ストップロスを更新" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -5913,25 +5989,25 @@ msgstr "{0}の最大ロング値を超過しています" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "N/A" -msgstr "" +msgstr "該当なし" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is below mark price" -msgstr "" +msgstr "ストップマーケット価格がマーク価格を下回る" #: src/components/Exchange/PositionEditor.jsx #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Amount should be greater than zero" -msgstr "" +msgstr "額はゼロより大きくなければなりません" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpetuals Aggregator" -msgstr "" +msgstr "パーペチュアルアグリゲーター" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "" +#~ msgid "LIVE" +#~ msgstr "ライブ" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -5952,20 +6028,20 @@ msgstr "残高" #: src/pages/Stake/Stake.tsx msgid "Liquidity and trading incentives programs are live on {avalancheLink}." -msgstr "" +msgstr "{avalancheLink}上で流動性および取引インセンティブプログラムがライブです。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX v2 Telegram & Discord Analytics" -msgstr "" +msgstr "GMX v2 Telegram & Discord分析" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-enable" -msgstr "" +msgstr "再有効化" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "I do not want to transfer the Affiliate esGMX tokens" -msgstr "" +msgstr "アフィリエイトesGMXトークンを移転したくない" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and {action}" @@ -5973,47 +6049,47 @@ msgstr "利益喪失および{action}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win/Loss" -msgstr "" +msgstr "勝/敗" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Names could be separated by commas or spaces" -msgstr "" +msgstr "名前はコンマまたはスペースで区切ることができます" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from decentralized exchanges" -msgstr "" +msgstr "分散型取引所からGMXを購入" #: src/components/NotifyModal/NotifyModal.tsx msgid "Powered by" -msgstr "" +msgstr "提供:" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order executed" -msgstr "" +msgstr "購入注文執行済" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the set acceptable price impact. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "注文の許容価格には設定された許容価格インパクトが含まれます。執行価格はこの条件を満たす必要があります。" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "This TWAP order will execute {numberOfParts} {0} {type} orders of {1} each over the next {2} for the {3} market." -msgstr "" +msgstr "このTWAP注文は{3}市場で次の{2}にわたって各{1}の{numberOfParts} {0} {type}注文を執行します。" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim submitted." -msgstr "" +msgstr "請求提出済。" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "OPEN INTEREST" -msgstr "" +msgstr "建玉" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Failed to download trade history CSV." -msgstr "" +msgstr "取引履歴CSVのダウンロードに失敗。" #: src/domain/synthetics/positions/utils.ts msgid "market" -msgstr "" +msgstr "市場" #: src/components/Referrals/JoinReferralCode.tsx msgid "Same as current active code" @@ -6021,20 +6097,20 @@ msgstr "現在アクティブなコードと同じです" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "The current swap impact including fees is {0}. Consider adding a buffer of 1% to it so the order is more likely to be processed" -msgstr "" +msgstr "手数料を含む現在のスワップインパクトは{0}です。注文が処理されやすくなるよう1%のバッファを追加することを検討してください" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Win / Loss" -msgstr "" +msgstr "勝 / 敗" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 rebates are airdropped weekly. V2 rebates are automatically applied as fee discounts on each trade and do not show on this table." -msgstr "" +msgstr "V1リベートは週次でエアドロップされます。V2リベートは各取引で自動的に手数料割引として適用され、このテーブルには表示されません。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min position size: {0}" -msgstr "" +msgstr "最小ポジションサイズ: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6042,36 +6118,36 @@ msgstr "" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below mark price" -msgstr "" +msgstr "トリガー価格がマーク価格を下回る" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "No delegate found" -msgstr "" +msgstr "委任先が見つかりません" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Community with NFTs, Trading and Education initiatives" -msgstr "" +msgstr "NFT、取引、教育イニシアチブを持つGMXコミュニティ" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Confirmations" -msgstr "" +msgstr "清算確認" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the stop market order executes." -msgstr "" +msgstr "ストップマーケット注文が執行された場合の現在の価格インパクトを含む注文の予想執行価格。" #: src/components/Glp/GlpSwap.jsx msgid "Acknowledge epoch is ending in {minutes} minutes" -msgstr "" +msgstr "{minutes}分でエポック終了を承認" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Price Impact" -msgstr "" +msgstr "高い価格インパクト" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX. For security reasons, we won't contact you first. Please send the message \"I have feedback\" to any of our official accounts:" -msgstr "" +msgstr "GMXの改善にあなたの洞察をお願いします。セキュリティのため、最初に連絡しません。公式アカウントのいずれかに\"I have feedback\"のメッセージを送ってください:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Claim esGMX" @@ -6079,19 +6155,19 @@ msgstr "esGMXの請求" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer ETH to Arbitrum" -msgstr "" +msgstr "ETHを購入またはArbitrumへ移転" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." -msgstr "" +msgstr "注文時の指定価格と執行価格の最大パーセンテージ差。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the limit order executes." -msgstr "" +msgstr "指値注文が執行された場合の現在の価格インパクトを含む注文の予想執行価格。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of open fee" -msgstr "" +msgstr "オープン手数料の" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -6125,7 +6201,7 @@ msgstr "指値スワップの執行" #: src/pages/BuyGMX/BuyGMX.tsx msgid "To purchase GMX on the {0} blockchain, please <0>change your network</0>." -msgstr "" +msgstr "{0}ブロックチェーン上でGMXを購入するには、<0>ネットワークを変更</0>してください。" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx #: src/components/NpsModal/NpsModal.tsx @@ -6136,7 +6212,7 @@ msgstr "提出" #: src/domain/tokens/approveTokens.tsx msgid "Permit signed!" -msgstr "" +msgstr "許可署名完了!" #: src/components/Exchange/TradeHistory.jsx msgid "Request withdrawal from {0} {longOrShortText}" @@ -6144,13 +6220,14 @@ msgstr "{0} {longOrShortText}からの出金をリクエスト" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Select an option" -msgstr "選択肢を選ぶ" +msgstr "オプションを選択" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "less than a minute" -msgstr "" +msgstr "1分未満" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "エコシステム" @@ -6170,14 +6247,14 @@ msgstr "作成" msgid "Limit order submitted!" msgstr "指値注文提出済!" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" -msgstr "" +msgstr "過去7日" #: src/components/Synthetics/StatusNotification/StakeNotification.tsx msgid "Swap {fromAmount} for {toAmount}" -msgstr "" +msgstr "{fromAmount} を {toAmount} にスワップ" #: src/components/Exchange/PositionShare.tsx msgid "Copy" @@ -6191,11 +6268,11 @@ msgstr "額" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} order" -msgstr "" +msgstr "{0}の注文を作成" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx msgid "Edit {0} {1}{2}" -msgstr "" +msgstr "{0} {1}{2} を編集" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6204,11 +6281,11 @@ msgstr "紹介報酬支払い履歴はありません。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Governance" -msgstr "" +msgstr "GMXガバナンス" #: src/domain/synthetics/orders/utils.tsx msgid "trigger price" -msgstr "" +msgstr "トリガー価格" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -6225,12 +6302,12 @@ msgstr "請求" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Price Impact / Fees" -msgstr "" +msgstr "価格インパクト / 手数料" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "" +#~ msgid "GMX {versionName} Account" +#~ msgstr "GMX {versionName} アカウント" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6244,11 +6321,11 @@ msgstr "注文執行価格は価格インパクトを考慮しています。" #: src/pages/Buy/Buy.tsx msgid "Buy GLP or GMX" -msgstr "" +msgstr "GLPまたはGMXを購入" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max Out" -msgstr "" +msgstr "最大アウト" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6276,35 +6353,39 @@ msgstr "接続" #: src/components/InterviewToast/InterviewToast.tsx msgid "Click here to give us your feedback on GMX." -msgstr "" +msgstr "ここをクリックしてGMXへのフィードバックをお願いします。" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche Fuji" -msgstr "" +msgstr "V1 Avalanche Fuji" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "1st Place" -msgstr "" +msgstr "1位" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "D2.Finance" -msgstr "" +msgstr "D2.Finance" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized:" +msgstr "年率化:" + +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" msgstr "" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" -msgstr "" +msgstr "承認署名に失敗" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Starts in" -msgstr "" +msgstr "開始まで" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -6314,13 +6395,9 @@ msgstr "現在ネットワーク手数料が高いです。これは{chainName} msgid "Scan the QR code" msgstr "QRコードをスキャン" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" -msgstr "" +msgstr "不明なシフトGM注文" #: src/components/Exchange/TradeHistory.jsx msgid "Max leverage of 100x was exceeded, the remaining collateral after deducting losses and fees have been sent back to your account:" @@ -6328,7 +6405,7 @@ msgstr "最大レバレッジ100倍を超過し、損失と手数料を差し引 #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Shifting {symbol}..." -msgstr "" +msgstr "{symbol} をシフト中..." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order." @@ -6340,23 +6417,27 @@ msgstr "注文を執行するための利用可能な流動性が不足してい #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above mark price" -msgstr "" +msgstr "トリガー価格がマーク価格を上回る" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size exceeds position" msgstr "注文のサイズがポジションを超えています" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "" + #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" msgstr "注文更新の申し込み済!" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw failed." -msgstr "" +msgstr "引き出し有効化に失敗。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Explore, analyze, and copy on-chain traders" -msgstr "" +msgstr "オンチェーントレーダーを探索、分析、コピー" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit" @@ -6364,7 +6445,7 @@ msgstr "利益喪失" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Sell Fee" -msgstr "" +msgstr "売却手数料" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx @@ -6372,11 +6453,11 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Execution Details" -msgstr "" +msgstr "執行詳細" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GM Airdrop" -msgstr "" +msgstr "GMエアドロップ" #: src/components/Glp/GlpSwap.jsx msgid "Save on Fees" @@ -6384,7 +6465,7 @@ msgstr "手数料削減" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Take Profit" -msgstr "" +msgstr "テイクプロフィットを更新" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -6393,24 +6474,24 @@ msgstr "アクティブな注文" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "You have set a high acceptable price impact. The current price impact is {0}." -msgstr "" +msgstr "高い許容価格インパクトを設定しました。現在の価格インパクトは{0}です。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Lending and Borrowing" -msgstr "" +msgstr "貸借" #: src/components/Exchange/SwapBox.jsx msgid "Switch to {0} collateral." -msgstr "" +msgstr "{0}担保に切り替え。" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GMX Vault" -msgstr "" +msgstr "GMXボールト" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Jones DAO" -msgstr "" +msgstr "Jones DAO" #: src/components/Exchange/TradeHistory.jsx msgid "Partially Liquidated" @@ -6422,16 +6503,16 @@ msgstr "GLP残高不足" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Minute(s)" -msgstr "" +msgstr "分" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized Fees" -msgstr "" +msgstr "未実現手数料開始" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "V2 trading" -msgstr "" +msgstr "V2取引" #: src/components/Exchange/ConfirmationBox.jsx msgid "view" @@ -6439,7 +6520,7 @@ msgstr "見る" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancel failed." -msgstr "" +msgstr "{orderText} キャンセルに失敗。" #: src/components/Exchange/OrdersToa.jsx msgid "Accept terms to enable orders" @@ -6461,6 +6542,9 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{0} {longOrShortText}を清算、\n" +"-{1} USD、\n" +"{2} 価格: {3} USD" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Inc." @@ -6468,36 +6552,36 @@ msgstr "含む" #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed amount" -msgstr "" +msgstr "手数料が額を超過" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx msgid "Search Type" -msgstr "" +msgstr "検索タイプ" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is below its target weight.<0/><1/>Get lower fees to <2>buy GLP</2> with {1}, and to <3>swap</3> {2} for other tokens." -msgstr "{0}はターゲットウェイトより低くなっています。<0/><1/>手数料を低くするには、{1}で<2>GLPを購入</2>し、{2}を別のトークンに<3>スワップ</3>\"してください。" +msgstr "{0}はターゲットウェイトより低くなっています。<0/><1/>手数料を低くするには、{1}で<2>GLPを購入</2>し、{2}を別のトークンに<3>スワップ</3>してください。" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win Rate" -msgstr "" +msgstr "勝率" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "<0><1>{1}プールに切り替え</1>て価格インパクトと手数料で{0}を節約。</0>" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" -msgstr "" +msgstr "アフィリエイトボールトにesGMXトークンがあります。これらを新しいアカウントに移転したい場合、引き出す必要があります" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Explorer" -msgstr "" +msgstr "{0} をエクスプローラーで開く" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} and {1} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} および {1} は指定された購入上限までこの市場のGM購入に使用できます。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/StatusNotification/StakeNotification.tsx @@ -6511,7 +6595,7 @@ msgstr "見る" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Market" -msgstr "" +msgstr "ストップマーケットを執行" #: src/components/Referrals/TradersStats.tsx msgid "Volume traded by this account with an active referral code." @@ -6519,7 +6603,7 @@ msgstr "有効な紹介コードを使ってこのアカウントでトレード #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized fees" -msgstr "" +msgstr "未実現手数料開始" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Codes" @@ -6534,11 +6618,16 @@ msgstr "べスティングされたGMXで引き出されていないもの" msgid "FEES" msgstr "手数料" +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "すべての市場" + #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Open Fee" -msgstr "" +msgstr "オープン手数料" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Looks like you don't have a referral code to share. <0/> Create one now and start earning rebates!" @@ -6548,15 +6637,15 @@ msgstr "シェアできる紹介コードがないようです。<0/> コード #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Update 1CT (One-Click Trading) settings" -msgstr "" +msgstr "1CT (ワンクリック取引) 設定を更新" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Kudai AI Agent" -msgstr "" +msgstr "Kudai AI Agent" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Current Price" -msgstr "" +msgstr "現在価格" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT ID" @@ -6564,7 +6653,7 @@ msgstr "NFT IDを入力" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal failed." -msgstr "" +msgstr "引き出しに失敗。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -6577,15 +6666,15 @@ msgstr "指値" #: src/components/AddressView/AddressView.tsx msgid "You" -msgstr "" +msgstr "あなた" #: src/components/Synthetics/GmList/GmList.tsx msgid "Pools providing liquidity to specific GMX markets, supporting single-asset and native asset options." -msgstr "" +msgstr "特定のGMX市場に流動性を提供するプールで、単一アセットおよびネイティブアセットオプションをサポート。" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivate 1CT (One-Click Trading)" -msgstr "" +msgstr "1CT (ワンクリック取引) を無効化" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute deposit into {0} {longOrShortText}" @@ -6606,11 +6695,11 @@ msgstr "入金" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d Est. Fees" -msgstr "" +msgstr "365日推定手数料" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below highest limit price" -msgstr "" +msgstr "トリガー価格が最高指値価格を下回る" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -6622,11 +6711,11 @@ msgstr "許容価格" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell request sent" -msgstr "" +msgstr "売却リクエスト送信済" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Margin Protocol" -msgstr "" +msgstr "DeFiマージンプロトコル" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6636,23 +6725,23 @@ msgstr "レバレッジ有効化中..." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap to the receive token when the price conditions are met." -msgstr "" +msgstr "価格条件が満たされた場合でも、受取トークンへのスワップを執行するための十分な流動性がない可能性があります。" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawn {balanceFormatted} to Main Account" -msgstr "" +msgstr "{balanceFormatted} をメインアカウントに引き出し" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Errors" -msgstr "" +msgstr "取引エラー" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Consider selecting only positions where the accrued funding fee exceeds the {0} gas cost to settle each position." -msgstr "" +msgstr "各ポジションの決済に{0}ガスコストを超える蓄積資金手数料を持つポジションのみを選択することを検討してください。" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} using the pay token selected is reached. Please choose a different pool, reduce the buy size, or pick a different composition of tokens." -msgstr "" +msgstr "選択された支払いトークンを使ったプールGM: {0} の購入可能上限に達しました。別のプールを選択するか、購入サイズを減らすか、別のトークン構成を選択してください。" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you use to buy GLP. <0/>Enter the amount of GLP you want to purchase in the order form, then check here to compare fees." @@ -6660,7 +6749,7 @@ msgstr "GLPの購入にどのアセットを使うかにより手数料は異な #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Claim <0>{0}</0>" -msgstr "" +msgstr "<0>{0}</0> を請求" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6693,15 +6782,17 @@ msgstr "清算までの時間" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Fees" -msgstr "" +msgstr "実現手数料" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Positions" -msgstr "" +msgstr "トップポジション" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" -msgstr "" +msgstr "プール" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute withdrawal from {0} {longOrShortText}" @@ -6709,11 +6800,11 @@ msgstr "{0} {longOrShortText}からの引き出しを実行できませんでし #: src/components/Synthetics/GmList/GlvList.tsx msgid "VAULT" -msgstr "" +msgstr "ボールト" #: src/components/Glp/GlpSwap.jsx msgid "Fees (Rebated)" -msgstr "" +msgstr "手数料 (リベート済)" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Your transfer has been completed." @@ -6721,29 +6812,29 @@ msgstr "移転は完了しました。" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "We Value Your Feedback" -msgstr "" +msgstr "あなたのフィードバックを大切にします" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Loss" -msgstr "" +msgstr "ストップロス" #: src/pages/Stake/Stake.tsx msgid "Liquidity incentives program is live on {avalancheLink}." -msgstr "" +msgstr "{avalancheLink}上で流動性インセンティブプログラムがライブです。" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could still be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "資金調達および借入手数料率が時間とともにポジションの担保を減少させるため、価格変動を除いてもこのポジションは清算される可能性があります。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Transfer {nativeTokenSymbol}" -msgstr "" +msgstr "{nativeTokenSymbol} を移転" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Meme" -msgstr "" +msgstr "ミーム" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx @@ -6752,44 +6843,44 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeboxTransactions.tsx msgid "Error submitting order" -msgstr "" +msgstr "注文提出エラー" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Rebates and V1/V2 esGMX are airdropped weekly. V2 Rebates are claimed manually." -msgstr "" +msgstr "V1リベートおよびV1/V2 esGMXは週次でエアドロップされます。V2リベートは手動で請求されます。" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Duration" -msgstr "" +msgstr "期間" #: src/components/Common/SEO.tsx msgid "Trade spot or perpetual BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet on Arbitrum and Avalanche." -msgstr "" +msgstr "ArbitrumおよびAvalanche上でウォレットから直接、最大100xレバレッジでBTC、ETH、AVAXおよび他のトップ暗号通貨のスポットまたはパーペチュアルを取引。" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max In" -msgstr "" +msgstr "最大イン" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Myself" -msgstr "" +msgstr "自分" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" -msgstr "" +msgstr "アドレスを検索" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max GM buyable amount reached" -msgstr "" +msgstr "最大GM購入可能額に到達" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Session generated" -msgstr "" +msgstr "セッション生成済" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" -msgstr "" +msgstr "GMXを購入" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -6798,27 +6889,27 @@ msgstr "{0}の最大キャパシティ" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copy error" -msgstr "" +msgstr "コピーエラー" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects developed by the GMX community. <0/>Please exercise caution when interacting with any app, apps are fully maintained by community developers." -msgstr "" +msgstr "GMXコミュニティによって開発されたプロジェクト。<0/>アプリとの相互作用時は注意してください。アプリはコミュニティ開発者によって完全に維持されています。" #: src/domain/synthetics/userFeedback/utils.ts msgid "What areas can we improve to make your experience better?" -msgstr "" +msgstr "あなたの体験を向上させるためにどの領域を改善できますか?" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Market: {0} a long position at the current price." -msgstr "" +msgstr "{typeString} ロング市場: 現在の価格で {0} のロングポジション。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a collateral" -msgstr "" +msgstr "担保を選択" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Size per part" -msgstr "" +msgstr "部分ごとのサイズ" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -6835,15 +6926,15 @@ msgstr "{0} 残高の不足" #: src/domain/synthetics/orders/utils.tsx msgid "limit price" -msgstr "" +msgstr "指値価格" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price impact rebates for closing trades are claimable under the claims tab. <0>Read more</0>." -msgstr "" +msgstr "クローズ取引の価格インパクトリベートは請求タブで請求可能です。<0>詳細を読む</0>。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Sending order request" -msgstr "" +msgstr "注文リクエストを送信中" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Can't execute because of an error" @@ -6851,32 +6942,32 @@ msgstr "エラーにより執行できません" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Yield Products" -msgstr "" +msgstr "分散型イールド製品" #: src/components/Exchange/PositionSeller.jsx msgid "Keep Leverage is not possible" -msgstr "" +msgstr "レバレッジ維持は不可能" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee includes fees for additional orders. It will be sent back in full to your account if they don't trigger and are cancelled. <0>Read more</0>." -msgstr "" +msgstr "最大ネットワーク手数料には追加注文の手数料が含まれます。トリガーされずキャンセルされた場合、全額アカウントに返送されます。<0>詳細を読む</0>。" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Failed to settle" -msgstr "" +msgstr "{positionName} の決済に失敗" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates" -msgstr "" +msgstr "リベート" #: src/components/Glp/GlpSwap.jsx msgid "GLP is not sellable" -msgstr "" +msgstr "GLPは売却できません" #: src/pages/BuyGlp/BuyGlp.jsx msgid "GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "GMX V1市場は無効化され、ポジションクローズのみ可能です。GLPは段階的に廃止され、GMX V1市場をサポートしなくなります。" #: src/components/Glp/GlpSwap.jsx msgid "Sell failed." @@ -6884,18 +6975,19 @@ msgstr "売却できませんでした。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit" -msgstr "" +msgstr "指値を更新" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Edit order" -msgstr "注文の編集" +msgstr "注文を編集" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" -msgstr "" +msgstr "請求" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6909,7 +7001,7 @@ msgstr "日付" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using FIAT gateways:" -msgstr "" +msgstr "FIATゲートウェイを使ってGMXを購入:" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Referral code created!" @@ -6931,15 +7023,15 @@ msgstr "トリガー価格" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Sellable" -msgstr "" +msgstr "売却可能" #: src/components/Exchange/PositionSeller.jsx msgid "Initial Collateral (Collateral excluding Borrow Fee)." -msgstr "" +msgstr "初期担保 (借入手数料を除く担保)。" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "COMPETITION Airdrop" -msgstr "" +msgstr "コンペティションエアドロップ" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx @@ -6948,16 +7040,16 @@ msgstr "受け取りアドレスを入力" #: src/pages/Stake/VesterDepositModal.tsx msgid "Additional reserve required" -msgstr "" +msgstr "追加予約必要" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" msgstr "規約" #: src/pages/Stake/ClaimModal.tsx msgid "Convert {wrappedTokenSymbol} to {nativeTokenSymbol}" -msgstr "" +msgstr "{wrappedTokenSymbol} を {nativeTokenSymbol} に変換" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -6970,44 +7062,48 @@ msgstr "ダウンロード" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Swap {0} for {1}" -msgstr "" +msgstr "{0} を {1} にスワップ" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity" -msgstr "" +msgstr "ボールト容量" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "深度" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" -msgstr "減額 アクティブ: {0} 執行済: {1} キャンセル済] {2}" +msgstr "減少 アクティブ: {0}、執行済: {1}、キャンセル済: {2}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 1" -msgstr "" +msgstr "レイヤー1" #: src/components/Exchange/TradeHistory.jsx msgid "{0}  {1} {longOrShortText}, -{2} USD, {3} Price: ${4} USD" -msgstr "" +msgstr "{0}  {1} {longOrShortText}、-{2} USD、{3} 価格: ${4} USD" #: src/components/Exchange/PositionSeller.jsx msgid "Keep leverage at {0}x" -msgstr "" +msgstr "レバレッジを{0}倍に維持" #: src/pages/Stake/StakeModal.tsx msgid "Staking..." -msgstr "ステーク中..." +msgstr "ステーキング中..." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy request sent" -msgstr "" +msgstr "購入リクエストが送信されました" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} amount exceeded" -msgstr "" +msgstr "最大{0}額を超えました" #: src/components/Exchange/PositionSeller.jsx msgid "Position close disabled, pending {0} upgrade" -msgstr "" +msgstr "ポジションクローズが無効化されました。{0}のアップグレードを待機中" #: src/components/Exchange/ConfirmationBox.jsx msgid "Swapping..." @@ -7015,7 +7111,7 @@ msgstr "スワップ中..." #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Realized Base PnL" -msgstr "" +msgstr "実現ベースPnL" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -7023,57 +7119,57 @@ msgstr "" #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap failed." -msgstr "スワップできませんでした。" +msgstr "スワップに失敗しました。" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Failed to withdraw {balanceFormatted} to Main Account" -msgstr "" +msgstr "{balanceFormatted}をメインアカウントへ出金できませんでした" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from swaps for the {0}/{1} market. It is also exposed to {2} and {3} as per the composition displayed." -msgstr "" +msgstr "このトークンは{0}/{1}マーケットのスワップ手数料を自動的に蓄積します。表示された構成に従って{2}と{3}にもエクスポージャーがあります。" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Page outdated, please refresh" -msgstr "ページの内容が期限切れです。更新してください。" +msgstr "ページが古くなっています。更新してください。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals" -msgstr "" +msgstr "GMX提案" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUY…" -msgstr "" +msgstr "購入…" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Arbitrum" -msgstr "ArbitrumでGLPを使ってべスティングする" +msgstr "ArbitrumでGLPを使ってベストする" #: src/components/InterviewModal/InterviewModal.tsx #: src/components/InterviewModal/InterviewModal.tsx msgid "Telegram account" -msgstr "" +msgstr "Telegramアカウント" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "" +#~ msgid "SOON" +#~ msgstr "近日公開" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" -msgstr "" +msgstr "{operationTokenSymbol}を売却" #: src/components/Exchange/PositionEditor.jsx msgid "Liquidation price would cross mark price." -msgstr "" +msgstr "清算価格がマーク価格を超えます。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perfectswap" -msgstr "" +msgstr "Perfectswap" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Leaderboard for traders on GMX V2." -msgstr "" +msgstr "GMX V2のトレーダー向けリーダーボード。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Withdraw" @@ -7081,21 +7177,21 @@ msgstr "出金失敗" #: src/pages/Referrals/Referrals.tsx msgid "Get fee discounts and earn rebates through the GMX referral program.<0/>For more information, please read the <1>referral program details</1>." -msgstr "" +msgstr "GMX紹介プログラムを通じて手数料割引を受け取り、リベートを獲得。<0/>詳細は<1>紹介プログラムの詳細</1>をお読みください。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Freeze" -msgstr "" +msgstr "凍結" #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Express params loading..." -msgstr "" +msgstr "Expressパラメータを読み込み中..." #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "As there is not enough liquidity in GLP to swap {0} to {swapTokenSymbol}, you can use the option below to do so:" -msgstr "{0}から{swapTokenSymbol}に交換するための流動性がGLPに十分ないため、以下の選択肢を利用してください:" +msgstr "{0}から{swapTokenSymbol}へのスワップにGLPの流動性が不足しているため、以下のオプションを使用してください:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx @@ -7106,17 +7202,17 @@ msgstr "請求完了!" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Market" -msgstr "" +msgstr "ストップマーケット" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Min number of parts: {MIN_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "最小パート数: {MIN_TWAP_NUMBER_OF_PARTS}" #: src/components/Exchange/PositionSeller.jsx msgid "You can change this in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" +msgstr "ページ右上の設定メニューで変更できます。<0/><1/>スリッページ許容値が低い場合(例: {0}未満)、価格変動が激しいと注文が失敗する可能性があります。" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -7133,29 +7229,29 @@ msgstr "パートナーシップと統合" #: src/components/Exchange/PositionEditor.jsx msgid "Leftover Collateral not enough to cover fees" -msgstr "" +msgstr "残余担保が手数料をカバーするのに不足" #: src/components/InterviewToast/InterviewToast.tsx #: src/components/InterviewToast/InterviewToast.tsx msgid "As a token of our appreciation, you'll receive a reward of <0>100 <1/></0>." -msgstr "" +msgstr "感謝の印として<0>100 <1/></0>の報酬をお受け取りください。" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above limit price" -msgstr "" +msgstr "トリガー価格がリミット価格を上回っています" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a Pay token" -msgstr "" +msgstr "支払いトークンを選択" #: src/components/Exchange/SwapBox.jsx msgid "Swap {0} submitted!" -msgstr "{0}のスワップの申し込み完了!" +msgstr "{0}のスワップを提出しました!" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The available liquidity will be the lesser of the difference between the maximum value and the current value for both the reserve and open interest." -msgstr "" +msgstr "利用可能な流動性は、リザーブとオープンインタレストの両方について最大値と現在値の差分の小さい方になります。" #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral Code does not exist" @@ -7163,11 +7259,11 @@ msgstr "紹介コードが存在しません" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "shift" -msgstr "" +msgstr "シフト" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GLP to GM Airdrop" -msgstr "" +msgstr "GLPからGMへのエアドロップ" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -7182,7 +7278,7 @@ msgstr "Telegramグループ (ポルトガル語)" #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX V2 Actions" -msgstr "" +msgstr "GMX V2アクション" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code has been taken by someone else on {takenNetworkNames}, you will not receive rebates from traders using this code on {takenNetworkNames}." @@ -7192,27 +7288,27 @@ msgstr "このコードは{takenNetworkNames}で他の誰かに取られてい #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Confirm Claim" -msgstr "" +msgstr "請求を確認" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX community discussion" -msgstr "GMXのコミュニティ対話" +msgstr "GMXコミュニティ議論" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} GLVプールは<0>インセンティブ付き{sparkle}。</0>" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GM" -msgstr "" +msgstr "GMを売却" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power." -msgstr "" +msgstr "<0>未委任の{0} GMX DAO</0>投票権を委任。" #: src/domain/synthetics/markets/createShiftTxn.ts msgid "Shift error." -msgstr "" +msgstr "シフトエラー。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7278,23 +7374,23 @@ msgstr "プール" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Venus" -msgstr "" +msgstr "Venus" #: src/pages/Referrals/Referrals.tsx msgid "Referral code creation failed." -msgstr "" +msgstr "紹介コード作成に失敗しました。" #: src/components/Glp/SwapErrorModal.tsx msgid "<0>The pool's capacity has been reached for {0}. Please use another token to buy GLP.</0><1>Check the \"Save on Fees\" section for tokens with the lowest fees.</1>" -msgstr "<0>{0}についてプールの許容額に達しました。GLPを購入するには別のトークンを使用してください。</0><1>最も手数料の低いトークンを確認するには \"手数料を節約\" のセクションをチェックしてください。</1>" +msgstr "<0>{0}についてプールの容量に達しました。GLPを購入するには別のトークンを使用してください。</0><1>手数料が最も低いトークンは\"手数料節約\"セクションを確認してください。</1>" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX dashboards and analytics." -msgstr "GMXのダッシュボードと分析" +msgstr "GMXダッシュボードと分析。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "External Swap {0} to {1}" -msgstr "" +msgstr "外部スワップ {0} から {1}" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx @@ -7304,47 +7400,47 @@ msgstr "ポジション" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Bonus Rebate" -msgstr "" +msgstr "ボーナスリベート" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing position in the {0} market pool, but it lacks liquidity for this order." -msgstr "" +msgstr "あなたは{0}マーケットプールに既存のポジションを持っていますが、この注文のための流動性が不足しています。" #: src/components/Exchange/PositionEditor.jsx msgid "Enable Leverage" -msgstr "レバレッジ有効化" +msgstr "レバレッジを有効化" #: src/components/Exchange/PositionSeller.jsx msgid "Close without profit" -msgstr "" +msgstr "利益なしでクローズ" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "{title}" -msgstr "" +msgstr "{title}" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Increasing" -msgstr "" +msgstr "増加中" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" -msgstr "" +msgstr "最速" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Lev." -msgstr "" +msgstr "平均レバレッジ" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing longs for<4/>this size." -msgstr "" +msgstr "このサイズのショート増加のための流動性がありません。<0/>最大ショートサイズ: {0}<1/><2/>価格インパクトはありません。このサイズのロング減少のための単一の<3/>執行価格があります。<4/>" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche LP incentives" -msgstr "" +msgstr "Avalanche LPインセンティブ" #: src/components/Stake/GMXAprTooltip.tsx msgid "{nativeTokenSymbol} APR" -msgstr "" +msgstr "{nativeTokenSymbol} APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Chinese)" @@ -7352,55 +7448,55 @@ msgstr "Telegramグループ (中国語)" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for {2} {3}" -msgstr "" +msgstr "{0} {1} を {2} {3} にスワップ" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "<0>This will withdraw all esGMX tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button.<5/><6/></0>" -msgstr "" +msgstr "<0>これによりすべてのesGMXトークンを引き出し、ベストを一時停止します。<1/><2/>GMXに変換されたesGMXトークンは請求され、GMXトークンとして残ります。<3/><4/>引き出さずにGMXトークンを請求するには\"請求\"ボタンを使用してください。<5/><6/></0>" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "DeFi" -msgstr "" +msgstr "DeFi" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "SNAPSHOT" -msgstr "" +msgstr "スナップショット" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Liquidation Price" -msgstr "" +msgstr "清算価格" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Voting Power" -msgstr "" +msgstr "投票権" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The long reserve accounts for the PnL of open positions, while the open interest does not." -msgstr "" +msgstr "ロングリザーブはオープンポジションのPnLを考慮しますが、オープンインタレストはしません。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Take Profit" -msgstr "" +msgstr "テイクプロフィットをキャンセル" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL ($)" -msgstr "" +msgstr "トップPnL ($)" #: src/pages/AccountDashboard/AccountDashboard.tsx msgid "Invalid address. Please make sure you have entered a valid Ethereum address" -msgstr "" +msgstr "無効なアドレスです。有効なEthereumアドレスを入力してください" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GMX Vesting Vault" -msgstr "送信側はGMXのべスティングボールトからすべてのトークンを引き出しました。" +msgstr "送信者はGMXベストボールトからすべてのトークンを引き出しました" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Failed Settlement of Funding Fees" -msgstr "" +msgstr "ファンディング手数料の決済に失敗" #: src/components/Exchange/ConfirmationBox.jsx msgid "Pay Amount" @@ -7408,19 +7504,19 @@ msgstr "支払い額" #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GLP is the liquidity provider token for GMX V1 markets. Accrues 70% of the V1 markets generated fees." -msgstr "" +msgstr "GLPはGMX V1マーケットの流動性提供トークンです。V1マーケット生成手数料の70%を蓄積します。" #: src/domain/synthetics/orders/utils.tsx msgid "{increaseOrDecreaseText} {tokenText} by {sizeText}" -msgstr "" +msgstr "{increaseOrDecreaseText} {tokenText} を {sizeText} で" #: src/pages/Stake/UnstakeModal.tsx msgid "{0}<0>You will earn {1}% less rewards with this action.</0>" -msgstr "" +msgstr "{0}<0>このアクションで{1}%少ない報酬を獲得します。</0>" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirming..." -msgstr "" +msgstr "確認中..." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7435,7 +7531,7 @@ msgstr "増加" #: src/pages/Stake/ClaimModal.tsx msgid "Claim {wrappedTokenSymbol} Rewards" -msgstr "" +msgstr "{wrappedTokenSymbol}報酬を請求" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/GmxCard.tsx @@ -7447,7 +7543,7 @@ msgstr "総供給量" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Pool Capacity Reached" -msgstr "{0}のプールキャパシティに到達しました" +msgstr "{0}プール容量に達しました" #: src/components/Glp/GlpSwap.jsx #: src/pages/Stake/EscrowedGmxCard.tsx @@ -7457,29 +7553,29 @@ msgid "Staked" msgstr "ステーク済" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "" +#~ msgid "Leave feedback" +#~ msgstr "フィードバックを残す" #: src/pages/Referrals/Referrals.tsx msgid "Traders" -msgstr "" +msgstr "トレーダー" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{ordersText} cancelled" -msgstr "" +msgstr "{ordersText} がキャンセルされました" #: src/domain/synthetics/positions/utils.ts msgid "take profit" -msgstr "" +msgstr "テイクプロフィット" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Force External Swaps" -msgstr "" +msgstr "外部スワップを強制" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}. <0/>{2} is needed for collateral." -msgstr "{0} を {1}にスワップするには手数料が高額です。<0/>{2}が担保に必要です。" +msgstr "{0} から {1} へのスワップ手数料が高額です。<0/>{2}が担保に必要です。" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "size" @@ -7487,45 +7583,49 @@ msgstr "サイズ" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit Swap" -msgstr "指値スワップの作成" +msgstr "リミットスワップを作成" #: src/components/Errors/errorToasts.tsx msgid "<0>Your wallet is not connected to {0}.</0><1/><2>Switch to {1}</2>" -msgstr "" +msgstr "<0>ウォレットが{0}に接続されていません。</0><1/><2>{1}に切り替え</2>" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "Transaction was cancelled." -msgstr "取引はキャンセルされました。" +msgstr "取引がキャンセルされました。" #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept confirmation of trigger orders" -msgstr "トリガー注文の確認に同意する" +msgstr "トリガー注文の確認を受け入れる" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Choose to buy from decentralized or centralized exchanges." -msgstr "" +msgstr "分散型または集中型取引所から購入を選択。" #: src/components/Exchange/TradeHistory.jsx msgid "Min required collateral" -msgstr "最低必要担保額" +msgstr "最低必要担保" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" -msgstr "右上の設定メニューにある\"最大スリッページ\"を増やしてください" +msgstr "右上の設定メニューで\"許容スリッページ\"を増加させてください" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." -msgstr "GMXエコシステムのページ" +msgstr "GMXエコシステムページ" #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GM Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} GMプールは<0>インセンティブ付き{sparkle}。</0>" #: src/components/Exchange/PositionsList.jsx #: src/lib/legacy.ts msgid "Order size is bigger than position, will only be executable if position increases" -msgstr "注文サイズがポジションより大きいため、ポジションが拡大した場合にだけ執行可能です" +msgstr "注文サイズがポジションより大きいため、ポジションが増加した場合のみ執行可能です" #: src/components/Header/AppHeaderLinks.tsx msgid "Buy" @@ -7533,11 +7633,11 @@ msgstr "購入" #: src/config/events.tsx msgid "Incentives are live for <0>Arbitrum</0> and <1>Avalanche</1> GM pools and V2 trading." -msgstr "" +msgstr "<0>Arbitrum</0>と<1>Avalanche</1>のGMプールおよびV2取引にインセンティブが適用されています。" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Total Rewards" -msgstr "" +msgstr "総報酬" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT ID" @@ -7546,61 +7646,60 @@ msgstr "NFT ID" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Success claimings" -msgstr "" +msgstr "成功した請求" #: src/lib/legacy.ts msgid "Decentralized Perpetual Exchange | GMX" -msgstr "" +msgstr "分散型永久取引所 | GMX" #: src/components/Exchange/PositionEditor.jsx msgid "The pending borrow fee will be charged on this transaction." -msgstr "" +msgstr "保留中の借入手数料はこの取引で課金されます。" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Fees will be shown once you have entered an amount in the order form." -msgstr "注文フォームに額を入れると手数料が表示されます。" +msgstr "注文フォームに額を入力すると手数料が表示されます。" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GLP Vault" -msgstr "" +msgstr "GLPボールト" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" -msgstr "紹介の規約" +msgstr "紹介規約" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter unique coins" -msgstr "" +msgstr "ユニークなコインを入力" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Fee APY" -msgstr "" +msgstr "手数料APY" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." -msgstr "" +msgstr "一致するマーケットがありません。" #: src/pages/Stake/Stake.tsx msgid "Stake esGMX" -msgstr "" +msgstr "esGMXをステーク" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Target Min Amount" -msgstr "最低ターゲット額" +msgstr "ターゲット最低額" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed Pay amount" -msgstr "" +msgstr "手数料が支払い額を超えています" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Swap" @@ -7608,41 +7707,37 @@ msgstr "マーケットスワップ失敗" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "HoudiniSwap" -msgstr "" +msgstr "HoudiniSwap" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Error occurred. Please try again" -msgstr "" +msgstr "エラーが発生しました。再度お試しください" #: src/components/Referrals/referralsHelper.js msgid "Only letters, numbers and underscores are allowed." -msgstr "英数字とアンダースコア記号のみ使用できます。" +msgstr "文字、数字、アンダースコアのみ許可されます。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling shift request" -msgstr "" +msgstr "シフトリクエストを履行中" #: src/pages/Referrals/Referrals.tsx msgid "Referral code submitted!" -msgstr "" +msgstr "紹介コードを提出しました!" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Transaction failed due to execution fee validation. <0>View</0>.<1/><2/>Please <3>enable Express trading</3> under settings, which should offer a better experience.<4/><5/>Otherwise, try increasing the max network fee buffer to {0} in <6>settings</6>." -msgstr "" +msgstr "執行手数料検証のため取引失敗。<0>表示</0>.<1/><2/>設定で<3>Express取引を有効化</3>してください。これでより良い体験が得られます。<4/><5/>そうでなければ、<6>設定</6>で最大ネットワーク手数料バッファを{0}に増加させてください。" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "APY" -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "先月" +msgstr "APY" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Leave at least {0} {1} for gas" -msgstr "ガスのため最低 {0} {1} を残しておいてください" +msgstr "ガス用に最低{0} {1}を残してください" #: src/pages/Dashboard/GmxCard.tsx msgid "staked" @@ -7651,11 +7746,11 @@ msgstr "ステーク済" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "There is not enough {0} in your account on {1} to send this transaction.<0/><1/><2>Buy or Transfer {2} to {3}</2>" -msgstr "" +msgstr "{1}のアカウントにこの取引を送信するための{0}が不足しています。<0/><1/><2>{2}を購入または{3}へ転送</2>" #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Volume" -msgstr "総取引高" +msgstr "総取引量" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -7664,40 +7759,40 @@ msgstr "新しい価格を入力" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GLP Vault" -msgstr "" +msgstr "GLPボールトから出金" #: src/components/Exchange/PositionShare.tsx msgid "Image generation error, please refresh and try again." -msgstr "画像生成エラーにつき、ページを更新して再度試してください。" +msgstr "画像生成エラー。更新して再度試してください。" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price Impact Rebates" -msgstr "" +msgstr "価格インパクトリベート" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." -msgstr "" +msgstr "関連ポジションが完全にクローズされた場合、テイクプロフィットとストップロス注文は自動的にキャンセルされます。これは新しく作成されたTP/SL注文にのみ影響します。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Swap Part" -msgstr "" +msgstr "TWAPスワップパート失敗" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Open {0} {longOrShortText}" -msgstr "" +msgstr "{0} {longOrShortText} をオープン" #: src/components/InterviewToast/InterviewToast.tsx msgid "Give us your feedback on GMX." -msgstr "" +msgstr "GMXへのフィードバックをお願いします。" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Borrow Fee / Day" -msgstr "" +msgstr "現在の借入手数料 / 日" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V1" -msgstr "" +msgstr "V1のリベート" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token indexToken: \"{0}\" collateralToken: \"{1}\"" @@ -7706,11 +7801,11 @@ msgstr "無効なトークン indexToken: \"{0}\" collateralToken: \"{1}\"" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Header/AppHeaderLinks.tsx msgid "Alerts" -msgstr "" +msgstr "アラート" #: src/components/Exchange/OrdersList.jsx msgid "<0>The price that orders can be executed at may differ slightly from the chart price, as market orders update oracle prices, while limit/trigger orders do not.</0><1>This can also cause limit/triggers to not be executed if the price is not reached for long enough. <2>Read more</2>.</1>" -msgstr "" +msgstr "<0>注文執行価格はチャート価格と多少異なる可能性があります。マーケット注文はオラクル価格を更新しますが、リミット/トリガー注文はしません。</0><1>これにより価格が十分に長く達さない場合、リミット/トリガーが執行されないことがあります。<2>詳細を読む</2>。</1>" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Portfolio Tracker" @@ -7718,39 +7813,39 @@ msgstr "DeFiポートフォリオトラッカー" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Funding Fee / Day" -msgstr "" +msgstr "現在のファンディング手数料 / 日" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d estimate based on past {daysConsidered}d APY." -msgstr "" +msgstr "過去{daysConsidered}日のAPYに基づく365日推定。" #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum APR:" -msgstr "ArbitrumのAPR(実質年利)" +msgstr "Arbitrum APR:" #: src/pages/Jobs/Jobs.jsx msgid "Job Openings" -msgstr "" +msgstr "求人" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects integrated with GMX." -msgstr "GMXと統合されているプロジェクト" +msgstr "GMXと統合されたプロジェクト。" #: src/components/Stake/GMXAprTooltip.tsx msgid "Escrowed GMX APR" -msgstr "esGMXのAPR(実質年利)" +msgstr "エスクローGMX APR" #: src/components/Exchange/TradeHistory.jsx msgid "Initial collateral" -msgstr "最初の担保" +msgstr "初期担保" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Activate 1CT (One-Click Trading)" -msgstr "" +msgstr "1CT (ワンクリック取引)を有効化" #: src/components/AprInfo/AprInfo.tsx msgid "The Bonus APR will be airdropped as {airdropTokenTitle} tokens. <0>Read more</0>." -msgstr "" +msgstr "ボーナスAPRは{airdropTokenTitle}トークンとしてエアドロップされます。<0>詳細を読む</0>。" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -7766,23 +7861,23 @@ msgstr "ウォレット" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You have a pending transfer from {sender}." -msgstr "{sender}からの未完了の移転があります。" +msgstr "{sender}からの保留中の転送があります。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the stop price, the order will attempt to execute." -msgstr "" +msgstr "マーク価格がストップ価格に達すると、注文が執行を試みます。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a trigger price" -msgstr "" +msgstr "トリガー価格を入力" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GLP not withdrawn" -msgstr "べスティングされたGLPで引き出されていないもの" +msgstr "ベストされたGLPが出金されていません" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {minutes} minutes{0}" -msgstr "" +msgstr "<0>毎</0> {minutes} 分{0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -7800,106 +7895,108 @@ msgstr "エントリー価格" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Price change to Liq." -msgstr "" +msgstr "清算までの価格変動" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b LP incentives" -msgstr "" +msgstr "STIP.b LPインセンティブ" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Loss" -msgstr "" +msgstr "ストップロスをキャンセル" #: src/components/Exchange/PositionsList.jsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size if needed." -msgstr "" +msgstr "ポジションをクリックしてマーケットを選択し、必要に応じて取引ボックスでポジションサイズを増加させてください。" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Decrease" -msgstr "" +msgstr "リミット減少" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stabilize Protocol" -msgstr "" +msgstr "Stabilizeプロトコル" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a valid coin names" -msgstr "" - -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "" +msgstr "有効なコイン名を入力" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." -msgstr "" +msgstr "ロング清算" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GBC Kudai AI Agent" -msgstr "" +msgstr "GBC Kudai AIエージェント" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You have {0} esGMX (IOU) tokens." -msgstr "あなたは{0} esGMX (IOU)トークンを保有しています。" +msgstr "あなたは{0} esGMX (IOU)トークンを持っています。" #: src/domain/synthetics/orders/utils.tsx msgid "There is currently a high swap price impact for the order swap path." -msgstr "" +msgstr "注文スワップパスに現在高いスワップ価格インパクトがあります。" #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Stop Market)" +msgstr "サイズ増加 (ストップマーケット)" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" -msgstr "" +msgstr "ストップロスPnL" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing {balanceFormatted} to Main Account" -msgstr "" +msgstr "{balanceFormatted} をメインアカウントへ出金中" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settling..." -msgstr "" +msgstr "決済中..." #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" -msgstr "順位表" +msgstr "リーダーボード" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be enough liquidity to execute parts of this order when the time conditions are met." -msgstr "" +msgstr "時間条件が満たされたときにこの注文の一部を執行するのに十分な流動性がない可能性があります。" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The PnL ($) compared to the capital used.<0/><1/>The capital used is calculated as the highest value of [<2>sum of collateral of open positions - realized PnL + period start pending PnL</2>]." -msgstr "" +msgstr "使用資本に対するPnL ($)。<0/><1/>使用資本は[<2>オープンポジション担保合計 - 実現PnL + 期間開始保留PnL</2>]の最高値として計算されます。" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued" -msgstr "" +msgstr "蓄積済" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Liquidation price is influenced by fees and collateral value." -msgstr "" +msgstr "清算価格は手数料と担保価値に影響されます。" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "No data available" -msgstr "" +msgstr "データなし" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{prefix} <0>{text}</0>" -msgstr "" +msgstr "{prefix} <0>{text}</0>" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to update settings" -msgstr "" +msgstr "設定更新に失敗" #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Positive Price Impact / Fees" -msgstr "" +msgstr "ポジティブ価格インパクト / 手数料" #: src/components/Exchange/PositionShare.tsx msgid "Tweet" @@ -7907,52 +8004,52 @@ msgstr "ツイート" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELL…" -msgstr "" +msgstr "売却…" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Swap" -msgstr "スワップを確認する" +msgstr "スワップを確認" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage is not available as Position exceeds max. allowed leverage. <0>Read more</0>." -msgstr "" +msgstr "ポジションが最大許容レバレッジを超えるため、レバレッジ維持が利用できません。<0>詳細を読む</0>。" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add {0} to Metamask" -msgstr "" +msgstr "{0}をMetamaskに追加" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Loss" -msgstr "" +msgstr "ストップロス失敗" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Profit" -msgstr "" +msgstr "日次利益" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX tokens can be staked or vested at any time." -msgstr "esGMXトークンはいつでもステークまたはべスティングすることができます。" +msgstr "esGMXトークンはいつでもステークまたはベストできます。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy ETH directly on Arbitrum or transfer it there." -msgstr "" +msgstr "ArbitrumでETHを直接購入するか、そこへ転送してください。" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 110 symbols exceeded" -msgstr "" +msgstr "最大110シンボルを超えました" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "Transaction failed" -msgstr "取引に失敗しました" +msgstr "取引失敗" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "COLLATERAL" -msgstr "" +msgstr "担保" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued price impact rebates. They will become claimable after approximately ten days.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "蓄積された価格インパクトリベート。約10日後に請求可能になります。<0/><1/><2>詳細を読む</2>。" #: src/components/Exchange/PositionEditor.jsx #: src/pages/Stake/VesterDepositModal.tsx @@ -7968,41 +8065,46 @@ msgstr "ネットレート" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "2nd Place" -msgstr "" +msgstr "2位" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" -msgstr "" +msgstr "最終価格" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-sign" -msgstr "" +msgstr "再署名" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" -msgstr "" +msgstr "注文 ({ordersCount})" #: src/components/TVChartContainer/constants.ts msgid "Limit - Long Inc." -msgstr "" +msgstr "リミット - ロング増加" #: src/pages/Stake/ClaimModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0>voting power before claiming." -msgstr "" +msgstr "<0>請求前に未委任の{0} GMX DAO</0>投票権を委任。" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." -msgstr "" +msgstr "ロングポジションと{collateralSymbol}担保から{indexSymbol}をロングします。担保価値が価格とともに変化するため、ステーブルコイン担保使用時より清算価格が高くなります。" + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<1>{1}</1> esGMXのべスティング入金から<0>{0}</0>トークンがGMXに変換されました。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" -msgstr "" +msgstr "売却注文キャンセル" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "" +#~ msgid "Last 30 days" +#~ msgstr "過去30日" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8012,11 +8114,7 @@ msgstr "執行価格" #: src/components/Exchange/OrdersList.jsx msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." -msgstr "注文が執行され得る価格はチャートに表示された価格と多少異なることがありますが、それはマーケット注文が価格を変えうるのに対して、リミット注文やトリガー注文が価格を変えることはないためです。" - -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "" +msgstr "注文執行価格はチャート価格と多少異なる可能性があります。マーケット注文は価格を変えうるが、リミット/トリガー注文はできません。" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8025,27 +8123,32 @@ msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "About" -msgstr "内容" +msgstr "について" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued positive funding fees in positions not yet claimable.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "ポジションの蓄積されたポジティブファンディング手数料はまだ請求できません。<0/><1/>ポジションを増加/減少、担保入金/出金、または\"決済\"ボタンで手数料決済後に利用可能になります。" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "Fee values do not include incentives." +msgstr "手数料値はインセンティブを含みません。" + +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" msgstr "" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Generate Referral Code" -msgstr "紹介コード作成" +msgstr "紹介コード生成" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Price Impact" -msgstr "" +msgstr "高いスワップ価格インパクト" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx @@ -8055,49 +8158,49 @@ msgstr "スワップ" #: src/domain/synthetics/orders/utils.tsx msgid "long" -msgstr "" +msgstr "ロング" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h High" -msgstr "" +msgstr "24時間高値" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code is not yet registered on {nonTakenNetworkNames}, you will not receive rebates there.<0/><1/>Switch your network to create this code on {nonTakenNetworkNames}." -msgstr "このコードはまだ{nonTakenNetworkNames}に登録されていません。そこではリベートを受け取ることはできません。<0/><1/>ネットワークを切り替えて{nonTakenNetworkNames}でこのコードを作成してください。" +msgstr "このコードは{nonTakenNetworkNames}にまだ登録されていません。そこでリベートを受け取れません。<0/><1/>ネットワークを切り替えて{nonTakenNetworkNames}でこのコードを作成してください。" #: src/components/Exchange/TradeHistory.jsx msgid "Deposit {0} USD into {1} {longOrShortText}" -msgstr "{0} USDを {1} {longOrShortText}に入金" +msgstr "{0} USDを {1} {longOrShortText} に入金" #: src/pages/Dashboard/GmxCard.tsx msgid "Distribution" -msgstr "" +msgstr "分配" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "言語" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Transfer" -msgstr "移転を完了させる" +msgstr "転送完了" #: src/pages/Home/Home.tsx msgid "Total Users" -msgstr "ユーザー総数" +msgstr "総ユーザー" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee" -msgstr "" +msgstr "ネット価値: 初期担保 + PnL - 借入手数料 - ネガティブファンディング手数料 - クローズ手数料" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below lowest limit price" -msgstr "" +msgstr "トリガー価格が最低リミット価格を下回っています" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Exchange/PositionShare.tsx msgid "Share Position" -msgstr "ポジションをシェアする" +msgstr "ポジション共有" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -8106,55 +8209,55 @@ msgstr "最小レバレッジ: 1.1倍" #: src/components/Exchange/FeesTooltip.tsx msgid "Deposit Fee" -msgstr "" +msgstr "入金手数料" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter a new size or price" -msgstr "" +msgstr "新しいサイズまたは価格を入力" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount exceeded" -msgstr "" +msgstr "最大プール額を超えました" #: src/components/Exchange/SwapBox.jsx msgid "The borrow fee is calculated as (assets borrowed) / (total assets in pool) * 0.01% per hour." -msgstr "借入手数料は1時間につき、(借入アセット額 ÷ プール内アセット総額) × 0.01% の式で計算されます。" +msgstr "借入手数料は(借入資産) / (プール総資産) * 0.01% / 時間で計算されます。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Unknown order" -msgstr "" +msgstr "不明な注文" #: src/pages/Jobs/Jobs.jsx msgid "No open positions at GMX currently" -msgstr "現在GMXにオープンのポジションはありません" +msgstr "現在GMXにオープンポジションなし" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Max Action Count Reached. <0>Click here</0> to update." -msgstr "" +msgstr "最大アクション数に達しました。<0>ここをクリック</0>して更新。" #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Price: {executionPriceDisplay} USD" -msgstr "" +msgstr "注文執行: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD、価格: {executionPriceDisplay} USD" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "{column}" -msgstr "" +msgstr "{column}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You do not have any eligible trade during the competition window." -msgstr "" +msgstr "コンペティション期間中に適格な取引がありません。" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing longs and<0/>decreasing shorts." -msgstr "" +msgstr "ロング増加と<0/>ショート減少の執行価格。" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" -msgstr "" +msgstr "過去30日" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Dashboards" @@ -8162,31 +8265,35 @@ msgstr "ダッシュボード" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create TWAP {0} order" -msgstr "" +msgstr "TWAP {0}注文を作成" #: src/domain/synthetics/trade/utils/validation.ts msgid "Leftover collateral below {0} USD" -msgstr "" +msgstr "残余担保が{0} USD未満" #: src/domain/synthetics/positions/utils.ts msgid "trigger" -msgstr "" +msgstr "トリガー" #: src/components/Glp/GlpSwap.jsx msgid "Please <0>read here</0> for more information." -msgstr "" +msgstr "詳細は<0>ここを読む</0>。" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "7日" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" -msgstr "" +msgstr "Rage Trade" #: src/pages/Home/Home.tsx msgid "Trade BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet" -msgstr "" +msgstr "ウォレットから直接、BTC、ETH、AVAXなどのトップ暗号通貨を最大100倍レバレッジで取引" #: src/pages/Stake/ClaimModal.tsx msgid "Claim GMX Rewards" -msgstr "" +msgstr "GMX報酬を請求" #: src/components/Referrals/JoinReferralCode.tsx #: src/components/Referrals/JoinReferralCode.tsx @@ -8194,19 +8301,18 @@ msgid "Enter Referral Code" msgstr "紹介コードを入力" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" -msgstr "" +msgstr "EIP-4844、3月20-27日" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer failed." -msgstr "移転できませんでした。" +msgstr "転送失敗。" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit amount is insufficient to bring leverage below the max allowed leverage of 100x" -msgstr "" +msgstr "入金額がレバレッジを最大許容100倍未満にするのに不足" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -8229,32 +8335,33 @@ msgstr "マーク価格" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Open {marketName} in Explorer" -msgstr "" +msgstr "{marketName}をエクスプローラーで開く" #: src/components/Exchange/TradeHistory.jsx msgid "Partial Liquidation" msgstr "部分的清算" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" -msgstr "24時間取引高" +msgstr "24時間取引量" #: src/pages/Dashboard/DashboardV2.tsx msgid "Total Stats" -msgstr "" +msgstr "総統計" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Frequency" -msgstr "" +msgstr "頻度" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit sent." -msgstr "" +msgstr "デポジットの有効化が送信されました。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Withdrawing {0} from {positionText}" -msgstr "" +msgstr "{positionText}から{0}を出金中" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community Projects" @@ -8263,40 +8370,40 @@ msgstr "コミュニティプロジェクト" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/domain/synthetics/orders/utils.tsx msgid "Limit Swap" -msgstr "" +msgstr "リミットスワップ" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>Execution prices for decreasing shorts." -msgstr "" +msgstr "このサイズのロング増加のための流動性がありません。<0/>最大ロングサイズ: {0}<1/><2/>ショート減少の執行価格。" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H VOL." -msgstr "" +msgstr "24時間取引量" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Sell for {0}" -msgstr "売却して{0}にする" +msgstr "{0}で売却" #: src/components/Exchange/PositionSeller.jsx msgid "Fees are higher than Collateral" -msgstr "" +msgstr "手数料が担保より高い" #: src/components/Referrals/TradersStats.tsx msgid "You will receive a {currentTierDiscount}% discount on opening and closing fees." -msgstr "" +msgstr "オープンおよびクローズ手数料で{currentTierDiscount}%割引を受け取ります。" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX team" -msgstr "" +msgstr "GMXチームとの匿名チャット" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Market Token Price Chart" -msgstr "" +msgstr "GMXマーケットトークン価格チャート" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Addresses" -msgstr "" +msgstr "トップアドレス" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8305,44 +8412,44 @@ msgstr "続ける" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily and Cumulative PnL" -msgstr "" +msgstr "日次および累積PnL" #: src/components/Exchange/PositionEditor.jsx msgid "Edit {longOrShortText} {0}" -msgstr "" +msgstr "{longOrShortText} {0} を編集" #: src/domain/synthetics/orders/utils.tsx msgid "short" -msgstr "" +msgstr "ショート" #: src/components/RatingToast/RatingToast.tsx msgid "Very likely" -msgstr "" +msgstr "非常に可能性が高い" #: src/components/Exchange/ConfirmationBox.jsx msgid "I am aware of the trigger orders" -msgstr "トリガー注文について承知しています" +msgstr "トリガー注文を認識しています" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{count, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{count, plural, one {注文} other {# 注文}}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V1" -msgstr "" +msgstr "V1の取引量" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche trading incentives" -msgstr "" +msgstr "Avalanche取引インセンティブ" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Decrease" -msgstr "市場減少リクエスト" +msgstr "マーケット減少リクエスト" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max. Leverage exceeded" -msgstr "" +msgstr "最大レバレッジを超えました" #: src/components/Exchange/OrderEditor.jsx msgid "Price is above Mark Price" @@ -8350,10 +8457,14 @@ msgstr "価格がマーク価格を上回っています" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "価格変動を除き、ファンディングおよび借入手数料レートによりポジション担保が時間とともに減少するため、このポジションは清算される可能性があります。" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "あなたのウォレット、あなたのキー。各取引をオフチェーンで署名。取引はGMXスポンサーのプレミアムRPCを使用し、ネットワーク混雑時でも信頼性。ガス支払いはUSDCまたはWETH。" + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8376,19 +8487,19 @@ msgstr "注文執行価格" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Slippage is too high" -msgstr "" +msgstr "スリッページが高すぎます" #: src/components/Synthetics/MarketsList/NetFeeHeaderTooltipContent.tsx msgid "Net rate combines funding and borrowing fees but excludes open, swap or impact fees.<0/><1/>Funding fees help to balance longs and shorts and are exchanged between both sides. <2>Read more</2>.<3/><4/>Borrowing fees help ensure available liquidity. <5>Read more</5>." -msgstr "ネットレートはファンディング料金と借入料金を組み合わせますが、オープン、スワップ、またはインパクト料金は除外されます。<0/><1/>ファンディング料金はロングとショートをバランスさせ、両側で交換されます。<2>詳細を読む</2>。<3/><4/>借入料金は利用可能な流動性を確保します。<5>詳細を読む</5>。" +msgstr "ネットレートはファンディングと借入手数料を組み合わせますが、オープン、スワップ、インパクト手数料を除外。<0/><1/>ファンディング手数料はロングとショートのバランスを助け、両側で交換。<2>詳細を読む</2>。<3/><4/>借入手数料は利用可能流動性を確保。<5>詳細を読む</5>。" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx msgid "Accrued Price Impact Rebates" -msgstr "" +msgstr "蓄積価格インパクトリベート" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Yesterday" -msgstr "" +msgstr "昨日" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Deposit" @@ -8396,35 +8507,35 @@ msgstr "入金リクエスト" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit not enough to cover fees" -msgstr "" +msgstr "入金が手数料をカバーするのに不足" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Number of Parts" -msgstr "" +msgstr "パート数" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Cancelling {ordersText}" -msgstr "" +msgstr "{ordersText}をキャンセル中" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivated" -msgstr "" +msgstr "非活性化" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Ecosystem Projects" -msgstr "" +msgstr "エコシステムプロジェクト" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in ..." -msgstr "" +msgstr "マーケット注文は...でキャンセル可能" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Price Impact Rebate Claimed" -msgstr "" +msgstr "価格インパクトリベート請求済" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX" -msgstr "" +msgstr "GMXとの匿名チャット" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx @@ -8436,35 +8547,35 @@ msgstr "" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/positions/utils.ts msgid "Limit" -msgstr "指値" +msgstr "リミット" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "You will receive at least {toAmountText} if this order is executed. This price is being updated in real time based on swap fees and price impact." -msgstr "" +msgstr "この注文が執行された場合、少なくとも{toAmountText}を受け取ります。この価格はスワップ手数料と価格インパクトに基づいてリアルタイムで更新されます。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Acceptable price does not apply to stop loss orders, as they will be executed regardless of any price impact." -msgstr "" +msgstr "許容価格はストップロス注文に適用されず、価格インパクトに関わらず執行されます。" #: src/components/InterviewModal/InterviewModal.tsx msgid "We'll then schedule a chat or interview with you. As a thank you, you'll receive <0>100 <1/></0> for providing your feedback." -msgstr "" +msgstr "あなたとチャットまたはインタビューをスケジュールします。フィードバック提供の感謝として<0>100 <1/></0>をお受け取りください。" #: src/domain/synthetics/positions/utils.ts msgid "limit" -msgstr "" +msgstr "リミット" #: src/components/SettingsModal/SettingsModal.tsx msgid "Trading Settings" -msgstr "" +msgstr "取引設定" #: src/components/Exchange/OrdersToa.jsx msgid "<0>Insufficient liquidity to execute the order</0><1>The mark price which is an aggregate of exchange prices did not reach the specified price</1><2>The specified price was reached but not long enough for it to be executed</2><3>No keeper picked up the order for execution</3>" -msgstr "<0>注文執行に必要な流動性が不足しています</0><1>諸取引所の価格を集約したマーク価格が指値に達しませんでした</1><2>指値には達したもののロングの度合いが不十分で執行されませんでした</2><3>どのキーパーも注文を執行しませんでした</3>" +msgstr "<0>注文執行に流動性が不足</0><1>取引所価格の集約であるマーク価格が指定価格に達しませんでした</1><2>指定価格に達しましたが執行されるほど長くありませんでした</2><3>キーパーが注文を執行しませんでした</3>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Your position's collateral after deducting fees:" -msgstr "手数料差引後のあなたのポジションの担保" +msgstr "手数料差引後のポジション担保:" #: src/components/Glp/GlpSwap.jsx msgid "Selling..." @@ -8472,7 +8583,7 @@ msgstr "売却中..." #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute as the max. allowed leverage is exceeded. Consider decreasing the order's leverage by editing and decreasing its size. <0>Read more</0>." -msgstr "" +msgstr "最大許容レバレッジを超えるため注文が執行されない可能性があります。サイズを減少させて注文のレバレッジを減少させてください。<0>詳細を読む</0>。" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx @@ -8503,32 +8614,32 @@ msgstr "ロングポジション" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Depositing {0} to {positionText}" -msgstr "" +msgstr "{positionText}へ{0}を入金中" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee" -msgstr "" +msgstr "最大ネットワーク手数料" #: src/domain/tokens/approveTokens.tsx msgid "Approval was cancelled" -msgstr "承認はキャンセルされました" +msgstr "承認がキャンセルされました" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee and pay a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "{longOrShort}ポジションはファンディング手数料を支払わず、{borrowRate}の借入手数料を1時間ごとに支払います。" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Increase active: {0}, executed: {1}, cancelled: {2}" -msgstr "増加 アクティブ: {0} 執行済: {1} キャンセル済: {2}" +msgstr "増加 アクティブ: {0}、執行済: {1}、キャンセル済: {2}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does not impact your collateral." -msgstr "" +msgstr "ネットワークに支払われる最大ネットワーク手数料。これはGMX特有ではなくブロックチェーンコストで、担保に影響しません。" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX Pages" -msgstr "GMXのページ" +msgstr "GMXページ" #: src/components/Exchange/SwapBox.jsx msgid "{0} is required for collateral." @@ -8540,83 +8651,83 @@ msgstr "分散型オプションプロトコル" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Swap Part" -msgstr "" +msgstr "TWAPスワップパートを更新" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Part" -msgstr "" +msgstr "TWAPパートを更新" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Account Transfer" -msgstr "アカウント移転を完了させる" +msgstr "アカウント転送完了" #: src/pages/Stake/ClaimModal.tsx msgid "Claim Rewards" -msgstr "" +msgstr "報酬を請求" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Copy Address" -msgstr "アドレスのコピー" +msgstr "アドレスをコピー" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Pending Transfer Approval" -msgstr "" +msgstr "保留中の転送承認" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{0}{toTokenIcon}{1}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> から </1>{0}{toTokenIcon}{1}" #: src/components/DepthChart/DepthChart.tsx msgid "ORACLE PRICE" -msgstr "" +msgstr "オラクル価格" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "" +#~ msgid "For detailed stats:" +#~ msgstr "詳細統計:" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "Total Earned Fees" -msgstr "" +msgstr "総獲得手数料" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a ratio" -msgstr "" +msgstr "比率を入力" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Proof of Reserves" -msgstr "貯蓄証明" +msgstr "リザーブ証明" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "General Performance Details" -msgstr "" +msgstr "一般パフォーマンス詳細" #: src/pages/Stake/VesterWithdrawModal.tsx msgid "<0>This will withdraw and unreserve all tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button under the Total Rewards section.<5/><6/></0>" -msgstr "" +msgstr "<0>これによりすべてのトークンを引き出し、予約解除し、ベストを一時停止します。<1/><2/>GMXに変換されたesGMXトークンは請求され、GMXトークンとして残ります。<3/><4/>引き出さずにGMXトークンを請求するには総報酬セクションの\"請求\"ボタンを使用。<5/><6/></0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Price conditions are met" -msgstr "価格の条件が満たされていません" +msgstr "価格条件が満たされました" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Backing Composition" -msgstr "" +msgstr "裏付け構成" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeBank" -msgstr "" +msgstr "DeBank" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "You have {balanceFormatted} remaining in your old version 1CT subaccount." -msgstr "" +msgstr "古いバージョン1CTサブアカウントに{balanceFormatted}が残っています。" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Unstake GMX" -msgstr "" +msgstr "GMXをアンストーク" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit failed!" -msgstr "" +msgstr "入金失敗!" diff --git a/src/locales/ko/messages.po b/src/locales/ko/messages.po index c573f86f19..d265af9f8d 100644 --- a/src/locales/ko/messages.po +++ b/src/locales/ko/messages.po @@ -15,7 +15,7 @@ msgstr "" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Unrealized Base PnL" -msgstr "" +msgstr "미실현 기본 PnL" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/NftWallet/NftWallet.jsx @@ -24,11 +24,11 @@ msgstr "지갑이 연결되지 않음" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pear Protocol" -msgstr "" +msgstr "Pear Protocol" #: src/components/RatingToast/RatingToast.tsx msgid "Not likely" -msgstr "" +msgstr "가능성 낮음" #: src/pages/Home/Home.tsx msgid "Available on your preferred network" @@ -49,12 +49,12 @@ msgstr "연결 끊기" #: src/components/Glp/GlpSwap.jsx msgid "Buy GM tokens before the epoch resets in {0} to be eligible for the Bonus Rebate. Alternatively, wait for the epoch to reset to redeem GLP and buy GM within the same epoch." -msgstr "" +msgstr "보너스 리베이트 자격을 얻기 위해 에포크가 {0} 안에 재설정되기 전에 GM 토큰을 구매하세요. 또는 에포크가 재설정될 때까지 기다린 후 GLP를 상환하고 동일 에포크 내에서 GM을 구매하세요." #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" msgstr "가격" @@ -62,15 +62,15 @@ msgstr "가격" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "receive" -msgstr "" +msgstr "수령" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Referrals Dashboard" -msgstr "" +msgstr "GMX 추천인 대시보드" #: src/pages/Stake/ClaimModal.tsx msgid "Stake GMX Rewards" -msgstr "" +msgstr "GMX 보상 스테이킹" #: src/components/Glp/SwapErrorModal.tsx msgid "There is not enough liquidity in a single token for your size. Please check the Save on Fees section and consider splitting your order into several different ones" @@ -78,23 +78,23 @@ msgstr "한 종류의 토큰에서 해당 스왑을 실현할 수 있는 충분 #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx msgid "Decrease the withdraw size to match the max. <0>Read more</0>.<1/><2/><3>Set max withdrawal</3>" -msgstr "" +msgstr "인출 크기를 최대값에 맞게 감소시키세요. <0>더 읽기</0>.<1/><2/><3>최대 인출 설정</3>" #: src/domain/synthetics/userFeedback/utils.ts msgid "What would have made your rating a 9 or 10?" -msgstr "" +msgstr "평점을 9 또는 10으로 만들기 위해 무엇이 필요했을까요?" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" msgstr "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" -msgstr "" +msgstr "디버그 값 표시" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Loss" -msgstr "" +msgstr "손절 주문 실행" #: src/pages/Exchange/Exchange.tsx msgid "Could not decrease {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." @@ -106,15 +106,19 @@ msgstr "동의하기" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "BonsaiDAO" -msgstr "" +msgstr "BonsaiDAO" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Approval signed" +msgstr "승인 서명 완료" + +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" msgstr "" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" -msgstr "" +msgstr "일일 손실" #: src/pages/Home/Home.tsx msgid "GMX is currently live on Arbitrum and Avalanche." @@ -122,7 +126,7 @@ msgstr "GMX는 현재 Arbitrum과 Avalanche에서 이용할 수 있습니다." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP Swap" -msgstr "" +msgstr "TWAP 스왑 생성" #: src/components/Glp/GlpSwap.jsx msgid "Max Pool Capacity" @@ -137,7 +141,7 @@ msgstr "Avalanche 일드 옵티마이저" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum" -msgstr "" +msgstr "Arbitrum" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -149,11 +153,11 @@ msgstr "주문 ({0})" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "You have not deposited any tokens for vesting." -msgstr "" +msgstr "베스팅을 위해 예치한 토큰이 없습니다." #: src/domain/synthetics/positions/utils.ts msgid "stop loss" -msgstr "" +msgstr "손절" #: src/components/Exchange/OrdersList.jsx #: src/components/Referrals/AffiliatesStats.tsx @@ -166,15 +170,15 @@ msgstr "타입" #: src/components/Exchange/PositionSeller.jsx msgid "Order submitted!" -msgstr "" +msgstr "주문 제출 완료!" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Updating {updateOrdersCount} TP/SL order(s)" -msgstr "" +msgstr "{updateOrdersCount} TP/SL 주문 업데이트 중" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "RabbitHole" -msgstr "" +msgstr "RabbitHole" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is above its target weight.<0/><1/>Get lower fees to <2>swap</2> tokens for {1}." @@ -183,19 +187,19 @@ msgstr "{0}은 목표 가중치를 초과 했습니다.<0/><1/>토큰을 {1}로 #: src/domain/synthetics/markets/createGlvWithdrawalTxn.ts #: src/domain/synthetics/markets/createWithdrawalTxn.ts msgid "Withdrawal error." -msgstr "" +msgstr "인출 오류." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit" -msgstr "" +msgstr "지정가 실패" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Performance" -msgstr "" +msgstr "성과" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized return of the pool or vault over the selected period, compared to a benchmark that follows Uniswap V2–style rebalancing of the backing tokens in the same GM pool or GLV vault.<0/><1/>Annualized figures based on short periods may be distorted by short-term volatility.<2/><3/>For detailed stats and comparisons, see the <4>GMX V2 LP Dashboard</4>." -msgstr "" +msgstr "선택 기간 동안 풀 또는 볼트의 연환산 수익률로, 동일 GM 풀 또는 GLV 볼트의 백킹 토큰을 Uniswap V2 스타일 재조정 벤치마크와 비교.<0/><1/>단기 기간 기반 연환산 수치는 단기 변동성으로 왜곡될 수 있음.<2/><3/>상세 통계 및 비교를 위해 <4>GMX V2 LP 대시보드</4>를 참조하세요." #: src/pages/Home/Home.tsx msgid "Decentralized<0/>Perpetual Exchange" @@ -203,65 +207,64 @@ msgstr "탈중앙화<0/>퍼페추얼 거래소" #: src/pages/Stake/VesterDepositModal.tsx msgid "Current Reserved" -msgstr "" +msgstr "현재 예약됨" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Arbitrum" -msgstr "" +msgstr "V2 Arbitrum" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" -msgstr "" +msgstr "EIP-4844, 3월 13-20일" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Total size" -msgstr "" +msgstr "총 크기" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express Trading" -msgstr "" +msgstr "익스프레스 트레이딩 시도" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if there is not enough available liquidity." -msgstr "" +msgstr "주문이 실행되지 않을 수 있는 드문 경우가 있을 수 있습니다. 예를 들어 체인이 다운되어 오라클 보고서가 생성되지 않거나 사용 가능한 유동성이 충분하지 않은 경우입니다." #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Buy {gasPaymentTokensText}" -msgstr "" +msgstr "{gasPaymentTokensText} 구매" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Show error" -msgstr "" +msgstr "오류 표시" #: src/components/Exchange/SwapBox.jsx msgid "Trigger orders, increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions using market orders." -msgstr "" +msgstr "GMX V1에서 트리거 주문, 포지션 증가(마켓 또는 지정가), 담보 추가 및 스왑이 이제 비활성화되었습니다. 기존 포지션은 여전히 마켓 주문을 사용하여 종료할 수 있습니다." #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0}은 지정된 구매 상한까지 이 마켓의 GM 구매에 사용될 수 있습니다." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High TWAP Network Fee" -msgstr "" +msgstr "높은 TWAP 네트워크 수수료" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Market Swap" -msgstr "시장 스왑 실행" +msgstr "마켓 스왑 실행" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit submitted!" -msgstr "" +msgstr "예치 제출 완료!" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Volume" -msgstr "" +msgstr "거래량" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit Swap" @@ -269,7 +272,7 @@ msgstr "지정가 스왑 취소" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{seconds}s" -msgstr "" +msgstr "{seconds}초" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Required" @@ -277,7 +280,7 @@ msgstr "{0} 요구됨" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "No incentives distribution history yet." -msgstr "" +msgstr "인센티브 분배 내역 없음." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -301,19 +304,19 @@ msgstr "상태 보기." #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Buyable" -msgstr "" +msgstr "구매 가능" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" -msgstr "" +msgstr "TWAP 부분 수" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee - UI Fee" -msgstr "" +msgstr "순 가치: 초기 담보 + PnL - 차용 수수료 - 음의 펀딩 수수료 - 종료 수수료 - UI 수수료" #: src/components/Exchange/ConfirmationBox.jsx msgid "The spread is > 1%, please ensure the trade details are acceptable before confirming" -msgstr "" +msgstr "스프레드가 1%를 초과합니다. 확인 전에 거래 세부 사항이 수용 가능함을 확인하세요." #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}<0/><1/>Please mint GLP using another token" @@ -321,7 +324,7 @@ msgstr "최대 풀 수용량인 {0}에 도달했습니다<0/><1/>다른 토큰 #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a value" -msgstr "" +msgstr "값 입력" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT Address" @@ -335,24 +338,24 @@ msgstr "사용가능" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "@username" -msgstr "" +msgstr "@username" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Short Inc." -msgstr "" +msgstr "스탑 마켓 - 숏 증가" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Take Profit" -msgstr "" +msgstr "익절 실패" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Confirm Settle" -msgstr "" +msgstr "정산 확인" #: src/domain/synthetics/markets/createDepositTxn.ts #: src/domain/synthetics/markets/createGlvDepositTxn.ts msgid "Deposit error." -msgstr "" +msgstr "예치 오류." #: src/pages/Exchange/Exchange.tsx msgid "Increased {tokenSymbol} {longOrShortText}, +{0} USD." @@ -360,19 +363,19 @@ msgstr "{tokenSymbol} {longOrShortText} 증가 완료, +{0} USD." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{updateOrdersCount} TP/SL order(s) updated" -msgstr "" +msgstr "{updateOrdersCount} TP/SL 주문 업데이트 완료" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price above mark price" -msgstr "" +msgstr "스탑 마켓 가격이 마크 가격 초과" #: src/pages/Stake/StakeModal.tsx msgid "Pending {stakingTokenSymbol} approval" -msgstr "" +msgstr "{stakingTokenSymbol} 승인 대기 중" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions" -msgstr "" +msgstr "오픈 포지션" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstaking..." @@ -384,11 +387,11 @@ msgstr "더 낮은 수수로를 찾기 위해 \"담보자산\"을 변경할 수 #: src/domain/synthetics/trade/utils/validation.ts msgid "The sellable cap for the pool GM: {0} [{1}] has been reached, as the tokens are reserved by traders. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "트레이더에 의해 토큰이 예약되어 풀 GM: {0} [{1}]의 판매 상한에 도달했습니다. 다른 풀을 선택하거나 판매 크기를 줄이거나 여러 풀에서 인출을 분할하세요." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap TWAP: Swap tokens in evenly distributed parts over a specified time." -msgstr "" +msgstr "TWAP 스왑: 지정된 시간 동안 균등하게 분배된 부분으로 토큰 스왑." #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} short exceeded" @@ -396,17 +399,17 @@ msgstr "{0} 숏 최대치를 초과했습니다." #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GM balance" -msgstr "" +msgstr "GM 잔고 부족" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token is a vault of automatically rebalanced GM tokens that accrue fees from leverage trading and swaps from the included markets. Backed by {0} and {1}." -msgstr "" +msgstr "이 토큰은 포함된 마켓의 레버리지 트레이딩 및 스왑에서 수수료가 누적되는 자동 재조정 GM 토큰 볼트입니다. {0} 및 {1}로 백킹됨." #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool USD exceeded" -msgstr "" +msgstr "최대 풀 USD 초과" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -414,33 +417,35 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price below mark price" -msgstr "" +msgstr "지정가 가격이 마크 가격 미만" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "sell" -msgstr "" +msgstr "판매" #: src/components/Exchange/SwapBox.jsx #: src/config/events.tsx msgid "Please migrate your positions to GMX V2." -msgstr "" +msgstr "포지션을 GMX V2로 마이그레이션하세요." +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "포지션" #: src/domain/synthetics/trade/utils/validation.ts msgid "{0} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{0}은 스마트 컨트랙트 주소로 보낼 수 없습니다. 다른 토큰을 선택하세요." #: src/domain/synthetics/markets/claimFundingFeesTxn.ts msgid "Funding Claimed" -msgstr "" +msgstr "펀딩 수령 완료" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please enable <2>Express trading</2> under settings, which should offer a better experience." -msgstr "" +msgstr "RPC 오류로 트랜잭션 실패.<0/><1/>설정에서 <2>익스프레스 트레이딩</2>을 활성화하세요. 더 나은 경험을 제공할 것입니다." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code added!" @@ -448,11 +453,11 @@ msgstr "추천인 코드가 추가되었습니다!" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELLABLE" -msgstr "" +msgstr "판매 가능" #: src/pages/Dashboard/StatsCard.tsx msgid "Treasury" -msgstr "" +msgstr "트레저리" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap {0} to {1} on 1inch" @@ -464,52 +469,50 @@ msgstr "{0}에서 {1}로 1inch에서 스왑" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "No pools matched." -msgstr "" - -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "" +msgstr "일치하는 풀 없음." #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "주문" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Increased {positionText}, +{0}" -msgstr "" +msgstr "{positionText} 증가, +{0}" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Funding Fee" -msgstr "자금 수수료" +msgstr "펀딩 수수료" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "{0} 마켓 풀에 유동성 부족. 이 마켓에 대해 다른 풀을 선택하세요. 다른 풀을 선택하면 기존 포지션과 다른 새 포지션이 열립니다.<0><1>{1} 마켓 풀로 전환</1>.</0>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" -msgstr "" +msgstr "지정가 주문 확인" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirm Withdraw" -msgstr "" +msgstr "인출 확인" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized PnL" -msgstr "" +msgstr "실현 PnL" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX V2 Data Analytics within Telegram" -msgstr "" +msgstr "텔레그램 내 GMX V2 데이터 분석" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer ETH from other networks to Arbitrum using any of the below options:" @@ -524,6 +527,7 @@ msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" msgstr "유요하지 않은 fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" @@ -532,36 +536,36 @@ msgstr "통계" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Price Impact Rebates" -msgstr "" +msgstr "가격 영향 리베이트 수령" #: src/pages/Stake/VesterDepositModal.tsx msgid "Max Capacity" -msgstr "" +msgstr "최대 수용량" #: src/domain/synthetics/orders/utils.tsx msgid "Market Swap" -msgstr "시장 스왑" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "트레이딩 히스토리" +msgstr "마켓 스왑" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" -msgstr "" +msgstr "더 보기" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." +msgstr "포지션 담보가 {symbol}이고 초기 가치가 {indexName} 숏 포지션 크기보다 높으므로, 담보 가치가 음의 PnL을 커버하기 위해 증가하여 청산 가격이 없습니다." + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" msgstr "" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{actionsCount, plural, one {주문} other {# 주문}}" #: src/config/bridging.tsx msgid "Buy APE on Arbitrum with <0>Camelot</0>." -msgstr "" +msgstr "<0>Camelot</0>으로 Arbitrum에서 APE 구매." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You will need to be on this page to accept the transfer, <0>click here</0> to copy the link to this page if needed." @@ -577,11 +581,15 @@ msgstr "숨기기" #: src/pages/Dashboard/GmxCard.tsx msgid "in liquidity" -msgstr "유동성" +msgstr "유동성 내" + +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "" #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" -msgstr "매도 가격" +msgstr "종료 가격" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -590,17 +598,17 @@ msgstr "가격 입력" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V2" -msgstr "" +msgstr "V2 리베이트" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives are airdropped weekly." -msgstr "" +msgstr "인센티브가 매주 에어드랍됩니다." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "Acceptable Price Impact" -msgstr "" +msgstr "허용 가능한 가격 영향" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add to Metamask" @@ -608,20 +616,20 @@ msgstr "메타마스크에 추가해주세요" #: src/pages/Stake/VesterDepositModal.tsx msgid "Insufficient staked tokens" -msgstr "" +msgstr "스테이킹된 토큰 부족" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Telegram contact (optional)" -msgstr "" +msgstr "텔레그램 연락처 (선택)" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in {minutesText}{seconds}s." -msgstr "" +msgstr "마켓 주문은 {minutesText}{seconds}초 후 취소 가능." #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "providing liquidity" -msgstr "" +msgstr "유동성 제공" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Tap [Create Wallet] to start using your Web3 Wallet." @@ -629,15 +637,15 @@ msgstr "웹3 지갑을 사용하려면 [지갑 생성]을 탭하세요." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Plutus" -msgstr "" +msgstr "Plutus" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pairs Trading" -msgstr "" +msgstr "페어 트레이딩" #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX {versionName} {networkName} actions for all accounts." -msgstr "" +msgstr "모든 계정에 대한 GMX {versionName} {networkName} 액션." #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel submitted" @@ -645,7 +653,7 @@ msgstr "취소 제출 완료" #: src/components/Exchange/PositionSeller.jsx msgid "Please uncheck \"Keep Leverage\", or close a larger position amount." -msgstr "" +msgstr "\"레버리지 유지\"를 해제하거나 더 큰 포지션 금액을 종료하세요." #: src/components/Exchange/PositionDropdown.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -654,7 +662,7 @@ msgstr "담보 수정" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} 롱 스탑 마켓: 가격이 트리거 가격 미만일 때 숏 포지션 {0}." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -662,7 +670,11 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price above mark price" -msgstr "" +msgstr "지정가 가격이 마크 가격 초과" + +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "미결제 약정 (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" @@ -670,7 +682,7 @@ msgstr "지갑 생성 또는 가져오기" #: src/pages/Stake/ClaimModal.tsx msgid "Stake esGMX Rewards" -msgstr "" +msgstr "esGMX 보상 스테이킹" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks and Settings" @@ -678,63 +690,56 @@ msgstr "네트워크 및 설정" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max network fee buffer precision is 0.01%" -msgstr "" +msgstr "최대 네트워크 수수료 버퍼 정밀도는 0.01%입니다." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Max. Leverage Exceeded" -msgstr "" +msgstr "최대 레버리지 초과" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" -msgstr "토큰 찾기" +msgstr "토큰 검색" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeltaPrime" -msgstr "" +msgstr "DeltaPrime" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using Decentralized Exchange Aggregators:" -msgstr "" +msgstr "탈중앙화 거래소 어그리게이터를 사용해 GMX 구매:" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Min. Required Collateral" -msgstr "" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "" +msgstr "최소 요구 담보" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" -msgstr "" +msgstr "순위" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average position size." -msgstr "" +msgstr "평균 포지션 크기." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx msgid "{0} <0/><1> to </1>{1} <2/>" -msgstr "" +msgstr "{0} <0/><1> to </1>{1} <2/>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Market: {0} a short position at the current price." -msgstr "" +msgstr "{typeString} 숏 마켓: 현재 가격으로 숏 포지션 {0}." #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "Claim {totalUsd}" -msgstr "" +msgstr "{totalUsd} 수령" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Swap" -msgstr "" +msgstr "Yield Yak 스왑" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Vaultka" -msgstr "" +msgstr "Vaultka" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -745,40 +750,40 @@ msgstr "마켓" #: src/domain/synthetics/userFeedback/utils.ts msgid "What did you like the most about our service?" -msgstr "" +msgstr "우리 서비스에서 가장 마음에 들었던 점은 무엇인가요?" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Paraswap" -msgstr "" +msgstr "Paraswap" #: src/components/TVChartContainer/constants.ts msgid "TP - Long Dec." -msgstr "" +msgstr "TP - 롱 감소" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claimable Rebates" -msgstr "" +msgstr "수령 가능 리베이트" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount reached" -msgstr "" +msgstr "최대 풀 금액 도달" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Market Orders" -msgstr "시장 주문" +msgstr "마켓 주문" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we address your concerns and improve your experience?" -msgstr "" +msgstr "우리는 귀하의 우려를 어떻게 해결하고 경험을 개선할 수 있을까요?" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value locked takes into account:" -msgstr "" +msgstr "잠긴 총 가치 고려:" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending buy request" -msgstr "" +msgstr "구매 요청 전송 중" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can check your claim history <0>here</0>." @@ -786,7 +791,7 @@ msgstr "<0>여기</0>에서 수령한 내역을 확인할 수 있습니다." #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable positive funding fees.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "수령 가능한 양의 펀딩 수수료.<0/><1/>포지션을 증가 또는 감소, 담보 예치 또는 인출, 또는 \"정산\" 버튼을 사용해 수수료 정산 후 사용 가능." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -799,11 +804,11 @@ msgstr "주문에 대한 허용 가능한 가격" #: src/components/TVChartContainer/DynamicLine.tsx msgid "The order could not be updated" -msgstr "" +msgstr "주문 업데이트 실패" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Cross-chain one-click deposits into GM" -msgstr "" +msgstr "GM으로 크로스체인 원클릭 예치" #: src/pages/Home/Home.tsx msgid "Open positions through a simple swap interface. Conveniently swap from any supported asset into the position of your choice." @@ -811,10 +816,12 @@ msgstr "간단한 스왑 인터페이스를 통해 포지션을 열어보세요. #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives Distribution History" -msgstr "" +msgstr "인센티브 분배 내역" + +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "일치하는 마켓 없음" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" @@ -831,7 +838,7 @@ msgstr "{0} 가격" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} buyable amount exceeded" -msgstr "" +msgstr "최대 {0} 구매 가능 금액 초과" #: src/components/Glp/GlpSwap.jsx msgid "Sell submitted!" @@ -839,7 +846,7 @@ msgstr "판매 제출 완료!" #: src/components/Exchange/PositionSeller.jsx msgid "Closing..." -msgstr "" +msgstr "종료 중..." #: src/components/Referrals/AddAffiliateCode.jsx msgid "Code already taken" @@ -847,31 +854,30 @@ msgstr "이미 사용된 코드입니다" #: src/components/TVChartContainer/constants.ts msgid "SL - Short Dec." -msgstr "" +msgstr "SL - 숏 감소" #: src/components/SettingsModal/SettingsModal.tsx msgid "Slippage should be less than -5%" -msgstr "" +msgstr "슬리피지가 -5% 미만이어야 함" #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Acceptable Swap Impact" -msgstr "" +msgstr "허용 가능한 스왑 영향" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "빠른 후속 연락이 괜찮다면 텔레그램을 남겨주세요" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized PnL" -msgstr "" +msgstr "미실현 PnL" #: src/pages/Dashboard/OverviewCard.tsx msgid "This value may be higher on other websites due to the collateral of positions being included in the calculation." -msgstr "" +msgstr "다른 웹사이트에서 포지션 담보가 계산에 포함되어 이 값이 더 높을 수 있습니다." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/pages/Stake/GlpCard.tsx @@ -881,7 +887,7 @@ msgstr "보상" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Liq. {0} {longOrShortText}" -msgstr "" +msgstr "청산 {0} {longOrShortText}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -905,36 +911,36 @@ msgstr "GMX 거버넌스 페이지" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Money Market" -msgstr "" +msgstr "탈중앙화 머니 마켓" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Stop Price" -msgstr "" +msgstr "스탑 가격" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "using GLV and GM tokens. Buying or staking GMX, or using referrals, is not supported at this time." -msgstr "" +msgstr "GLV 및 GM 토큰 사용. GMX 구매 또는 스테이킹, 또는 추천인 사용은 현재 지원되지 않습니다." #: src/pages/AccountDashboard/HistoricalLists.tsx msgid "Positions ({positionsCount})" -msgstr "" +msgstr "포지션 ({positionsCount})" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Trade GMX</0>" -msgstr "" +msgstr "<0>GMX 거래</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "As network fees have increased, an additional network fee is needed." -msgstr "" +msgstr "네트워크 수수료가 증가하여 추가 네트워크 수수료가 필요합니다." #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited" -msgstr "" +msgstr "예치됨" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Limit: Swap tokens when the trigger price is reached." -msgstr "" +msgstr "스왑 지정가: 트리거 가격에 도달할 때 토큰을 스왑합니다." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP have been reserved for vesting." @@ -942,7 +948,7 @@ msgstr "{0} GLP가 베스팅을 위해 리저브되었습니다." #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Selling {symbol}..." -msgstr "" +msgstr "{symbol} 판매 중..." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -951,7 +957,7 @@ msgstr "{0}로 구매" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Asset Management" -msgstr "" +msgstr "자산 관리" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding..." @@ -959,7 +965,7 @@ msgstr "추가중..." #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX {VERSION_NAME} {networkName} actions for all accounts." -msgstr "" +msgstr "모든 계정에 대한 GMX {VERSION_NAME} {networkName} 액션." #: src/components/Exchange/ConfirmationBox.jsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met" @@ -967,7 +973,7 @@ msgstr "가격 조건이 충족되었을 때 귀하의 주문을 실행할 수 #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow <0>BTCUSD</0> price in real-time, along with other currency pair rates. The interactive charts offer advanced tools and a user-friendly interface for easier market analysis and decision-making." -msgstr "" +msgstr "GMX는 TradingView를 사용해 실시간 암호화폐 차트를 제공하므로, <0>BTCUSD</0> 가격을 실시간으로 쉽게 추적할 수 있으며 다른 통화 쌍 비율도 함께. 대화형 차트는 고급 도구와 사용자 친화적 인터페이스를 제공하여 마켓 분석 및 의사 결정을 용이하게 합니다." #: src/components/Glp/SwapErrorModal.tsx msgid "Swap on 1inch" @@ -975,15 +981,15 @@ msgstr "1inch에서 스왑하기" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Coingecko" -msgstr "" +msgstr "Coingecko에서 {0} 열기" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buy {operationTokenSymbol}" -msgstr "" +msgstr "{operationTokenSymbol} 구매" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy GM: {0}" -msgstr "" +msgstr "GM 구매: {0}" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx @@ -993,35 +999,35 @@ msgstr "시가총액" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settled" -msgstr "" +msgstr "{positionName} 수수료 정산" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average leverage used." -msgstr "" +msgstr "사용된 평균 레버리지." #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/TotalRewardsCard.tsx msgid "Escrowed GMX" -msgstr "" +msgstr "에스크로 GMX" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX for Liquidity Providers. For security reasons, we won't contact you first. Please send the message \"I’m a Liquidity Provider\" to our official telegram account:" -msgstr "" +msgstr "유동성 제공자를 위한 GMX 개선을 위해 귀하의 통찰을 원합니다. 보안 이유로 먼저 연락하지 않습니다. 공식 텔레그램 계정으로 \"I’m a Liquidity Provider\" 메시지를 보내주세요:" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Insufficient Liquidity" -msgstr "" +msgstr "유동성 부족" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "The max network fee is overestimated, including by the buffer set under settings. Upon execution, any excess network fee is sent back to your account." -msgstr "" +msgstr "최대 네트워크 수수료는 설정 아래 버퍼를 포함해 과대 추정됩니다. 실행 시 초과 네트워크 수수료는 계정으로 반환됩니다." #: src/components/Synthetics/GmList/GmListItem.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "TVL (Supply)" -msgstr "" +msgstr "TVL (공급)" #: src/components/ModalViews/RedirectModal.tsx msgid "Alternative links can be found in the <0>docs</0>.<1/><2/>By clicking Agree you accept the <3>T&Cs</3> and <4>Referral T&Cs</4>.<5/><6/>" @@ -1029,7 +1035,7 @@ msgstr "이외의 링크는 <0>docs</0>에서 확인할 수 있습니다.<1/><2/ #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "All Time" -msgstr "" +msgstr "전체 기간" #: src/components/Referrals/referralsHelper.js msgid "The referral code can't be more than {MAX_REFERRAL_CODE_LENGTH} characters." @@ -1048,26 +1054,26 @@ msgstr "GMX 펀더멘탈" msgid "Referral Code" msgstr "추천인 코드" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" -msgstr "" +msgstr "TradingView 차트" #: src/pages/Stake/TotalRewardsCard.tsx msgid "GMX Staked Rewards" -msgstr "" +msgstr "GMX 스테이킹 보상" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Staked Tokens" -msgstr "" +msgstr "스테이킹된 토큰" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Beefy" -msgstr "" +msgstr "Beefy" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake completed!" -msgstr "" +msgstr "언스테이킹 완료!" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1081,15 +1087,15 @@ msgstr "예상 수수료 환불" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Swaps" -msgstr "" +msgstr "GMX 스왑" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivating..." -msgstr "" +msgstr "비활성화 중..." #: src/components/Header/HomeHeaderLinks.tsx msgid "Protocol" -msgstr "" +msgstr "프로토콜" #: src/pages/Dashboard/OverviewCard.tsx msgid "Overview" @@ -1097,12 +1103,12 @@ msgstr "개요" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Allow all my tokens to be transferred to a new account" -msgstr "" +msgstr "모든 토큰을 새 계정으로 전송 허용" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche Max. APY: {0}" -msgstr "" +msgstr "Avalanche 최대 APY: {0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrdersList.jsx @@ -1120,19 +1126,19 @@ msgstr "담보" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Market" -msgstr "" +msgstr "스탑 마켓 취소" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit" -msgstr "" +msgstr "지정가 실행" #: src/components/AprInfo/AprInfo.tsx msgid "Base APY" -msgstr "" +msgstr "기본 APY" #: src/components/TokenCard/TokenCard.tsx msgid "GMX V1 markets are disabled. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "GMX V1 마켓이 비활성화되었습니다. GLP가 단계적으로 종료되며 더 이상 GMX V1 마켓을 지원하지 않습니다." #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -1150,26 +1156,32 @@ msgstr "GLP 판매" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." -msgstr "" +msgstr "포지션 담보가 {symbol}이고 초기 가치가 {indexName} 롱 포지션 크기보다 높으므로, 담보 가치가 음의 PnL을 커버하여 청산 가격이 없습니다." + +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "CSV" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." -msgstr "" +msgstr "숏 청산" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Time limit expired." -msgstr "" +msgstr "원클릭 트레이딩 비활성화. 시간 제한 만료." #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {composition} as per the composition displayed." -msgstr "" +msgstr "이 토큰은 {0} 마켓의 레버리지 트레이딩 및 스왑에서 수수료가 자동 누적됩니다. 표시된 구성에 따라 {composition}에 노출됩니다." #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Buy Fee" -msgstr "" +msgstr "구매 수수료" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "토큰" @@ -1179,27 +1191,23 @@ msgstr "인출 요청" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "1inch" -msgstr "" - -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "" +msgstr "1inch" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" -msgstr "" +msgstr "복사됨" #: src/components/Exchange/PositionEditor.jsx msgid "Requested deposit of {0} {1} into {2} {longOrShortText}." -msgstr "" +msgstr "{2} {longOrShortText}에 {0} {1} 예치 요청." #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid TWAP number of parts value" -msgstr "" +msgstr "유효하지 않은 TWAP 부분 수 값" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid network fee buffer value" -msgstr "" +msgstr "유효하지 않은 네트워크 수수료 버퍼 값" #: src/components/Exchange/TradeHistory.jsx msgid "Request deposit into {0} {longOrShortText}" @@ -1207,41 +1215,41 @@ msgstr "{0} {longOrShortText} 예치 요청" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "0x" -msgstr "" +msgstr "0x" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "FUNDING FEE" -msgstr "" +msgstr "펀딩 수수료" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Markets" -msgstr "" +msgstr "마켓" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Real-time rants about GMX Trades" -msgstr "" +msgstr "GMX 거래에 대한 실시간 란트" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "The total realized and unrealized profit and loss for the period, considering price impact and fees but excluding swap fees." -msgstr "" +msgstr "기간 동안 실현 및 미실현 이익과 손실 총계, 가격 영향 및 수수료를 고려하나 스왑 수수료 제외." #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V2" -msgstr "" +msgstr "V2 거래량" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show less" -msgstr "" +msgstr "적게 표시" #: src/pages/Stake/Vesting.tsx msgid "Vest" -msgstr "" +msgstr "베스트" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in the GLP pools." -msgstr "" +msgstr "GLP 풀 내 토큰 총 가치." #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Select pool" @@ -1281,14 +1289,14 @@ msgstr "스왑 액티브: {0}, 실행 완료: {1}, 취소 완료: {2}" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Buy token on:" -msgstr "" +msgstr "토큰 구매:" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Price Impact" -msgstr "" +msgstr "실현 가격 영향" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit Swap" @@ -1296,7 +1304,11 @@ msgstr "지정가 스왑 실패" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Liq. {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "청산 {longOrShortText} - {marketIndexName}" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "액션" #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." @@ -1308,11 +1320,11 @@ msgstr "총 소개 보수" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {1} and {2} as per the composition displayed." -msgstr "" +msgstr "이 토큰은 {0} 마켓의 레버리지 트레이딩 및 스왑에서 수수료가 자동 누적됩니다. 표시된 구성에 따라 {1} 및 {2}에 노출됩니다." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min order: {0}" -msgstr "" +msgstr "최소 주문: {0}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -1321,44 +1333,44 @@ msgstr "지갑이 연결되지 않았습니다" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "TWAP Swap" -msgstr "" +msgstr "TWAP 스왑" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GM is the liquidity provider token for GMX V2 markets. Accrues 63% of the V2 markets generated fees." -msgstr "" +msgstr "GM은 GMX V2 마켓의 유동성 제공자 토큰입니다. V2 마켓 생성 수수료의 63%가 누적됩니다." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider adding a buffer of 0.30% to it so the order is more likely to be processed." -msgstr "" +msgstr "현재 가격 영향은 {0}입니다. 주문이 처리될 가능성을 높이기 위해 0.30% 버퍼를 추가하는 것을 고려하세요." #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Hide error" -msgstr "" +msgstr "오류 숨기기" #: src/components/Referrals/TradersStats.tsx msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." -msgstr "" +msgstr "이 추천인 코드 소유자가 표준 {0}% 대신 {currentTierDiscount}% 사용자 지정 할인을 Tier {1}에 설정했습니다." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "귀하의 지갑, 귀하의 키. 지갑에서 제공하는 자체 RPC를 사용해 온체인에서 각 트랜잭션에 서명. ETH로 가스 지불." #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" -msgstr "" +msgstr "10 USD 미만 잔여 포지션" #: src/config/bridging.tsx msgid "Mint tBTC using BTC with <0>Threshold</0>." -msgstr "" +msgstr "<0>Threshold</0>로 BTC를 사용해 tBTC 민트." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Price Impact" -msgstr "" +msgstr "스왑 가격 영향" #: src/domain/synthetics/userFeedback/utils.ts msgid "What issues did you encounter that led to your rating?" -msgstr "" +msgstr "평점에 영향을 준 문제는 무엇이었나요?" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Address" @@ -1366,41 +1378,41 @@ msgstr "NFT 주소" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancelled." -msgstr "" +msgstr "{orderText} 취소됨." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} GLV 풀은 <0>인센티브{sparkle}.</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Set Max Leverage" -msgstr "" +msgstr "최대 레버리지 설정" #: src/components/Exchange/PositionSeller.jsx msgid "Insufficient Available Liquidity to swap to {0}:" -msgstr "" +msgstr "{0}으로 스왑할 사용 가능 유동성 부족:" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Created At" -msgstr "" +msgstr "생성 시점" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Symbiosis" -msgstr "" +msgstr "Symbiosis" #: src/components/TokenSelector/TokenSelector.tsx msgid "No tokens matched." -msgstr "" +msgstr "일치하는 토큰 없음." #: src/components/Exchange/TradeHistory.jsx msgid "Withdraw {0} USD from {1}{longOrShortText}" -msgstr "" +msgstr "{1}{longOrShortText}에서 {0} USD 인출" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "{orderTypeLabel} {positionText}, -{0}" -msgstr "" +msgstr "{orderTypeLabel} {positionText}, -{0}" #: src/pages/PageNotFound/PageNotFound.jsx #: src/pages/PageNotFound/PageNotFound.jsx @@ -1413,19 +1425,24 @@ msgstr "GMX 포지션 업데이트를 위한 텔레그램 봇" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "account" -msgstr "게정" +msgstr "계정" -#: src/components/Synthetics/TradeBox/TradeBox.tsx -msgid "Keep leverage at {0}" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" msgstr "" +#: src/components/Synthetics/TradeBox/TradeBox.tsx +msgid "Keep leverage at {0}" +msgstr "{0}으로 레버리지 유지" + #: src/components/Exchange/SwapBox.jsx msgid "If you have an existing position, the position will be closed at {0} USD.<0/><1/>This exit price will change with the price of the asset.<2/><3/><4>Read more</4>." msgstr "포지션이 이미 존재한다면, 해당 포지션은 {0} USD에 종료될 것입니다.<0/><1/>이 종료 가격은 자산의 가격 변화에 따라 변경됩니다.<2/><3/><4>더 읽기</4>." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAIL. LIQ." -msgstr "" +msgstr "사용 가능 유동성" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer Submitted" @@ -1433,34 +1450,34 @@ msgstr "전송 제출 완료" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Action limit exceeded." -msgstr "" +msgstr "원클릭 트레이딩 비활성화. 액션 제한 초과." #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Shift GM" -msgstr "" +msgstr "GM 이동" #: src/components/Exchange/PositionEditor.jsx msgid "Requested withdrawal of {0} USD from {1} {longOrShortText}." -msgstr "" +msgstr "{1} {longOrShortText}에서 {0} USD 인출 요청됨." #: src/pages/Exchange/Exchange.tsx msgid "Could not increase {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." -msgstr "허용가능한 슬리피지 안에서는 {tokenSymbol} {longOrShortText}을 감소시키지 못했습니다. 최상단 우측의 설정 버튼을 통해 허용가능한 슬리피지를 변경할 수 있습니다." +msgstr "허용가능한 슬리피지 안에서는 {tokenSymbol} {longOrShortText}을 증가시키지 못했습니다. 최상단 우측의 설정 버튼을 통해 허용가능한 슬리피지를 변경할 수 있습니다." #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swapped {0} for {1}" -msgstr "" +msgstr "{0}을 {1}로 스왑" #: src/components/Referrals/AffiliatesStats.tsx msgid "Tier {0} ({currentRebatePercentage}% rebate)" -msgstr "" +msgstr "Tier {0} ({currentRebatePercentage}% 리베이트)" #: src/components/NotifyModal/NotifyModal.tsx msgid "Discover GMX Alerts" -msgstr "" +msgstr "GMX 알림 발견" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -1478,7 +1495,7 @@ msgstr "차트 포지션" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Unknown Order" -msgstr "" +msgstr "알 수 없는 주문" #: src/components/Exchange/ConfirmationBox.jsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity" @@ -1486,7 +1503,7 @@ msgstr "주문은 가격 조건 및 유동성 충분 요건이 만족하는 경 #: src/components/Exchange/FeesTooltip.tsx msgid "Swap Fee" -msgstr "" +msgstr "스왑 수수료" #: src/components/Glp/GlpSwap.jsx msgid "GLP sell disabled, pending {0} upgrade" @@ -1494,7 +1511,7 @@ msgstr "{0} 업그레이드를 위해 GLP 판매가 비활성화되었습니다" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient receive token liquidity" -msgstr "" +msgstr "수취 토큰 유동성 부족" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements and Updates" @@ -1513,42 +1530,42 @@ msgstr "수수료" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche Fuji" -msgstr "" +msgstr "V2 Avalanche Fuji" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order cancelled" -msgstr "" +msgstr "이동 주문 취소" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order executed" -msgstr "" +msgstr "주문 실행됨" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Select Positions" -msgstr "" +msgstr "포지션 선택" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "롱 포지션에서 {indexSymbol} 롱이 되고, {collateralSymbol} 담보에서 {collateralSymbol} 롱이 됩니다. 청산 가격은 {collateralSymbol} 가격에 따라 변동됩니다." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Failed to update order(s)" -msgstr "" +msgstr "주문 업데이트 실패" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche" -msgstr "" +msgstr "V2 Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Decrease" -msgstr "시장 감소 실패" +msgstr "마켓 감소 실패" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Full market" -msgstr "" +msgstr "전체 마켓" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Wallet" @@ -1560,7 +1577,7 @@ msgstr "GMX 프로포절 투표 페이지" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy ETH directly on <0>Arbitrum</0> using these options:" -msgstr "" +msgstr "<0>Arbitrum</0>에서 직접 ETH 구매 가능:" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -1584,29 +1601,29 @@ msgstr "DEX 어그리게이터" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the order." -msgstr "주문을 위한 시장 평균가" +msgstr "주문을 위한 마크 가격" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionList/PositionList.tsx msgid "Net Value" -msgstr "순이익" +msgstr "순 가치" #: src/components/MarketSelector/MarketSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterBase.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Search Market" -msgstr "" +msgstr "마켓 검색" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the current price impact and set allowed slippage. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "주문의 허용 가격은 현재 가격 영향 및 설정된 허용 슬리피지를 포함합니다. 실행 가격이 이 조건을 충족해야 주문이 실행됩니다." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be higher than the limit price." -msgstr "" +msgstr "마크 가격이 지정가 가격에 도달하면 주문이 실행을 시도하며, 설정된 허용 가격 영향을 포함한 허용 가격을 보장합니다. 음의 가격 영향이 있으면 마크 가격이 지정가 가격보다 높아야 할 수 있습니다." #: src/components/Synthetics/Claims/ClaimsHistory.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx @@ -1620,58 +1637,67 @@ msgstr "차용 수수료 / 일" #: src/components/SettingsModal/SettingsModal.tsx msgid "Number of parts must be between {MIN_TWAP_NUMBER_OF_PARTS} and {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "부분 수는 {MIN_TWAP_NUMBER_OF_PARTS}와 {MAX_TWAP_NUMBER_OF_PARTS} 사이여야 함" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Chinese)" -msgstr "" +msgstr "GMX (중국어)" + +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "검색" #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" -msgstr "가격이 시장 평군가보다 낮습니다" +msgstr "가격이 마크 가격 미만" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GMX Vault" -msgstr "" +msgstr "GMX 볼트에서 인출" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal submitted." -msgstr "" +msgstr "인출 제출 완료." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Referral Discount" -msgstr "" +msgstr "추천인 할인" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee or a borrow fee." -msgstr "" +msgstr "{longOrShort} 포지션은 펀딩 수수료 또는 차용 수수료를 지불하지 않습니다." #: src/pages/Dashboard/OverviewCard.tsx msgid "Fees for the past" -msgstr "" +msgstr "과거 수수료" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizations" -msgstr "" +msgstr "일드 최적화" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive (Approximate)" -msgstr "" +msgstr "수령 (대략)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "No swap path found" -msgstr "" +msgstr "스왑 경로 없음" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "RPnL" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "결합 손절이 최대(100%)입니다. 더 많은 주문을 추가하려면 기존 값을 감소시키세요." #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "4-18 Places" -msgstr "" +msgstr "4-18위" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "MARKETS" @@ -1680,15 +1706,15 @@ msgstr "마켓" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Max {0}" -msgstr "" +msgstr "최대 {0}" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {marketName} market. It is also exposed to {exposedToLabel} as per the composition displayed." -msgstr "" +msgstr "이 토큰은 {marketName} 마켓의 레버리지 트레이딩 및 스왑에서 수수료가 자동 누적됩니다. 표시된 구성에 따라 {exposedToLabel}에 노출됩니다." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Withdrew {0} from {positionText}" -msgstr "" +msgstr "{positionText}에서 {0} 인출" #: src/components/Exchange/ConfirmationBox.jsx msgid "Create Order" @@ -1700,7 +1726,7 @@ msgstr "이용률" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {0} for {1}" -msgstr "" +msgstr "{orderTypeText} {0}을 {1}로" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GLP Vesting Vault" @@ -1708,11 +1734,11 @@ msgstr "GLP의 베스팅 볼트에서 모든 토큰을 인출했습니다." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Profit Fee" -msgstr "" +msgstr "높은 스왑 이익 수수료" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "WARNING: This position has a low amount of collateral after deducting fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "" +msgstr "경고: 이 포지션은 수수료 차감 후 담보액이 낮습니다. 포지션 청산 위험을 줄이기 위해 담보를 더 예치하세요." #: src/components/Exchange/SwapBox.jsx msgid "Max {0} long capacity" @@ -1720,7 +1746,7 @@ msgstr "최대 {0} 롱 수용량" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "" +msgstr "가격 입력" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Account" @@ -1728,7 +1754,7 @@ msgstr "계정" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available for wrapping or unwrapping native token {0}." -msgstr "" +msgstr "익스프레스 트레이딩은 네이티브 토큰 {0} 래핑 또는 언래핑에 사용할 수 없습니다." #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1736,44 +1762,43 @@ msgstr "" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Close Fee" -msgstr "" +msgstr "종료 수수료" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Airdrop" -msgstr "" +msgstr "V1 에어드랍" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX" -msgstr "" +msgstr "GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Uniswap or directly on GMX (make sure to select Arbitrum):" -msgstr "" +msgstr "Uniswap 또는 GMX에서 직접 GMX 구매(Arbitrum 선택 확인):" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Close to execution price" -msgstr "집행 가격에 종료" +msgstr "실행 가격에 종료" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." -msgstr "" +msgstr "가스 잔고 부족으로 익스프레스 및 원클릭 트레이딩 사용 불가." -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "" +#~ msgid "Global Leaderboard" +#~ msgstr "글로벌 리더보드" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" -msgstr "" +msgstr "부분당 최소 크기: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above liq. price" -msgstr "" +msgstr "트리거 가격이 청산 가격 초과" #: src/pages/Home/Home.tsx msgid "Simple Swaps" @@ -1782,25 +1807,25 @@ msgstr "간단한 스왑" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "No results found" -msgstr "" +msgstr "결과 없음" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Pair" -msgstr "" +msgstr "페어" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Synthetics/SwapCard/SwapCard.tsx msgid "Max {0} out" -msgstr "최대 {0} out" +msgstr "최대 {0} 아웃" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing shorts or<1/>decreasing longs for this size." -msgstr "" +msgstr "가격 영향 없음. 이 크기에 대해 숏 증가 또는 롱 감소에 대한 단일<0/>실행 가격이 있습니다." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Option-based Vaults" -msgstr "" +msgstr "옵션 기반 볼트" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -1813,11 +1838,11 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Mark" -msgstr "" +msgstr "마크" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage at {keepLeverageAtValue}" -msgstr "" +msgstr "{keepLeverageAtValue}으로 레버리지 유지" #: src/pages/Dashboard/GmxCard.tsx msgid "not staked" @@ -1825,7 +1850,7 @@ msgstr "스테이킹되지 않음" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 2" -msgstr "" +msgstr "레이어 2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -1835,19 +1860,20 @@ msgstr "소개 보수 분배 내역" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Negative Funding Fee" -msgstr "" +msgstr "누적 음의 펀딩 수수료" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit not checked" msgstr "상실 이익이 확인되지 않았습니다." #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" -msgstr "" +msgstr "GM 구매" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of close fee" -msgstr "" +msgstr "종료 수수료의" #: src/components/Exchange/TradeHistory.jsx msgid "Increase {0} {longOrShortText}, +{1} USD, {2} Price: {3} USD" @@ -1859,11 +1885,11 @@ msgstr "esGMX (IOU) 토큰의 주소는 {esGmxIouAddress}입니다." #: src/components/NotifyModal/NotifyModal.tsx msgid "GMX Alerts" -msgstr "" +msgstr "GMX 알림" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Show details" -msgstr "" +msgstr "세부 사항 표시" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -1872,47 +1898,47 @@ msgstr "수수료를 줄이기 위해서는 다른 자산으로 지불해주세 #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be lower than the limit price." -msgstr "" +msgstr "마크 가격이 지정가 가격에 도달하면 주문이 실행을 시도하며, 설정된 허용 가격 영향을 포함한 허용 가격을 보장합니다. 음의 가격 영향이 있으면 마크 가격이 지정가 가격보다 낮아야 할 수 있습니다." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy {0}" -msgstr "" +msgstr "{0} 구매" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "USD Value may not be accurate since the data does not contain prices for {0}" -msgstr "" +msgstr "데이터에 {0} 가격이 포함되지 않아 USD 가치가 정확하지 않을 수 있습니다." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Blueberry Club" -msgstr "" +msgstr "GMX Blueberry Club" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Cumulative PnL" -msgstr "" +msgstr "누적 PnL" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum Max. APY:" -msgstr "" +msgstr "Arbitrum 최대 APY:" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity for your Account:" -msgstr "" +msgstr "계정에 대한 볼트 수용량:" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" -msgstr "" +msgstr "{0, plural, one {주문 취소} other {# 주문 취소}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" -msgstr "" +msgstr "수수료 후 PnL 표시" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol risk explorer and stats" -msgstr "" +msgstr "프로토콜 위험 탐색기 및 통계" #: src/components/Exchange/PositionShareCard.tsx msgid "Generating shareable image..." @@ -1936,7 +1962,7 @@ msgstr "구매 제출 완료" #: src/pages/Stake/Stake.tsx msgid "Incentives & Prizes" -msgstr "" +msgstr "인센티브 및 상금" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you sell GLP for. <0/>Enter the amount of GLP you want to redeem in the order form, then check here to compare fees." @@ -1944,12 +1970,13 @@ msgstr "GLP를 판매하는 양에 따라서 수수료가 상이합니다. <0/> #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{txnTypeText} {0} order for" -msgstr "" +msgstr "{txnTypeText} {0} 주문" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." -msgstr "" +msgstr "수수료의 USD 가치는 적립 시 계산되며 인센티브를 포함하지 않습니다." +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1959,7 +1986,7 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max" -msgstr "" +msgstr "최대" #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -1969,32 +1996,33 @@ msgstr "코드 확인중..." #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" -msgstr "" +msgstr "GM 풀" #: src/components/Exchange/SwapBox.jsx msgid "There is a \"Close\" button on each position row, clicking it will display the option to close positions via market orders." -msgstr "" +msgstr "각 포지션 행에 \"종료\" 버튼이 있으며, 클릭하면 마켓 주문을 통해 포지션 종료 옵션이 표시됩니다." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity." -msgstr "" +msgstr "주문은 가격 조건이 충족되고 유동성이 충분한 경우에만 실행됩니다." #: src/pages/Referrals/Referrals.tsx msgid "Affiliates" -msgstr "" +msgstr "제휴사" #: src/pages/Stake/Vesting.tsx msgid "Convert esGMX tokens to GMX tokens.<0/>Please read the <1>vesting details</1> before using the vaults." -msgstr "" +msgstr "esGMX 토큰을 GMX 토큰으로 변환.<0/>볼트 사용 전에 <1>베스팅 세부 사항</1>을 읽으세요." #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express" -msgstr "" +msgstr "익스프레스 시도" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to deactivate" -msgstr "" +msgstr "비활성화 실패" #: src/lib/legacy.ts msgid "No open position, order cannot be executed unless a position is opened" @@ -2007,15 +2035,15 @@ msgstr "숏 포지션" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buying {symbol}..." -msgstr "" +msgstr "{symbol} 구매 중..." #: src/components/Exchange/TradeHistory.jsx msgid "Could not increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}  USD" -msgstr "" +msgstr "{0} {longOrShortText} 증가 실패, +{1} USD, 허용 가격: {2} USD" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX on {chainName}" -msgstr "" +msgstr "{chainName}에서 GMX 구매" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2035,12 +2063,13 @@ msgstr "" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Size" -msgstr "사이즈" +msgstr "크기" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "귀하의 경험과 통찰을 소중히 여기며 익명 일대일 채팅 참여를 초대합니다." +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2075,19 +2104,15 @@ msgstr "{tokenSymbol} {longOrShortText} {0} USD의 증가 요청됨." #: src/pages/Home/Home.tsx msgid "Enter and exit positions with minimal spread and low price impact. Get the optimal price without incurring additional costs." -msgstr "" +msgstr "최소 스프레드와 낮은 가격 영향으로 포지션 진입 및 종료. 추가 비용 없이 최적 가격 획득." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b trading incentives" -msgstr "" +msgstr "STIP.b 트레이딩 인센티브" #: src/components/Exchange/ConfirmationBox.jsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "" +msgstr "페이지 오른쪽 상단 설정 메뉴에서 기본 허용 슬리피지를 편집할 수 있습니다.<0/><1/>낮은 허용 슬리피지(예: {0} 미만)는 가격이 변동적일 경우 주문 실패를 초래할 수 있습니다." #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." @@ -2103,11 +2128,11 @@ msgstr "지정가 주문 생성 실패." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics" -msgstr "" +msgstr "Dune Analytics" #: src/domain/synthetics/trade/utils/validation.ts msgid "There isn't enough GM: {0} [{1}] liquidity in GLV to fulfill your sell request. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "판매 요청을 충족할 GLV 내 GM: {0} [{1}] 유동성이 충분하지 않습니다. 다른 풀을 선택하거나 판매 크기를 줄이거나 여러 풀에서 인출을 분할하세요." #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -2116,16 +2141,16 @@ msgstr "{0} 승인중..." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Deposited {0} into {positionText}" -msgstr "" +msgstr "{positionText}에 {0} 예치" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "귀하의 지갑, 귀하의 키. GMX가 개별 서명 없이 트랜잭션을 실행하여 원활한 CEX 같은 경험 제공. 거래는 네트워크 혼잡 시에도 신뢰성을 위해 GMX 후원 프리미엄 RPC 사용. USDC 또는 WETH로 가스 지불." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Funding Fees" -msgstr "" +msgstr "펀딩 수수료 수령" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates are airdropped weekly." @@ -2133,7 +2158,7 @@ msgstr "소개 보수는 매주 에어드랍됩니다." #: src/components/SettingsModal/SettingsModal.tsx msgid "Display Settings" -msgstr "" +msgstr "표시 설정" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "Total:" @@ -2145,20 +2170,20 @@ msgstr "{0} 승인 완료!" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to STBTC</0> to use {1} as collateral." -msgstr "" +msgstr "스왑 경로 없음. {1}을 담보로 사용하려면 <0>{0}을 STBTC로 스왑</0>." #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Provide liquidity</0> and earn {gmxMarketApyDataText} APY" -msgstr "" +msgstr "<0>유동성 제공</0> 및 {gmxMarketApyDataText} APY 획득" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Address" -msgstr "" +msgstr "주소" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "" +#~ msgid "Winner:" +#~ msgstr "승자:" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" @@ -2167,15 +2192,15 @@ msgstr "총 트레이딩 거래량" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx msgid "Collateral Spread" -msgstr "" +msgstr "담보 스프레드" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing limit order with {symbol} as collateral. <0>Switch to {symbol} collateral</0>." -msgstr "" +msgstr "{symbol} 담보로 기존 지정가 주문이 있습니다. <0>{symbol} 담보로 전환</0>." #: src/components/Header/Header.tsx msgid "Trade on GMX V2 in Arbitrum and win 280,000 ARB (> $500k) in prizes in <0>two weekly</0> competitions. Live from March 13th to 27th." -msgstr "" +msgstr "Arbitrum에서 GMX V2에서 거래하고 <0>두 주간</0> 대회에서 280,000 ARB (> $500k) 상금을 획득하세요. 3월 13일부터 27일까지 라이브입니다." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Index" @@ -2192,23 +2217,23 @@ msgstr "{0} 업그레이드를 위해 GLP 구매가 비활성화되었습니다" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" -msgstr "" +msgstr "<0>주문 제출 오류.</0><1/><2>서명자 주소가 수신자 주소와 일치하지 않습니다.</2><3/><4>페이지를 새로고침하고 다시 시도하세요.</4>" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" -msgstr "" +msgstr "트레이딩 모드" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please try changing the RPC url in your wallet settings with the help of <2>chainlist.org</2>.<3/><4/><5>Read more</5>." -msgstr "" +msgstr "RPC 오류로 트랜잭션 실패.<0/><1/><2>chainlist.org</2> 도움을 받아 지갑 설정에서 RPC URL 변경 시도.<3/><4/><5>더 읽기</5>." #: src/components/Exchange/PositionSeller.jsx msgid "You have an active order to decrease {longOrShortText} {sizeInToken} {0} (${1}) at {prefix} {2}" -msgstr "" +msgstr "{longOrShortText} {sizeInToken} {0} (${1})을 {prefix} {2}에서 감소시키는 활성 주문이 있습니다." #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} sellable amount exceeded" -msgstr "" +msgstr "최대 {0} 판매 가능 금액 초과" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -2221,7 +2246,7 @@ msgstr "NFT 전송하기" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit failed." -msgstr "" +msgstr "예치 활성화 실패." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GMX tokens before" @@ -2229,7 +2254,7 @@ msgstr "수취인은 지금까지 GMX 토큰을 스테이킹한 적이 없습니 #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX Swaps monitoring" -msgstr "" +msgstr "GMX 스왑 모니터링을 위한 텔레그램 봇" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "LIQUIDITY" @@ -2250,29 +2275,29 @@ msgstr "스왑" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Allow {0} to be spent" -msgstr "" +msgstr "{0} 지출 허용" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order created!" -msgstr "스완 주문 생성!" +msgstr "스왑 주문 생성!" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "POSITION" -msgstr "" +msgstr "포지션" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Trading Volume" -msgstr "" +msgstr "거래량" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing limit order in the {0} market pool but it lacks liquidity for this order." -msgstr "" +msgstr "{0} 마켓 풀에 기존 지정가 주문이 있지만 이 주문에 대한 유동성이 부족합니다." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Reserved for Vesting" -msgstr "" +msgstr "베스팅 예약" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -2283,7 +2308,7 @@ msgstr "업데이트" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DODO" -msgstr "" +msgstr "DODO" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Your transfer has been initiated." @@ -2291,35 +2316,40 @@ msgstr "이전이 시작되었습니다." #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Estimated annualized fees generated by trading activity (open, close, borrow, liquidations, swaps) over the selected period. Does not include backing token price changes, trading PnL, or funding fees.<0/><1/>For detailed stats and comparisons, see the <2>GMX V2 LP Dashboard</2>." -msgstr "" +msgstr "선택 기간 동안 트레이딩 활동(개설, 종료, 차용, 청산, 스왑)으로 생성된 예상 연환산 수수료. 백킹 토큰 가격 변화, 트레이딩 PnL 또는 펀딩 수수료 포함 안 됨.<0/><1/>상세 통계 및 비교를 위해 <2>GMX V2 LP 대시보드</2> 참조." #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Risk Alerts" -msgstr "" +msgstr "청산 위험 알림" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settling" -msgstr "" +msgstr "{positionName} 수수료 정산" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" -msgstr "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" +msgstr "{existingTriggerOrderLength, plural, one {이 포지션에 영향을 미칠 수 있는 활성 트리거 주문이 있습니다.} other {#개의 활성 트리거 주문이 이 포지션에 영향을 미칠 수 있습니다.}}" + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "<0>{0}</0> GMX 토큰을 수령할 수 있습니다. 총 보상 섹션의 옵션을 사용하여 수령하세요." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" -msgstr "" +msgstr "교환 주문 실행됨" #: src/pages/Stake/VesterDepositModal.tsx msgid "You need a total of at least {0} {stakeTokenLabel} to vest {1} esGMX." -msgstr "" +msgstr "최소 {0} {stakeTokenLabel}이 {1} esGMX를 베스팅하기 위해 필요합니다." #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} USDG for{1} {2}" -msgstr "" +msgstr "{0} USDG를 {1} {2}로 스왑" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "{0} will be swapped to {1} on order execution." -msgstr "" +msgstr "{0}이 주문 실행 시 {1}로 스왑됩니다." #. Button to clear the filter selection #: src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx @@ -2328,24 +2358,24 @@ msgstr "선택 해제" #: src/domain/synthetics/orders/utils.tsx msgid "The order will not be executed as its trigger price is beyond the position's liquidation price." -msgstr "" +msgstr "트리거 가격이 포지션의 청산 가격을 초과하므로 주문이 실행되지 않습니다." #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Failed to cancel {ordersText}" -msgstr "" +msgstr "{ordersText} 취소 실패" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} 숏 스탑 마켓: 가격이 트리거 가격 아래로 떨어질 때 숏 포지션 {0}." #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." msgstr "시장 평균가가 변화되었습니다. 귀하의 주소 옆에 \"...\" 아이콘을 클릭해서 허용 가능한 슬리피지 증가를 고려해보세요." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" -msgstr "" +msgstr "기본 허용 슬리피지" #. Total Value Locked #: src/components/Synthetics/MarketsList/MarketsList.tsx @@ -2355,7 +2385,7 @@ msgstr "TVL" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Shift Fee" -msgstr "" +msgstr "교환 수수료" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/OverviewCard.tsx @@ -2369,15 +2399,15 @@ msgstr "취소 제출 완료" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Traderjoe:" -msgstr "" +msgstr "Traderjoe에서 GMX 구매:" #: src/pages/Actions/ActionsRouter.tsx msgid "V1 is not supported on {chainName}. Please switch to Arbitrum to use V1." -msgstr "" +msgstr "{chainName}에서 V1이 지원되지 않습니다. V1을 사용하려면 Arbitrum으로 전환하세요." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Saulius GMX Analytics" -msgstr "" +msgstr "Saulius GMX 분석" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -2390,25 +2420,25 @@ msgstr "{0} 가격" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized services" -msgstr "" +msgstr "중앙화 서비스에서 GMX 구매" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Bridge and swap" -msgstr "" +msgstr "브릿지 및 스왑" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above lowest limit price" -msgstr "" +msgstr "트리거 가격이 최저 지정가 가격 초과" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Borrow Fee Rate" -msgstr "" +msgstr "차입 수수료율" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max number of parts: {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "최대 부분 수: {MAX_TWAP_NUMBER_OF_PARTS}" #: src/components/Header/AppHeaderUser.tsx #: src/components/Header/AppHeaderUser.tsx @@ -2423,16 +2453,24 @@ msgstr "{0} USD를 {tokenSymbol} {longOrShortText}으로 입금 완료" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has staked GMX/GLP before" -msgstr "" +msgstr "수령자가 이전에 GMX/GLP를 스테이킹함" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling sell request" -msgstr "" +msgstr "판매 요청 이행 중" #: src/components/Exchange/TradeHistory.jsx msgid "{actionDisplay} Order" msgstr "{actionDisplay} 주문" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "시장 그래프" + #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" msgstr "숏 포지션보다 롱 포지션이 더 많이 열려있기 때문에, 현재 숏 포지션에 적용되는 차용수수료는 0입니다" @@ -2443,7 +2481,7 @@ msgstr "Avalanche APR:" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics for GMX" -msgstr "" +msgstr "GMX를 위한 Dune 분석" #: src/components/Exchange/TradeHistory.jsx msgid "Could not decrease {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}" @@ -2459,11 +2497,11 @@ msgstr "Avalanche에서 GMX로 베스팅하기" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "포지션을 클릭하여 시장을 선택한 후, 거래 박스를 사용하여 포지션 크기를 증가시키거나 이익 실현 / 손절 주문을 설정하세요." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Relayer request failed" -msgstr "" +msgstr "릴레이어 요청 실패" #: src/components/Exchange/TradeHistory.jsx msgid "Request decrease {0} {longOrShortText}, -{1} USD, Acceptable Price: {2} {3} USD" @@ -2471,29 +2509,33 @@ msgstr "{0} {longOrShortText} 감소 요청, -{1} USD, 허용가능한 가격: { #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "settings updated" -msgstr "" +msgstr "설정 업데이트됨" #: src/components/Exchange/SwapBox.jsx msgid "You have an existing position with {0} as collateral." -msgstr "" +msgstr "{0}을 담보로 한 기존 포지션이 있습니다." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Transfer Account" msgstr "계정 이전" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "" + #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" -msgstr "" +msgstr "GMX V1 작업" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Part" -msgstr "" +msgstr "TWAP 부분 실행" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Profit Fee" -msgstr "" +msgstr "스왑 이익 수수료" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Amount to claim" @@ -2513,7 +2555,7 @@ msgstr "APR은 매주 수요일에 업데이트되며 한 주 동안 쌓인 수 #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Fees (Incl. Swap)" -msgstr "" +msgstr "수수료 (스왑 포함)" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -2522,7 +2564,7 @@ msgstr "{fromText}에서 {toMinText}로" #: src/components/Errors/errorToasts.tsx msgid "Otherwise, try changing the RPC url in your wallet settings with the help of <0>chainlist.org</0>." -msgstr "" +msgstr "그렇지 않으면 <0>chainlist.org</0>의 도움을 받아 지갑 설정에서 RPC URL을 변경해 보세요." #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2531,11 +2573,11 @@ msgstr "청산가 초과 가격" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the pay token to collateral token swap when the price conditions are met." -msgstr "" +msgstr "가격 조건이 충족될 때 지불 토큰을 담보 토큰으로 스왑할 충분한 유동성이 없을 수 있습니다." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "User Quests" -msgstr "" +msgstr "사용자 퀘스트" #: src/components/Glp/GlpSwap.jsx msgid "{0} pool exceeded, try different token" @@ -2553,7 +2595,7 @@ msgstr "포지션 ({0})" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake failed." -msgstr "" +msgstr "언스테이킹 실패" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx @@ -2566,7 +2608,11 @@ msgstr "주문을 채울만한 충분한 스왑 유동성이 없습니다." #: src/pages/Stake/Stake.tsx msgid "Earn prizes by participating in GMX Trading Competitions." -msgstr "" +msgstr "GMX 거래 대회에 참여하여 상금을 획득하세요." + +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "접기" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" @@ -2574,7 +2620,7 @@ msgstr "롱 포지션 확인" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Arbitrum" -msgstr "" +msgstr "Arbitrum에서 추천된 거래자" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -2590,11 +2636,11 @@ msgstr "트랜잭션 전송됨." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter up to 10 coins" -msgstr "" +msgstr "최대 10개의 코인 입력" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Backing Tokens" -msgstr "" +msgstr "기반 토큰 노출" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Creating..." @@ -2604,11 +2650,11 @@ msgstr "생성중..." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing from Subaccount" -msgstr "" +msgstr "서브계정에서 인출 중" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settling Position Fees" -msgstr "" +msgstr "포지션 수수료 정산 중" #: src/components/Exchange/OrderEditor.jsx msgid "Minimum received" @@ -2621,19 +2667,19 @@ msgstr "GLP로부터 인출가능한 수량. 현재 포지션에 의해 활용 #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Enter your feedback here" -msgstr "" +msgstr "여기에 피드백을 입력하세요" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Impact on Collateral" -msgstr "" +msgstr "담보에 대한 높은 영향" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "and" -msgstr "" +msgstr "그리고" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GLV liquidity" -msgstr "" +msgstr "GLV 유동성 부족" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -2643,31 +2689,31 @@ msgstr "유효하지 않은 가격, 경고문을 보세요" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} only from your short position." -msgstr "" +msgstr "숏 포지션에서만 {indexSymbol}을 숏하게 됩니다." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Signing approval..." -msgstr "" +msgstr "승인 서명 중..." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." -msgstr "" +msgstr "현재 가격 영향은 {0}입니다. 주문이 처리될 가능성을 높이기 위해 -0.30% 허용 가격 영향을 고려하세요." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" -msgstr "" +msgstr "TP/SL 자동 취소" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Funding Fee Rate" -msgstr "" +msgstr "자금 수수료율" #: src/components/Exchange/PositionSeller.jsx msgid "Requested decrease of {0} {longOrShortText} by {sizeDeltaUsd} USD." -msgstr "" +msgstr "{0} {longOrShortText}의 {sizeDeltaUsd} USD 감소 요청됨." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Returned Collateral" -msgstr "" +msgstr "반환된 담보" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "You need to select {swapTokenSymbol} as the \"Pay\" token to use it for collateral to initiate this trade." @@ -2675,11 +2721,11 @@ msgstr "해당 트레이드를 시작하기위해 담보로 {swapTokenSymbol}을 #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "There are issues in the TP/SL orders." -msgstr "" +msgstr "TP/SL 주문에 문제가 있습니다." #: src/components/Glp/GlpSwap.jsx msgid "The Bonus Rebate is an estimate and will be airdropped as ARB tokens when migrating this liquidity to GM pools within the same epoch. <0>Read more</0>." -msgstr "" +msgstr "보너스 리베이트는 추정치이며 동일 에포크 내에서 이 유동성을 GM 풀으로 이전할 때 ARB 토큰으로 에어드랍됩니다. <0>더 읽기</0>." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP sold for {1} {2}!" @@ -2687,15 +2733,15 @@ msgstr "{0} GLP를 {1} {2}로 판매하였습니다!" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Long Inc." -msgstr "" +msgstr "스탑 마켓 - 롱 증가" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Failed to Claim Price Impact Rebate" -msgstr "" +msgstr "가격 영향 리베이트 수령 실패" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Only positions with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "\"자본 사용\"이 {0} 초과인 포지션만 랭킹됩니다." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept minimum and {action}" @@ -2703,7 +2749,7 @@ msgstr "최저액과 {action}에 동의해주세요" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Withdraw from Affiliate Vault" -msgstr "" +msgstr "어필리에이트 볼트에서 인출" #: src/components/Glp/GlpSwap.jsx msgid "Current Pool Amount" @@ -2716,46 +2762,46 @@ msgstr "취소 실패" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will be executed if there is sufficient liquidity and the execution price guarantees that you will receive the minimum receive amount." -msgstr "" +msgstr "충분한 유동성이 있고 실행 가격이 최소 수령액을 보장할 경우 주문이 실행됩니다." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Transacting with a depegged stable coin is subject to spreads reflecting the worse of current market price or $1.00, with transactions involving multiple stablecoins may have multiple spreads." -msgstr "" +msgstr "디페그된 스테이블 코인 거래는 현재 시장 가격 또는 $1.00 중 더 나쁜 스프레드에 따르며, 여러 스테이블 코인을 포함한 거래는 여러 스프레드를 가질 수 있습니다." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the \"Close\" button to reduce your Position Size." -msgstr "" +msgstr "포지션 크기를 줄이기 위해 \"닫기\" 버튼을 사용하세요." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Limit)" -msgstr "" +msgstr "크기 증가 (지정가)" #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute at the desired {priceText} as its acceptable price impact is set to {formattedOrderAcceptablePriceImpact}, which is lower than the current market price impact of {formattedCurrentAcceptablePriceImpact}. It can be edited using the \"Edit\" button." -msgstr "" +msgstr "허용 가격 영향이 {formattedOrderAcceptablePriceImpact}로 설정되어 현재 시장 가격 영향 {formattedCurrentAcceptablePriceImpact}보다 낮아 원하는 {priceText}에서 주문이 실행되지 않을 수 있습니다. \"편집\" 버튼으로 수정할 수 있습니다." #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Liquidation Fee" -msgstr "" +msgstr "청산 수수료" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settle" -msgstr "" +msgstr "정산" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TWAP: {0} a short position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} 숏 TWAP: 지정된 시간 동안 균등하게 분배된 부분으로 숏 포지션 {0}." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap when the min. receive conditions are met." -msgstr "" +msgstr "최소 수령 조건이 충족될 때 스왑을 실행할 충분한 유동성이 없을 수 있습니다." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "{fromText} to" -msgstr "" +msgstr "{fromText}에서" #: src/components/Exchange/PositionDropdown.tsx msgid "Select Market" @@ -2765,29 +2811,33 @@ msgstr "마켓 선택" msgid "Open positions: {0}<0/>Under risk: {1}" msgstr "열린 포지션: {0}<0>리스크: {1}" +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "" + #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" msgstr "페이지 로드 속도 향상" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: Swap {amountInDisplay}{1} for{minOutDisplay} {2}, Price:{3} USD" -msgstr "" +msgstr "{0}: {amountInDisplay}{1}을 {minOutDisplay} {2}로 스왑, 가격:{3} USD" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "(Rebated)" -msgstr "" +msgstr "(리베이트됨)" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized exchanges:" -msgstr "" +msgstr "중앙화 거래소에서 GMX 구매:" #: src/pages/BuyGMX/BuyGMX.tsx msgid "GMX bonds can be bought on Bond Protocol with a discount and a small vesting period:" -msgstr "" +msgstr "GMX 채권은 Bond Protocol에서 할인과 짧은 베스팅 기간으로 구매할 수 있습니다:" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above highest limit price" -msgstr "" +msgstr "트리거 가격이 최고 지정가 가격 초과" #: src/components/Exchange/OrdersToa.jsx msgid "Note that orders are not guaranteed to be executed.<0/><1/>This can occur in a few situations including but not exclusive to:" @@ -2795,24 +2845,24 @@ msgstr "주문 실행은 보장되지 않습니다.<0/><1/>이것은 다음과 #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions with Orders" -msgstr "" +msgstr "주문과 함께 열린 포지션" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Copin" -msgstr "" +msgstr "Copin" #: src/components/Exchange/PositionSeller.jsx msgid "{nativeTokenSymbol} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{nativeTokenSymbol}은 스마트 컨트랙트 주소로 보낼 수 없습니다. 다른 토큰을 선택하세요." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "This swap is routed through several GM pools for the lowest possible fees and price impact." -msgstr "" +msgstr "이 스왑은 가능한 최저 수수료와 가격 영향을 위해 여러 GM 풀을 통해 라우팅됩니다." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "{0}" -msgstr "" +msgstr "{0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Liquidity." @@ -2820,7 +2870,7 @@ msgstr "주문을 채울만한 충분한 유동성이 없습니다. 조건이 #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized data based on the past 7 days." -msgstr "" +msgstr "지난 7일에 기반한 연환산 데이터." #: src/components/Exchange/OrdersToa.jsx #: src/components/Exchange/OrdersToa.jsx @@ -2833,9 +2883,10 @@ msgstr "{0}의 최대 풀 수용량에 도달했습니다" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>Execution prices for decreasing longs." -msgstr "" +msgstr "이 크기로 숏 증가를 위한 유동성이 없습니다. 최대 숏 크기: {0}<1/><2/>롱 감소를 위한 실행 가격." #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" msgstr "트레이드" @@ -2845,35 +2896,36 @@ msgstr "추천 코드 추가 실패" #: src/components/Exchange/PositionEditor.jsx msgid "Max leverage without PnL: {0}x" -msgstr "" +msgstr "PnL 제외 최대 레버리지: {0}x" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "V2 doesn't currently support this network" -msgstr "" +msgstr "V2는 현재 이 네트워크를 지원하지 않습니다" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Arbitrum" -msgstr "" +msgstr "V1 Arbitrum" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche" -msgstr "" +msgstr "Avalanche" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Fee APR" -msgstr "" +msgstr "수수료 APR" #: src/domain/synthetics/positions/utils.ts msgid "SL" -msgstr "" +msgstr "SL" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2890,16 +2942,16 @@ msgstr "스테이킹" #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx msgid "Allow {tokenSymbol} to be spent" -msgstr "" +msgstr "{tokenSymbol} 지출 허용" #: src/components/NpsModal/NpsModal.tsx msgid "Help us improve" -msgstr "" +msgstr "개선 도와주기" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Invalid Liquidation Price" -msgstr "" +msgstr "유효하지 않은 청산 가격" #: src/pages/Home/Home.tsx msgid "An aggregate of high-quality price feeds determine when liquidations occur. This keeps positions safe from temporary wicks." @@ -2907,11 +2959,11 @@ msgstr "고품질의 여러 가격 피드를 통해 청산 발생 시기를 결 #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} available liquidity. Choose a different \"Receive\" token." -msgstr "" +msgstr "{0}에서 {1}로 스왑 금액이 {2} 가용 유동성을 초과합니다. 다른 \"수령\" 토큰을 선택하세요." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Take Profit" -msgstr "" +msgstr "이익 실현 생성" #: src/components/Exchange/OrderEditor.jsx msgid "Update Order" @@ -2919,7 +2971,7 @@ msgstr "주문 업데이트" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP" -msgstr "" +msgstr "TWAP 취소" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the liquidation." @@ -2927,12 +2979,12 @@ msgstr "청산을 위한 시장 평균가" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Selling {0}{1}<1>{poolName}</1></0>" -msgstr "" +msgstr "<0>{0}{1} 판매<1>{poolName}</1></0>" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Max close amount exceeded" -msgstr "" +msgstr "최대 닫기 금액 초과" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2942,15 +2994,15 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max leverage: {0}x" -msgstr "" +msgstr "최대 레버리지: {0}x" #: src/domain/synthetics/positions/utils.ts msgid "T" -msgstr "" +msgstr "T" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Please enter the names of the coins you'd like to see added:" -msgstr "" +msgstr "추가하고 싶은 코인 이름을 입력하세요:" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and Short" @@ -2958,27 +3010,27 @@ msgstr "이익 상실 및 숏" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Arbitrum" -msgstr "" +msgstr "Arbitrum에서 스테이킹됨" #: src/components/Exchange/PositionSeller.jsx msgid "Order creation failed." -msgstr "" +msgstr "주문 생성 실패" #: src/components/TokenCard/TokenCard.tsx msgid "Sell token on:" -msgstr "" +msgstr "토큰 판매:" #: src/components/Synthetics/MissedCoinsHint/MissedCoinsHint.tsx msgid "Can’t find the coin you need? Let us know" -msgstr "" +msgstr "필요한 코인을 찾을 수 없나요? 알려주세요" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegated to" -msgstr "" +msgstr "위임됨" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} update failed." -msgstr "" +msgstr "{orderText} 업데이트 실패" #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: Swap {fromAmountDisplay} {0} for {toAmountDisplay} {1}" @@ -2988,18 +3040,23 @@ msgstr "주문 실행: {fromAmountDisplay} {0}을 {toAmountDisplay} {1}로 스 msgid "Buy {swapTokenSymbol} on 1inch" msgstr "{swapTokenSymbol}을 1inch에서 구매하기" +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "" + #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" -msgstr "" +msgstr "PnL (%)" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we continue to meet your expectations?" -msgstr "" +msgstr "귀하의 기대를 지속적으로 충족시키기 위해 어떻게 할 수 있을까요?" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another address to claim if you'd like." -msgstr "\"esGMX (IOU) 토큰의 주소는 {esGmxIouAddress} 입니다." +msgstr "esGMX (IOU) 토큰은 양도 가능합니다. 지갑에 토큰을 추가하고 다른 주소로 보내 수령할 수 있습니다." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Self-transfer not supported" @@ -3007,7 +3064,7 @@ msgstr "자신에게 전송하는 것은 지원되지 않습니다" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Generating session..." -msgstr "" +msgstr "세션 생성 중..." #: src/pages/Exchange/Exchange.tsx msgid "Decreased {tokenSymbol} {longOrShortText}, -{0} USD." @@ -3015,7 +3072,7 @@ msgstr "{tokenSymbol} {longOrShortText} 감소, -{0} USD." #: src/components/Exchange/PositionEditor.jsx msgid "Leave at least {0} ETH for gas" -msgstr "" +msgstr "가스비로 최소 {0} ETH 남기기" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders failed." @@ -3038,7 +3095,7 @@ msgstr "네트워크 수수료" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact." -msgstr "" +msgstr "현재 가격 영향을 포함한 주문의 예상 실행 가격." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3061,11 +3118,11 @@ msgstr "주문 유효화 제출 완료" #: src/components/Exchange/PositionEditor.jsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing..." -msgstr "" +msgstr "인출 중..." #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims match the selected filters" -msgstr "" +msgstr "선택한 필터와 일치하는 수령이 없습니다" #: src/components/Exchange/SwapBox.jsx #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx @@ -3087,57 +3144,57 @@ msgstr "마켓" #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} acceptable amount. Can only receive {3}." -msgstr "" +msgstr "{0}에서 {1}로 스왑 금액이 {2} 허용 금액을 초과합니다. {3}만 수령할 수 있습니다." #: src/pages/Stake/Stake.tsx msgid "Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2." -msgstr "" +msgstr "GM 토큰 구매 또는 GMX V2에서 거래하여 {incentivesToken} 토큰 인센티브를 획득하세요." #: src/components/Exchange/PositionEditor.jsx msgid "Withdraw disabled, pending {0} upgrade" -msgstr "" +msgstr "{0} 업그레이드 대기 중 인출 비활성화" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Read the rules" -msgstr "" +msgstr "규칙 읽기" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Lev." -msgstr "" +msgstr "레버리지" #: src/pages/Stake/StakeModal.tsx msgid "Stake failed." -msgstr "" +msgstr "스테이킹 실패" #: src/components/NpsModal/NpsModal.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Submitting..." -msgstr "" +msgstr "제출 중..." #: src/components/Header/HomeHeaderLinks.tsx msgid "App" -msgstr "" +msgstr "앱" #: src/components/Synthetics/GmList/GlvList.tsx msgid "Yield-optimized vaults supplying liquidity across multiple GMX markets." -msgstr "" +msgstr "여러 GMX 시장에 유동성을 공급하는 수익 최적화 볼트." #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Add {marketName} to Wallet" -msgstr "" +msgstr "{marketName}을 지갑에 추가" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized Performance" -msgstr "" +msgstr "연환산 성과" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" -msgstr "" +msgstr "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap {0} to {1}" -msgstr "" +msgstr "{0}을 {1}로 스왑" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}." @@ -3145,13 +3202,13 @@ msgstr "{0}을 {1}로 스왑하는 수수료가 높습니다." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Debug values are not available" -msgstr "" +msgstr "디버그 값 사용 불가" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below liq. price" -msgstr "" +msgstr "트리거 가격이 청산 가격 미만" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx @@ -3159,14 +3216,9 @@ msgstr "" msgid "Claim failed." msgstr "수령 실패" -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "" - #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" -msgstr "" +msgstr "알 수 없는 오류" #: src/components/Glp/GlpSwap.jsx msgid "Buying..." @@ -3174,60 +3226,60 @@ msgstr "구매중..." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a new ratio or allowed slippage" -msgstr "" +msgstr "새 비율 또는 허용 슬리피지 입력" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap UI Fee" -msgstr "" +msgstr "스왑 UI 수수료" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the size to match the max. allowed leverage:" -msgstr "" +msgstr "최대 허용 레버리지에 맞게 크기 감소:" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Positive Funding Fee" -msgstr "" +msgstr "누적 양의 자금 수수료" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from Affiliate Vesting Vault" -msgstr "" +msgstr "발신자가 어필리에이트 베스팅 볼트에서 모든 토큰을 인출함" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/keys.ts #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Liquidated" -msgstr "청산" +msgstr "청산됨" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Blueberry Pulse" -msgstr "" +msgstr "Blueberry Pulse" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5></3> deployment for those features." -msgstr "" +msgstr "해당 기능에 대해 <0><1/><2>Arbitrum</2></0> 또는 <3><4/><5>Avalanche</5></3> 배포로 전환하세요." #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "언어 선택" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Direction" -msgstr "" +msgstr "방향" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} and {1} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "이 시장에서 GM은 지정된 판매 상한까지 {0} 및 {1}로 판매될 수 있습니다. 풀의 나머지 토큰은 현재 열린 포지션에 예약됩니다." #: src/components/Glp/GlpSwap.jsx msgid "Due to the recent incident on GMX V1 Arbitrum, GLP on Arbitrum is not sellable." -msgstr "" +msgstr "최근 GMX V1 Arbitrum 사건으로 인해 Arbitrum의 GLP는 판매 불가입니다." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "Graph showing performance vs benchmark over the selected period." -msgstr "" +msgstr "선택 기간 동안 벤치마크 대비 성과를 보여주는 그래프." #: src/components/Synthetics/ExecutionPriceRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3248,11 +3300,11 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "Order Acceptable Price" -msgstr "주문 가능 가격" +msgstr "주문 허용 가격" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "VOL." -msgstr "" +msgstr "거래량" #: src/components/Glp/GlpSwap.jsx msgid "Max Capacity for {0} Reached" @@ -3261,11 +3313,11 @@ msgstr "{0}의 최대치에 도달했습니다." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below limit price" -msgstr "" +msgstr "트리거 가격이 지정가 가격 미만" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Buying {0}{1}<1>{poolName}</1></0> <2>with {tokensText}</2>" -msgstr "" +msgstr "<0>{0}{1} 구매<1>{poolName}</1></0> <2>{tokensText}로</2>" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionsList.jsx @@ -3278,53 +3330,53 @@ msgstr "최초 담보" #: src/pages/Stake/StakeModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power before staking." -msgstr "" +msgstr "<0>스테이킹 전에 위임되지 않은 {0} GMX DAO</0> 투표 권한을 위임하세요." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Size" -msgstr "" +msgstr "평균 크기" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 esGMX" -msgstr "" +msgstr "V1 esGMX" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit PnL" -msgstr "" +msgstr "이익 실현 PnL" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Let us know which coins you're missing" -msgstr "" +msgstr "누락된 코인을 알려주세요" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw sent." -msgstr "" +msgstr "인출 유효화 제출 완료" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." -msgstr "귀하의 esGMX(IOU) 잔액은 수령 후 수령액만큼 감소하는데 이는 상정된 행동입니다." +msgstr "수령 후 esGMX (IOU) 잔액이 수령액만큼 감소하며, 이는 예상된 행동입니다." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." -msgstr "" +msgstr "최대 네트워크 수수료는 주문 실행 중 가스 가격 증가를 처리하기 위해 높게 설정됩니다. 초과 네트워크 수수료는 주문 실행 시 계정으로 환불됩니다. GMX V2에만 적용." #: src/domain/synthetics/positions/utils.ts msgid "stop market" -msgstr "" +msgstr "스탑 마켓" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized PnL" -msgstr "" +msgstr "시작 미실현 PnL" #: src/components/TVChartContainer/constants.ts msgid "Limit - Short Inc." -msgstr "" +msgstr "지정가 - 숏 증가" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Sending settle request" -msgstr "" +msgstr "정산 요청 전송 중" #: src/lib/legacy.ts msgid "Order cannot be executed as the remaining position would be smaller than $5.00" @@ -3339,18 +3391,13 @@ msgstr "포지션의 금액이 $5.00 이하로 남게되면 주문은 실행될 msgid "Claiming..." msgstr "수령중..." -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "" - #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" msgstr "마켓 증가 요청" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Edit {0}" -msgstr "" +msgstr "{0} 편집" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Arbitrum" @@ -3358,11 +3405,11 @@ msgstr "Arbitrum에서 GMX로 베스팅하기" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable price impact rebates.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "수령 가능한 가격 영향 리베이트.<0/><1/><2>더 읽기</2>." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and {borrowAction} a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "{longOrShort} 포지션은 시간당 {fundingRate} 자금 수수료를 {fundingAction}하고 시간당 {borrowRate} 차입 수수료를 {borrowAction}합니다." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx @@ -3371,7 +3418,7 @@ msgstr "" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "TWAP" -msgstr "" +msgstr "TWAP" #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -3380,11 +3427,11 @@ msgstr "주문 업데이트중..." #: src/components/Exchange/PositionSeller.jsx msgid "Close failed." -msgstr "" +msgstr "닫기 실패" #: src/pages/Stake/Stake.tsx msgid "You are earning rewards with {0} tokens.<0/>Tokens: {amountStr}." -msgstr "" +msgstr "{0} 토큰으로 보상을 획득 중입니다.<0/>토큰: {amountStr}." #: src/components/ModalViews/RedirectModal.tsx msgid "The website is a community deployed and maintained instance of the open source <0>GMX front end</0>, hosted and served on the distributed, peer-to-peer <1>IPFS network</1>." @@ -3392,32 +3439,36 @@ msgstr "웹사이트는 오픈소스인 <0>GMX front end</0>를 이용하고 커 #: src/components/Exchange/PositionEditor.jsx msgid "Deposit failed." -msgstr "" +msgstr "입금 실패" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "<0>Set Recommended Impact: {0}</0>." -msgstr "" +msgstr "<0>권장 영향 설정: {0}</0>." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Defi Llama" -msgstr "" +msgstr "Defi Llama" #: src/pages/Exchange/Exchange.tsx msgid "Orders cancelled." msgstr "주문 취소" +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" + #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" -msgstr "" +msgstr "마지막 리밸런스" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit" -msgstr "" +msgstr "지정가 취소" #: src/components/Referrals/AffiliatesStats.tsx msgid "V2 Claim" -msgstr "" +msgstr "V2 수령" #: src/components/Exchange/OrdersToa.jsx msgid "Accept that orders are not guaranteed to execute and trigger orders may not settle at the trigger price" @@ -3426,15 +3477,15 @@ msgstr "주문의 실행이 보장되지 않으며 트리거 주문이 트리거 #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a market" -msgstr "" +msgstr "시장 선택" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please choose a different pool or reduce the buy size." -msgstr "" +msgstr "{1} [{2}]의 풀 GM: {0} 구매 상한에 도달했습니다. 다른 풀을 선택하거나 구매 크기를 줄이세요." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High External Swap Impact" -msgstr "" +msgstr "높은 외부 스왑 영향" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx @@ -3460,11 +3511,11 @@ msgstr "승인 대기중" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and do not pay a borrow fee." -msgstr "" +msgstr "{longOrShort} 포지션은 시간당 {fundingRate} 자금 수수료를 {fundingAction}하며 차입 수수료를 지불하지 않습니다." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TP/SL: {0} a short position when the trigger price is reached." -msgstr "" +msgstr "{typeString} 숏 TP/SL: 트리거 가격에 도달할 때 숏 포지션 {0}." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community-led Telegram groups." @@ -3472,25 +3523,20 @@ msgstr "커뮤니티 주도 텔레그램 그룹" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Open Interest" -msgstr "" - -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "" +msgstr "{longShortText} {0} 미결제 약정" #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." -msgstr "" +msgstr "수령할 GMX 토큰이 없습니다." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Settled Funding Fees" -msgstr "" +msgstr "정산된 자금 수수료" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Ends in" -msgstr "" +msgstr "종료까지" #: src/components/Referrals/JoinReferralCode.tsx msgid "Please input a referral code to benefit from fee discounts." @@ -3506,11 +3552,11 @@ msgstr "마켓 스왑 요청" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market.{1}" -msgstr "" +msgstr "{0} 시장 풀의 유동성 부족. 이 시장에 대해 다른 풀을 선택하세요.{1}" #: src/domain/synthetics/trade/utils/validation.ts msgid "App disabled, pending {0} upgrade" -msgstr "" +msgstr "{0} 업그레이드 대기 중 앱 비활성화" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates earned by this account as an affiliate." @@ -3533,7 +3579,7 @@ msgstr "언스테이킹" #: src/components/SettingsModal/SettingsModal.tsx msgid "Debug Settings" -msgstr "" +msgstr "디버그 설정" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "More Options" @@ -3541,24 +3587,28 @@ msgstr "더 많은 설정" #: src/components/TokenCard/TokenCard.tsx msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." -msgstr "" +msgstr "GLV는 GMX V2 볼트의 유동성 제공자 토큰입니다. 여러 GM 토큰으로 구성되며 그들이 생성한 수수료를 누적합니다." + +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "네트워크" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" -msgstr "" +msgstr "<0>매</0> {hours} 시간{0}" #: src/components/Referrals/TradersStats.tsx msgid "For trades on V1, this discount will be airdropped to your account every Wednesday. On V2, discounts are applied automatically and will reduce your fees when you make a trade." -msgstr "" +msgstr "V1 거래의 경우 이 할인이 매주 수요일 계정으로 에어드랍됩니다. V2에서는 할인이 자동 적용되어 거래 시 수수료를 줄입니다." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Fail External Swaps" -msgstr "" +msgstr "외부 스왑 실패" #: src/domain/synthetics/orders/utils.tsx msgid "Swap {fromTokenText} for {toTokenText}" -msgstr "" +msgstr "{fromTokenText}을 {toTokenText}로 스왑" #: src/components/Exchange/SwapBox.jsx #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts @@ -3582,7 +3632,7 @@ msgstr "PnL" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available using network's native token {0}. Consider using {1} instead." -msgstr "" +msgstr "네트워크의 네이티브 토큰 {0}을 사용한 익스프레스 거래는 사용할 수 없습니다. 대신 {1} 사용을 고려하세요." #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx @@ -3591,11 +3641,11 @@ msgstr "시장 증가" #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims yet" -msgstr "" +msgstr "수령 없음" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Cancel Order" -msgstr "" +msgstr "주문 취소" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3611,15 +3661,15 @@ msgstr "인출" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Market" -msgstr "" +msgstr "스탑 마켓 업데이트" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Vested Claimable GMX" -msgstr "" +msgstr "베스팅된 수령 가능 GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy {nativeTokenSymbol}" -msgstr "" +msgstr "{nativeTokenSymbol} 구매" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "View in Explorer" @@ -3627,11 +3677,11 @@ msgstr "Explorer에서 보기" #: src/components/AprInfo/AprInfo.tsx msgid "Bonus APR" -msgstr "" +msgstr "보너스 APR" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift request sent" -msgstr "" +msgstr "교환 요청 전송됨" #: src/pages/Jobs/Jobs.jsx msgid "GMX is not actively looking for new hires at the moment. However, if you think you can contribute to the project, please email <0>jobs@gmx.io</0>." @@ -3647,11 +3697,11 @@ msgstr "스캔 후, 지갑을 연결할 수 있는 연결 프롬프트가 나타 #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer AVAX from other networks to Avalanche using any of the below options:" -msgstr "" +msgstr "아래 옵션 중 하나를 사용하여 다른 네트워크에서 AVAX를 Avalanche로 이전할 수 있습니다:" #: src/pages/Stake/Vesting.tsx msgid "Unsupported network" -msgstr "" +msgstr "지원되지 않는 네트워크" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -3661,11 +3711,11 @@ msgstr "여는 중..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche" -msgstr "" +msgstr "Avalanche에서 추천된 거래자" #: src/components/Exchange/PositionSeller.jsx msgid "Trigger order disabled, pending {0} upgrade" -msgstr "" +msgstr "{0} 업그레이드 대기 중 트리거 주문 비활성화" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Funding Fees" @@ -3675,7 +3725,6 @@ msgstr "자금 수수료" msgid "Approval failed" msgstr "승인 실패" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx @@ -3684,7 +3733,7 @@ msgstr "미결제 약정" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Updating settings..." -msgstr "" +msgstr "설정 업데이트 중..." #: src/components/Exchange/SwapBox.jsx msgid "The position will be opened at {0} USD with a max slippage of {1}%.<0/><1/>The slippage amount can be configured under Settings, found by clicking on your address at the top right of the page after connecting your wallet.<2/><3/><4>Read more</4>." @@ -3696,7 +3745,7 @@ msgstr "활성화된 추천 코드" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "Save One-Click Trading settings" -msgstr "" +msgstr "원클릭 거래 설정 저장" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Please switch your network to Arbitrum." @@ -3704,19 +3753,19 @@ msgstr "네트워크를 Arbitrum으로 변경해주세요." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "The position would be immediately liquidated upon order execution. Try reducing the size." -msgstr "" +msgstr "주문 실행 시 포지션이 즉시 청산될 수 있습니다. 크기를 줄여보세요." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUYABLE" -msgstr "" +msgstr "구매 가능" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP" -msgstr "" +msgstr "TWAP 생성" #: src/components/Exchange/PositionEditor.jsx msgid "Enabling Leverage" -msgstr "" +msgstr "레버리지 활성화 중" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx @@ -3725,30 +3774,30 @@ msgstr "유효하지 않은 수령 주소" #: src/components/Exchange/PositionSeller.jsx msgid "Collateral is not enough to cover pending Fees. Please uncheck \"Keep Leverage\" to pay the Fees with the realized PnL." -msgstr "" +msgstr "보류 중인 수수료를 커버할 담보가 부족합니다. 실현 PnL로 수수료를 지불하려면 \"레버리지 유지\"를 해제하세요." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have yet to reach the minimum \"Capital Used\" of {0} to qualify for the rankings." -msgstr "" +msgstr "랭킹 자격을 위한 최소 \"자본 사용\" {0}에 도달하지 않았습니다." #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience as GMX Liquidity Provider and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "GMX 유동성 제공자로서의 귀하의 경험을 소중히 여기며 익명 1:1 채팅에 참여를 초대합니다." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "TVL (SUPPLY)" -msgstr "" +msgstr "TVL (공급)" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the leverage to match the max. allowed leverage." -msgstr "" +msgstr "최대 허용 레버리지에 맞게 레버리지 감소." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Shorts" -msgstr "" +msgstr "숏" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Prev" @@ -3756,24 +3805,20 @@ msgstr "이전" #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 180d" -msgstr "" +msgstr "최근 180일" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown buy GM order" -msgstr "" +msgstr "알 수 없는 GM 구매 주문" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "" +msgstr "페이지 오른쪽 상단 설정 메뉴에서 기본 허용 슬리피지를 편집할 수 있습니다.<0/><1/>낮은 허용 슬리피지(예: -{0} 미만)는 가격 변동 시 주문 실패를 초래할 수 있습니다." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." -msgstr "" +msgstr "가격 영향이 없습니다. 이 크기로 롱 증가 또는 숏 감소를 위한 단일<0/>실행 가격입니다." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 days." @@ -3781,24 +3826,24 @@ msgstr "수령 후, esGMX 토큰은 7일 이내에 선택한 네트워크의 계 #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Buy GLV" -msgstr "" +msgstr "GLV 구매" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Part" -msgstr "" +msgstr "TWAP 부분 실패" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Impact+Fees" -msgstr "" +msgstr "영향+수수료" #: src/components/TVChartContainer/constants.ts msgid "TP - Short Dec." -msgstr "" +msgstr "TP - 숏 감소" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs GM Token Dashboard" -msgstr "" +msgstr "Compass Labs GM 토큰 대시보드" #: src/components/Exchange/TradeHistory.jsx msgid "Request increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2} {3} USD" @@ -3815,11 +3860,11 @@ msgstr "담보 자산" #: src/pages/Dashboard/GmCard.tsx msgid "GM Markets" -msgstr "" +msgstr "GM 시장" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Your opinions and experiences matter to us. Your feedback helps us understand what we are doing well and where we can make enhancements." -msgstr "" +msgstr "귀하의 의견과 경험은 우리에게 중요합니다. 피드백은 우리가 잘하고 있는 부분과 개선할 부분을 이해하는 데 도움이 됩니다." #: src/components/Exchange/UsefulLinks.tsx msgid "Trading guide" @@ -3827,15 +3872,15 @@ msgstr "트레이딩 가이드" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Open {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "{longOrShortText} 열기 - {marketIndexName}" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "TRADING Airdrop" -msgstr "" +msgstr "거래 에어드랍" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. This can be useful for delta-neutral strategies to earn funding fees." -msgstr "" +msgstr "숏 포지션에서 {indexSymbol}을 숏하면서 {collateralSymbol} 담보에서 {collateralSymbol}을 롱하게 됩니다. 이는 델타 중립 전략에서 자금 수수료를 획득하는 데 유용할 수 있습니다." #: src/components/Referrals/TradersStats.tsx msgid "Rebates earned by this account as a trader." @@ -3862,7 +3907,7 @@ msgstr "더 알아보기" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "This Year" -msgstr "" +msgstr "올해" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -3870,12 +3915,15 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{actionDisplay} {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} 가격: {3} USD" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Vesting Status" -msgstr "" +msgstr "베스팅 상태" #: src/components/Exchange/ConfirmationBox.jsx msgid "You have an active Limit Order to Increase {longOrShortText} {sizeInToken} {0} (${1}) at price ${2}" @@ -3883,23 +3931,23 @@ msgstr "{longOrShortText} {sizeInToken} {0} (${1})를 ${2} 가격에서 증가 #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Claiming Price Impact Rebate..." -msgstr "" +msgstr "가격 영향 리베이트 수령 중..." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Negative funding fees are automatically settled against the collateral and impact the liquidation price. Positive funding fees can be claimed under the claims tab." -msgstr "" +msgstr "음의 자금 수수료는 자동으로 담보에 대해 정산되며 청산 가격에 영향을 미칩니다. 양의 자금 수수료는 수령 탭에서 수령할 수 있습니다." #: src/pages/Stake/Stake.tsx msgid "Unstake esGMX" -msgstr "" +msgstr "esGMX 언스테이킹" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "The actual trigger price at which order gets filled will depend on fees and price impact at the time of execution to guarantee that you receive the minimum receive amount." -msgstr "" +msgstr "주문이 체결되는 실제 트리거 가격은 실행 시 수수료와 가격 영향에 따라 최소 수령액을 보장합니다." #: src/components/Exchange/PositionDropdown.tsx msgid "Set TP/SL" -msgstr "" +msgstr "TP/SL 설정" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition. The Order will get filled when the condition is met." @@ -3908,7 +3956,7 @@ msgstr "실행 가격이 허용 가능한 가격 조건을 충족하지 않았 #: src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx msgid "Initial Collateral (Collateral excluding Borrow and Funding Fee)." -msgstr "" +msgstr "최초 담보 (차입 및 자금 수수료 제외 담보)." #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx @@ -3917,15 +3965,15 @@ msgstr "1시간 당 순 수수료율" #: src/pages/Stake/ClaimModal.tsx msgid "Claim esGMX Rewards" -msgstr "" +msgstr "esGMX 보상 수령" #: src/pages/Stake/Stake.tsx msgid "Trading incentives program is live on {avalancheLink}." -msgstr "" +msgstr "{avalancheLink}에서 거래 인센티브 프로그램이 라이브입니다." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending sell request" -msgstr "" +msgstr "판매 요청 전송 중" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx @@ -3935,11 +3983,11 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "NA" -msgstr "" +msgstr "해당 없음" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This action will not apply for that position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "{0}을 담보로 한 기존 포지션이 있습니다. 이 작업은 해당 포지션에 적용되지 않습니다. <0>{1} 담보로 전환</0>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -4004,24 +4052,24 @@ msgstr "숏" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "PnL ($)" -msgstr "" +msgstr "PnL ($)" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "GMX Market Tokens" -msgstr "" +msgstr "GMX 시장 토큰" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is above mark price" -msgstr "" +msgstr "스탑 마켓 가격이 시장 평균가 초과" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Txn failed. <0>View</0>." -msgstr "" +msgstr "트랜잭션 실패. <0>보기</0>." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Affiliate Vault" -msgstr "" +msgstr "어필리에이트 볼트" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/trade/utils/validation.ts @@ -4038,8 +4086,8 @@ msgstr "시장 증가 실패" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "" +#~ msgid "EIP-4844 Competition" +#~ msgstr "EIP-4844 대회" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4057,7 +4105,7 @@ msgstr "청산가" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trading Pair Price Alerts" -msgstr "" +msgstr "거래 쌍 가격 알림" #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The exact execution price may vary depending on fees at the time the order is executed." @@ -4065,11 +4113,11 @@ msgstr "해당 주문이 실행되게 되면 최소 {0} {1}을 받을 수 있습 #: src/components/Common/SEO.tsx msgid "GMX | Decentralized Perpetual Exchange" -msgstr "" +msgstr "GMX | 탈중앙화 퍼페추얼 거래소" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "<0>Botanix</0> currently only supports" -msgstr "" +msgstr "<0>Botanix</0>는 현재만 지원" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "No position" @@ -4088,15 +4136,15 @@ msgstr "취소 실패" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "{daysConsidered}d Earned Fees" -msgstr "" +msgstr "{daysConsidered}일 획득 수수료" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Fulfilling order request" -msgstr "" +msgstr "주문 요청 이행 중" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance to pay for gas" -msgstr "" +msgstr "가스 지불을 위한 {0} 잔액 부족" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can currently vest a maximum of {0} esGMX tokens at a ratio of {1} {stakingToken} to 1 esGMX." @@ -4104,27 +4152,27 @@ msgstr "{1} {stakingToken} 대 1 esGMX 비율로 최대 {0} esGMX 토큰을 현 #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy AVAX directly to Avalanche or transfer it there." -msgstr "" +msgstr "Avalanche로 직접 AVAX 구매 또는 이전." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Open Ocean" -msgstr "" +msgstr "Open Ocean" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Single" -msgstr "" +msgstr "단일" #: src/domain/synthetics/orders/prepareOrderTxn.ts msgid "Error preparing transaction. Provider is not defined" -msgstr "" +msgstr "트랜잭션 준비 오류. 제공자가 정의되지 않음" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx msgid "Funding fees" -msgstr "" +msgstr "자금 수수료" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity in GM Pool" -msgstr "" +msgstr "GM 풀의 유동성 부족" #: src/components/Exchange/ExchangeBanner.jsx msgid "Trade on GMX and win <0>$250.000</0> in prizes! Live until November 30th, <1>click here</1> to learn more." @@ -4132,7 +4180,7 @@ msgstr "GMX에서 트레이드하고 <0>$250.000</0> 상금을 획득하세요! #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "tBTC LP incentives" -msgstr "" +msgstr "tBTC LP 인센티브" #: src/components/ModalViews/RedirectModal.tsx msgid "You are leaving GMX.io and will be redirected to a third party, independent website." @@ -4141,16 +4189,16 @@ msgstr "귀하는 GMX.io 페이지를 벗어나, 써드파티 웹사이트로 #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Borrow Fee" -msgstr "" +msgstr "누적 차입 수수료" #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "Read more." -msgstr "" +msgstr "더 읽기." #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "PnL Analysis" -msgstr "" +msgstr "PnL 분석" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "View Details" @@ -4158,58 +4206,58 @@ msgstr "" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}." -msgstr "" +msgstr "스왑 경로 없음. <0>{0}을 {swapToTokenSymbol}로 스왑</0>, 그 다음 {1}로." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Longs" -msgstr "" +msgstr "롱" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit submitted." -msgstr "" +msgstr "입금 제출 완료." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown sell GM order" -msgstr "" +msgstr "알 수 없는 GM 판매 주문" #: src/components/NotifyModal/NotifyModal.tsx msgid "<0>Notifications are provided by Notifi and not affiliated with GMX. By subscribing, you agree that info you provide to Notifi will be governed by its </0><1>Privacy Policy</1><2> and </2><3>Terms of Use</3>." -msgstr "" +msgstr "<0>알림은 Notifi에서 제공되며 GMX와 무관합니다. 구독 시 Notifi에 제공한 정보가 </0><1>개인정보 정책</1><2> 및 </2><3>이용 약관</3>에 따라 관리됨에 동의합니다." #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} and {avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} 및 {avalancheLink} GLV 풀은 <0>인센티브{sparkle}.</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Limit: {0} a long position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} 롱 지정가: 가격이 트리거 가격 아래로 떨어질 때 롱 포지션 {0}." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1} to {2} within GMX.<2/><3/><4>You can buy {3} on 1inch.</4>" -msgstr "" +msgstr "담보에 {0}이 필요합니다.<0/><1/>GMX 내에서 {1}에서 {2}로 스왑 경로가 없습니다.<2/><3/><4>1inch에서 {3} 구매 가능.</4>" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "{0} 시장 풀에 기존 포지션이 있습니다.<0><1>{1} 시장 풀로 전환</1>.</0>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Capital Used" -msgstr "" +msgstr "사용 자본" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 10 symbols in name" -msgstr "" +msgstr "이름에 최대 10자" #: src/pages/Dashboard/StatsCard.tsx msgid "Users" -msgstr "" +msgstr "사용자" #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx msgid "Gas Payment Token" -msgstr "" +msgstr "가스 지불 토큰" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -4228,32 +4276,32 @@ msgstr "가격 영향" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a token" -msgstr "" +msgstr "토큰 선택" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Market Traders’ PnL" -msgstr "" +msgstr "시장 거래자 PnL 노출" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" -msgstr "" +msgstr "최적" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "UI Fee" -msgstr "" +msgstr "UI 수수료" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Execute order simulation failed." -msgstr "" +msgstr "주문 시뮬레이션 실행 실패." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Invalid Transfer Addresses: Please check the url." -msgstr "" +msgstr "유효하지 않은 이전 주소: URL 확인하세요." #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4262,11 +4310,11 @@ msgstr "GLP 인덱스 구성" #: src/domain/synthetics/positions/utils.ts msgid "TP" -msgstr "" +msgstr "TP" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "<0>Claimable Funding Fee.</0>" -msgstr "" +msgstr "<0>수령 가능 자금 수수료.</0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Log in to your Binance app and tap [Wallets]. Go to [Web3]." @@ -4285,12 +4333,13 @@ msgstr "추가로, 트리거 주문은 시장가 주문이며 트리거 가격 #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" -msgstr "" +msgstr "문서" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Stats" -msgstr "" +msgstr "GMX 거래 통계" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx @@ -4301,7 +4350,7 @@ msgstr "주문 생성중..." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit disabled, pending {0} upgrade" -msgstr "" +msgstr "{0} 업그레이드 대기 중 입금 비활성화" #: src/pages/Jobs/Jobs.jsx msgid "Jobs" @@ -4314,19 +4363,15 @@ msgstr "탈중앙화 옵션 전략" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Technical Announcements" -msgstr "" +msgstr "GMX 기술 공지" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Market" -msgstr "" +msgstr "스탑 마켓 실패" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Address copied to your clipboard" -msgstr "" - -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "" +msgstr "주소가 클립보드에 복사됨" #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4337,7 +4382,7 @@ msgstr "설정" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs Trading Simulations" -msgstr "" +msgstr "Compass Labs 거래 시뮬레이션" #: src/components/Referrals/AffiliatesStats.tsx msgid "Amount of traders you referred." @@ -4345,26 +4390,26 @@ msgstr "추천한 거래자 수" #: src/components/Exchange/PositionSeller.jsx msgid "GMX V1 only supports closing positions using market orders. For advanced trading features, use GMX V2." -msgstr "" +msgstr "GMX V1은 시장가 주문으로 포지션 닫기만 지원합니다. 고급 거래 기능은 GMX V2를 사용하세요." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Take Profit" -msgstr "" +msgstr "이익 실현" #: src/components/Exchange/PositionSeller.jsx msgid "Close submitted!" -msgstr "" +msgstr "닫기 제출됨!" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Hour(s)" -msgstr "" +msgstr "시간" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} liquidity" -msgstr "" +msgstr "{0} 유동성 부족" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -4373,11 +4418,11 @@ msgstr "제작자" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Derivatives Portfolio Tracker" -msgstr "" +msgstr "파생상품 포트폴리오 트래커" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit" -msgstr "" +msgstr "지정가 생성" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer already initiated" @@ -4386,7 +4431,7 @@ msgstr "이전이 이미 시작됐습니다" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw submitted." -msgstr "" +msgstr "인출 제출 완료." #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -4395,11 +4440,11 @@ msgstr "코드 입력" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "Details" -msgstr "" +msgstr "상세" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Umami DAO" -msgstr "" +msgstr "Umami DAO" #: src/components/Exchange/OrdersList.jsx #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -4408,10 +4453,10 @@ msgstr "주문" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Avalanche" -msgstr "" +msgstr "Avalanche에서 스테이킹됨" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" msgstr "미디어 키트" @@ -4421,7 +4466,7 @@ msgstr "청산 위험 감소하기" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "UniDex Leverage" -msgstr "" +msgstr "UniDex 레버리지" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "collateral" @@ -4442,15 +4487,15 @@ msgstr "열려있는 주문이 없습니다" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche Fuji" -msgstr "" +msgstr "Avalanche Fuji에서 추천된 거래자" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claim V2 Rebates from your referred Traders." -msgstr "" +msgstr "추천 거래자로부터 V2 리베이트 수령." #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in GM Pools." -msgstr "" +msgstr "GM 풀의 토큰 총 가치." #: src/components/Glp/GlpSwap.jsx msgid "Reserved" @@ -4459,7 +4504,7 @@ msgstr "리저브 완료" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Botanix" -msgstr "" +msgstr "Botanix" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -4468,39 +4513,43 @@ msgstr "청산가 미만 가격" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit / Stop Loss" +msgstr "이익 실현 / 손절" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" msgstr "" #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" -msgstr "" +msgstr "{networkName} 계정에 트랜잭션을 보낼 {0}이 부족합니다.<0/><1/><2>{1} 구매 또는 {networkName}로 이전</2>" #: src/components/TVChartContainer/constants.ts msgid "SL - Long Dec." -msgstr "" +msgstr "SL - 롱 감소" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Airdrop" -msgstr "" +msgstr "에어드랍" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake submitted!" -msgstr "" +msgstr "언스테이킹 제출됨!" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "This competition is held on the {0} network. <0>Change your network</0> to participate." -msgstr "" +msgstr "이 대회는 {0} 네트워크에서 개최됩니다. 참여하려면 <0>네트워크 변경</0>." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Loss" -msgstr "" +msgstr "손절 생성" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to generate session" -msgstr "" +msgstr "세션 생성 실패" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "This competition has ended." -msgstr "" +msgstr "이 대회가 종료되었습니다." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -4508,20 +4557,21 @@ msgid "Shorts Net Rate / 1h" msgstr "숏 순율 / 1시간" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" -msgstr "" +msgstr "GLV 볼트" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Portuguese)" -msgstr "" +msgstr "GMX (포르투갈어)" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Stake GMX</0> and earn {gmxAvgAprText} APR" -msgstr "" +msgstr "<0>GMX 스테이킹</0>하고 {gmxAvgAprText} APR 획득" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Mozaic Finance" -msgstr "" +msgstr "Mozaic Finance" #: src/pages/Exchange/Exchange.tsx msgid "Withdrew {0} USD from {tokenSymbol} {longOrShortText}." @@ -4529,33 +4579,33 @@ msgstr "{tokenSymbol} {longOrShortText} {0} USD 인출됨." #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Accrued Funding Fee." -msgstr "" +msgstr "누적 자금 수수료." #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw failed." -msgstr "" +msgstr "인출 실패" #: src/pages/Stake/ClaimModal.tsx msgid "Pending GMX approval" -msgstr "" +msgstr "GMX 승인 대기 중" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "No markets found." -msgstr "" +msgstr "시장 없음." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "ODOS" -msgstr "" +msgstr "ODOS" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Substack" -msgstr "" +msgstr "GMX Substack" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Positions Bot" -msgstr "" +msgstr "GMX 포지션 봇" #: src/components/Referrals/TradersStats.tsx msgid "Edit Referral Code" @@ -4563,39 +4613,35 @@ msgstr "추천 코드 수정" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Take Profit" -msgstr "" +msgstr "이익 실현 실행" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stryke" -msgstr "" +msgstr "Stryke" #: src/components/Errors/errorToasts.tsx msgid "External swap is temporarily disabled. Please try again." -msgstr "" +msgstr "외부 스왑이 일시적으로 비활성화되었습니다. 다시 시도하세요." #: src/components/Stake/GMXAprTooltip.tsx msgid "GMX APR" -msgstr "" - -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "" +msgstr "GMX APR" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" -msgstr "" +msgstr "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "{0} 시장 풀에 기존 지정가 주문이 있습니다.<0><1>{1} 시장 풀로 전환</1>.</0>" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" -msgstr "" +msgstr "감소 중" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "You have set a high allowed slippage. The current swap impact including fees is {0}." -msgstr "" +msgstr "높은 허용 슬리피지를 설정했습니다. 수수료를 포함한 현재 스왑 영향은 {0}입니다." #: src/components/Referrals/AffiliatesStats.tsx msgid "Create Referral Code" @@ -4603,7 +4649,7 @@ msgstr "추천 코드 생성" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined take profits are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "결합된 이익 실현이 최대(100%)입니다. 기존 값을 줄여 더 많은 주문을 추가하세요." #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks" @@ -4611,7 +4657,7 @@ msgstr "네트워크" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: {1}, Price: {priceDisplay}" -msgstr "" +msgstr "{0}: {1}, 가격: {priceDisplay}" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx @@ -4621,7 +4667,7 @@ msgstr "풀" #: src/components/Header/HomeHeaderLinks.tsx msgid "Voting" -msgstr "" +msgstr "투표" #: src/components/Exchange/TradeHistory.jsx msgid "This position was liquidated as the max leverage of 100x was exceeded." @@ -4629,11 +4675,11 @@ msgstr "해당 포지션은 최대 레버리지인 100x를 초과하여 청산 #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "<0>Switch to:</0>" -msgstr "" +msgstr "<0>전환:</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Limit: {0} a short position when the price is above the trigger price." -msgstr "" +msgstr "{typeString} 숏 지정가: 가격이 트리거 가격 위로 오를 때 숏 포지션 {0}." #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "No trades match the selected filters" @@ -4646,7 +4692,7 @@ msgstr "감소 완료" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Updating {orderText}." -msgstr "" +msgstr " {orderText} 업데이트 중." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4661,15 +4707,15 @@ msgstr "감소" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover collateral below 5 USD" -msgstr "" +msgstr "잔여 담보가 5 USD 미만입니다" #: src/lib/legacy.ts msgid "Order cannot be executed as it would reduce the position's leverage below 1" -msgstr "" +msgstr "포지션의 레버리지가 1 미만으로 감소되므로 주문을 실행할 수 없습니다" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "Existing Executable Trigger Orders" -msgstr "" +msgstr "기존 실행 가능한 트리거 주문" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Weight" @@ -4681,7 +4727,7 @@ msgstr "클립보드로 링크가 복사되었습니다." #: src/components/SettingsModal/SettingsModal.tsx msgid "Max slippage precision is -0.01%" -msgstr "" +msgstr "최대 슬리피지 정밀도는 -0.01%입니다" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Dec." @@ -4693,7 +4739,7 @@ msgstr "GMX 주간 업데이트" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} only from your long position." -msgstr "" +msgstr "{indexSymbol} 롱 포지션에서만 롱 포지션을 유지하게 됩니다." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal}" @@ -4702,16 +4748,15 @@ msgstr "전체 액티브: {openTotal}, 실행 완료: {executedTotal}, 취소 #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h Low" -msgstr "" +msgstr "24시간 최저가" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "" +#~ msgid "Chain Icon" +#~ msgstr "체인 아이콘" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" -msgstr "" +msgstr "{0, plural, one {# 포지션} other {# 포지션}}에 대한 정산 요청이 전송되었습니다" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -4720,61 +4765,62 @@ msgstr "Arbitrum에서 가격" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM은 이 시장에서 지정된 판매 상한까지 {0}으로 판매될 수 있습니다. 풀에 남아 있는 토큰은 현재 열려 있는 포지션을 위해 예약되어 있습니다." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "REBATE" -msgstr "" +msgstr "리베이트" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." -msgstr "" - -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "" +msgstr "최소 수령량 조건이 충족될 때 주문을 실행할 충분한 유동성이 없을 수 있습니다." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" -msgstr "" +msgstr "총 거래" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Market Composition" -msgstr "" +msgstr "시장 구성" #: src/components/Errors/errorToasts.tsx msgid "<0>Permit signature is invalid. Please try again.</0>" -msgstr "" +msgstr "<0>허가 서명이 유효하지 않습니다. 다시 시도해주세요.</0>" #: src/components/NpsModal/NpsModal.tsx msgid "Enter your answer here" -msgstr "" +msgstr "여기에 답변을 입력하세요" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Firebird Finance" -msgstr "" +msgstr "Firebird Finance" #: src/pages/Stake/Stake.tsx msgid "Stake GMX" -msgstr "" +msgstr "GMX 스테이킹" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shifting from <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> to <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" -msgstr "" +msgstr "<0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0>에서 <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>으로 이전 중" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TWAP: {0} a long position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Long TWAP: 지정된 시간 동안 균등하게 분배된 부분으로 {0} 롱 포지션." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated!" msgstr "추천인 코드 업데이트 완료!" +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "구성" + #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" -msgstr "" +msgstr "즐겨찾기" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} short capacity" @@ -4786,11 +4832,11 @@ msgstr "실행 가격이 허용 가능한 가격 조건을 충족하지 않았 #: src/pages/Stake/VesterDepositModal.tsx msgid "Reserve Amount" -msgstr "" +msgstr "예비 수량" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling buy request" -msgstr "" +msgstr "구매 요청 이행 중" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Reason: {0}" @@ -4798,7 +4844,7 @@ msgstr "이유: {0}" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Approval nonce expired. Please sign a new approval." -msgstr "" +msgstr "원클릭 승인 논스가 만료되었습니다. 새로운 승인을 서명해주세요." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -4813,7 +4859,7 @@ msgstr "사용가능 유동성" #: src/components/Exchange/SwapBox.jsx msgid "A snapshot of the USD value of your {0} collateral is taken when the position is opened." -msgstr "{0}담보의 USD가치 스냅샷은 해당 포지션이 열려있을 때 결정됩니다." +msgstr "{0} 담보의 USD 가치 스냅샷은 해당 포지션이 열려 있을 때 결정됩니다." #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx @@ -4825,9 +4871,9 @@ msgstr "모든 시간" msgid "Select your vesting option below then click \"Claim\"." msgstr "베스팅 옵션을 선택한 후 \"수령하기\" 버튼을 클릭해주세요." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." -msgstr "" +msgstr "시간 가중 평균 가격(TWAP) 주문의 기본 부분 수." #: src/pages/Home/Home.tsx msgid "Save on Costs" @@ -4835,78 +4881,78 @@ msgstr "비용 절감" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order cancelled" -msgstr "" +msgstr "구매 주문 취소됨" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Reserve" -msgstr "" +msgstr "{longShortText} {0} 예비" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Cancel newly created orders" -msgstr "" +msgstr "새로 생성된 주문 취소" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegate" -msgstr "" +msgstr "위임" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Harmonix" -msgstr "" +msgstr "Harmonix" #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid NFT Address" -msgstr "유요하지 않은 NFT 주소" +msgstr "유효하지 않은 NFT 주소" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LIQ." -msgstr "" +msgstr "청산" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP and GMX autocompounding vaults" -msgstr "" +msgstr "GLP 및 GMX 자동 복리 볼트" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "esGMX OTC Market" -msgstr "" +msgstr "esGMX OTC 시장" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Leverage Trading Terminal" -msgstr "" +msgstr "레버리지 거래 터미널" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing shorts and<0/>decreasing longs." -msgstr "" +msgstr "숏 증가 및<0/>롱 감소에 대한 실행 가격." #: src/pages/Stake/Stake.tsx msgid "Deposit <0>GMX</0> and <1>esGMX</1> tokens to earn rewards." -msgstr "" +msgstr "<0>GMX</0> 및 <1>esGMX</1> 토큰을 예치하여 보상을 받으세요." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "The bonus rebate is an estimate and can be up to {0}% of the open fee. It will be airdropped as {incentivesTokenTitle} tokens on a pro-rata basis. <0><1>Read more</1>.</0>" -msgstr "" +msgstr "보너스 리베이트는 추정치이며 개설 수수료의 최대 {0}%일 수 있습니다. 이는 {incentivesTokenTitle} 토큰으로 비례 배분되어 에어드랍됩니다. <0><1>더 읽기</1>.</0>" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>The order will be executed when the oracle price is {0} {1}.</0><1/><2>Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if the price impact exceeds your acceptable price.</2>" -msgstr "" +msgstr "<0>오라클 가격이 {0} {1}일 때 주문이 실행됩니다.</0><1/><2>체인이 다운되어 오라클 보고서가 생성되지 않거나 가격 영향이 허용 가능한 가격을 초과하는 경우와 같이 주문이 실행되지 않을 수 있는 드문 경우가 있을 수 있습니다.</2>" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Market" -msgstr "" +msgstr "스톱 마켓 생성" #: src/components/Exchange/SwapBox.jsx msgid "Swap submitted!" -msgstr "스왑 제출완료" +msgstr "스왑 제출 완료!" #: src/components/Exchange/SwapBox.jsx msgid "V1 trading disabled. Switch to V2" -msgstr "" +msgstr "V1 거래 비활성화됨. V2로 전환" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche" -msgstr "" +msgstr "V1 Avalanche" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -4919,11 +4965,11 @@ msgstr "담보 ({0})" #: src/pages/Stake/StakeModal.tsx msgid "You will earn {0}% more rewards with this action." -msgstr "" +msgstr "이 작업으로 {0}% 더 많은 보상을 받게 됩니다." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" -msgstr "" +msgstr "최대 네트워크 수수료 버퍼" #: src/components/Exchange/OrderEditor.jsx msgid "Order updated!" @@ -4931,15 +4977,15 @@ msgstr "주문 업데이트됨!" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "숏 포지션에서 {indexSymbol} 숏을 유지하며, {collateralSymbol} 담보에서 {collateralSymbol} 롱을 유지하게 됩니다. 청산 가격은 {collateralSymbol} 가격에 따라 변동됩니다." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Market: Swap tokens at the current market price." -msgstr "" +msgstr "스왑 시장: 현재 시장 가격으로 토큰 스왑." #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "TVL/CAP" -msgstr "" +msgstr "TVL/수용량" #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx @@ -4948,11 +4994,11 @@ msgstr "담보로 사용할 {0}이 포함된 풀을 선택하세요." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Trading Simulations on GMX using DOJO" -msgstr "" +msgstr "DOJO를 사용한 GMX 거래 시뮬레이션" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Farming" -msgstr "" +msgstr "수익 농사" #: src/lib/contracts/callContract.tsx msgid "Transaction completed!" @@ -4960,11 +5006,11 @@ msgstr "트랜잭션 완료!" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approving..." -msgstr "승인중..." +msgstr "승인 중..." #: src/components/Exchange/PositionSeller.jsx msgid "Neither Collateral nor realized PnL is enough to cover pending Fees. Please close a larger position amount." -msgstr "" +msgstr "담보 또는 실현 PnL이 보류 중인 수수료를 충당하기에 충분하지 않습니다. 더 큰 포지션 금액을 청산해주세요." #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4973,14 +5019,15 @@ msgstr "이용률" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "One-Click Settings" -msgstr "" +msgstr "원클릭 설정" #: src/components/NotifyModal/NotifyModal.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements" -msgstr "" +msgstr "GMX 발표" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" @@ -4988,7 +5035,7 @@ msgstr "추천" #: src/components/Exchange/PositionSeller.jsx msgid "Max Leverage without PnL: 100x" -msgstr "" +msgstr "PnL 제외 최대 레버리지: 100x" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Short" @@ -4996,37 +5043,37 @@ msgstr "숏 포지션 확인" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Short Liquidity" -msgstr "" +msgstr "숏 유동성" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Order Type" -msgstr "" +msgstr "주문 유형" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order executed" -msgstr "" +msgstr "판매 주문 실행됨" #: src/domain/synthetics/orders/createStakeOrUnStakeTxn.tsx msgid "Failed to {0}" -msgstr "" +msgstr "{0} 실패" #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Affiliate Rewards Claimed" -msgstr "" +msgstr "제휴 보상 수령됨" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Order error. Prices are currently volatile for this market, try again by <0>increasing the allowed slippage</0> under the advanced display section." -msgstr "" +msgstr "주문 오류. 이 시장의 가격이 현재 변동성이 큽니다. 고급 표시 섹션에서 <0>허용 슬리피지 증가</0>를 시도해보세요." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Swap Price Impact for External Swap Threshold" -msgstr "" +msgstr "외부 스왑 임계값에 대한 스왑 가격 영향" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Limit / Take Profit / Stop Loss" -msgstr "" +msgstr "지정가 / 이익 실현 / 손절" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -5040,24 +5087,21 @@ msgstr "수수료를 고려했을 때 최대 레버리지 {formattedMaxLeverage} #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Swap {0}" -msgstr "" +msgstr "{0} 스왑" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order submitted!" msgstr "스왑 주문 제출 완료!" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5066,11 +5110,11 @@ msgstr "스왑 주문 제출 완료!" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Loading..." -msgstr "로딩중..." +msgstr "로딩 중..." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" -msgstr "" +msgstr "레버리지 표시에서 PnL 포함" #: src/components/Exchange/PositionsList.jsx msgid "Share" @@ -5086,11 +5130,11 @@ msgstr "실행" #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Trades" -msgstr "트레이드" +msgstr "거래" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available." -msgstr "" +msgstr "사용 가능한 스왑 경로가 없습니다." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Telegram Groups" @@ -5099,31 +5143,31 @@ msgstr "텔레그램 그룹" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Search Action" -msgstr "" +msgstr "액션 검색" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" -msgstr "" +msgstr "레버리지 슬라이더 표시" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Cancelling {orderText}." -msgstr "" +msgstr "{orderText} 취소 중." #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "" +#~ msgid "CONCLUDED" +#~ msgstr "종료됨" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" -msgstr "" +msgstr "담보 델타" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "Realized PnL after fees and price impact." -msgstr "" +msgstr "수수료 및 가격 영향 후 실현 PnL." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Long Liquidity" -msgstr "" +msgstr "롱 유동성" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -5135,7 +5179,7 @@ msgstr "주문의 실행 가격입니다." #: src/components/AprInfo/AprInfo.tsx msgid "wstETH APR" -msgstr "" +msgstr "wstETH APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group" @@ -5143,24 +5187,24 @@ msgstr "텔레그램 그룹" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TP/SL: {0} a long position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Long TP/SL: 트리거 가격에 도달할 때 {0} 롱 포지션." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{toTokenIcon}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1>에서 </1>{toTokenIcon}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in any {0}/USD market pools for your order." -msgstr "당신의 주문에 대한 {0}/USD 시장 풀의 유동성이 부족합니다." +msgstr "주문에 대한 {0}/USD 시장 풀의 유동성이 부족합니다." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have not traded during the selected period." -msgstr "" +msgstr "선택한 기간 동안 거래하지 않았습니다." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "The trigger price for this order is based on the swap fees and price impact to guarantee that you will receive at least {toMinText} on order execution." -msgstr "" +msgstr "이 주문의 트리거 가격은 스왑 수수료와 가격 영향을 기반으로 하여 주문 실행 시 최소 {toMinText}를 받을 수 있도록 보장합니다." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated failed." @@ -5182,6 +5226,7 @@ msgstr "추천인 코드 업데이트 실패." #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5194,19 +5239,19 @@ msgstr "가격" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing was cancelled" -msgstr "" +msgstr "허가 서명이 취소되었습니다" #: src/components/Exchange/PositionSeller.jsx msgid "Realized PnL insufficient for Fees" -msgstr "" +msgstr "실현 PnL이 수수료에 부족합니다" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending shift request" -msgstr "" +msgstr "이전 요청 전송 중" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Optimizer" -msgstr "" +msgstr "Yield Yak Optimizer" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Incorrect Account" @@ -5214,34 +5259,29 @@ msgstr "잘못된 계정입니다" #: src/components/Exchange/PositionEditor.jsx msgid "Min residual collateral: 10 USD" -msgstr "" +msgstr "최소 잔여 담보: 10 USD" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX & Voting Power" -msgstr "" +msgstr "GMX 및 투표권" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GMX is the utility and governance token. Accrues 30% and 27% of V1 and V2 markets generated fees, respectively." -msgstr "" +msgstr "GMX는 유틸리티 및 거버넌스 토큰입니다. V1 및 V2 시장 생성 수수료의 각각 30% 및 27%를 적립합니다." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transferring" -msgstr "이전중" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "" +msgstr "이전 중" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" -msgstr "" +msgstr "GLP 자동 복리 볼트" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "TP/SL orders exceed the position" -msgstr "" +msgstr "TP/SL 주문이 포지션을 초과합니다" #: src/components/Glp/GlpSwap.jsx msgid "Buy failed." @@ -5250,19 +5290,19 @@ msgstr "구매 실패" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "pay" -msgstr "" +msgstr "지불" #: src/pages/Dashboard/GmxCard.tsx msgid "Total circulating supply of GMX tokens." -msgstr "" +msgstr "GMX 토큰의 총 순환 공급량." #: src/pages/Dashboard/WeightText.tsx msgid "Target Weight" msgstr "목표 가중치" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "" +#~ msgid "Winners:" +#~ msgstr "승자:" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." @@ -5270,20 +5310,20 @@ msgstr "포지션을 닫을 때, 어떤 토큰으로 이익을 수취할 지 선 #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "You can have up to {allowedAutoCancelOrdersNumber} active auto-cancelable TP/SL orders. Additional orders must be canceled manually, while existing ones will still close automatically with their related position." -msgstr "" +msgstr "최대 {allowedAutoCancelOrdersNumber}개의 활성 자동 취소 가능 TP/SL 주문을 가질 수 있습니다. 추가 주문은 수동으로 취소해야 하며, 기존 주문은 관련 포지션과 함께 자동으로 종료됩니다." #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL (%)" -msgstr "" +msgstr "상위 PnL (%)" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met." -msgstr "" +msgstr "가격 조건이 충족될 때 주문을 실행할 충분한 유동성이 없을 수 있습니다." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Error submitting coins" -msgstr "" +msgstr "코인 제출 오류" #: src/components/Glp/GlpSwap.jsx msgid "WARNING: High Fees" @@ -5295,7 +5335,7 @@ msgstr "주문을 채울만한 충분한 스왑 유동성이 없습니다. 조 #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP Swap" -msgstr "" +msgstr "TWAP 스왑 취소" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -5303,6 +5343,10 @@ msgstr "" msgid "Transaction" msgstr "거래" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "작년" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5311,65 +5355,73 @@ msgstr "거래" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Invalid liq. price" -msgstr "유효하지 않은 청산가" +msgstr "유효하지 않은 청산 가격" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized Buy Pressure (BB&D):" -msgstr "" +msgstr "연간화된 구매 압력 (BB&D):" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "buy" -msgstr "" +msgstr "구매" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAILABLE LIQ." -msgstr "" +msgstr "사용 가능 유동성" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized pnl" -msgstr "" +msgstr "시작 미실현 PnL" #: src/config/events.tsx msgid "Increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions." -msgstr "" +msgstr "포지션 증가(시장 또는 지정가), 담보 추가 및 GMX V1에서의 스왑이 이제 비활성화되었습니다. 기존 포지션은 여전히 종료할 수 있습니다." #: src/domain/tokens/approveTokens.tsx msgid "Approval submitted! <0>View status.</0>" -msgstr "승인 제출완료! <0>상태 보기</0>" +msgstr "승인 제출 완료! <0>상태 보기.</0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size is 0" -msgstr "주문의 사이즈가 0입니다" +msgstr "주문 크기가 0입니다" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please reduce the buy size, pick a different GM token, or shift the GM tokens to a different pool and try again." -msgstr "" +msgstr "풀 GM: {1} [{2}]의 {0} 구매 가능 상한에 도달했습니다. 구매 크기를 줄이거나 다른 GM 토큰을 선택하거나 GM 토큰을 다른 풀로 이전한 후 다시 시도해주세요." #: src/components/Exchange/PositionSeller.jsx msgid "Close {longOrShortText} {0}" -msgstr "" +msgstr "{longOrShortText} {0} 종료" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" -msgstr "" +msgstr "테스트를 위한 검증 비활성화" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited!" -msgstr "" +msgstr "예치 완료!" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx msgid "TP/SL" -msgstr "" +msgstr "TP/SL" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Max {0} in" msgstr "최대 {0} in" +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "아직 항목 없음" + #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" +msgstr "손절 감소" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" msgstr "" #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -5397,39 +5449,47 @@ msgstr "공급량" #: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionList/PositionList.tsx msgid "No open positions" -msgstr "열려있는 포지션이 없습니다" +msgstr "열려 있는 포지션 없음" #: src/components/DepthChart/DepthChart.tsx msgid "Size, $" -msgstr "" +msgstr "크기, $" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Close {0} {1}{2}" -msgstr "" +msgstr "{0} {1}{2} 종료" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GLV" -msgstr "" +msgstr "GLV 판매" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b Retroactive Bonus" -msgstr "" +msgstr "STIP.b 소급 보너스" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right." -msgstr "우측 상단의 세팅을 이용해 \"허용 가능한 슬리피지\"를 증가시켜보세요" +msgstr "우측 상단의 설정 메뉴에서 \"허용 슬리피지\"를 증가시켜보세요" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy AVAX directly on <0>Avalanche</0> using these options:" -msgstr "" +msgstr "<0>Avalanche</0>에서 직접 AVAX를 구매할 수 있습니다:" #: src/components/Exchange/NetValueTooltip.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" +msgstr "순 가치: 초기 담보 + PnL - 차입 수수료 - 종료 수수료" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "30일" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." msgstr "" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" -msgstr "" +msgstr "제휴 볼트 보상 수령" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select different tokens" @@ -5438,7 +5498,7 @@ msgstr "다른 토큰 선택" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Network Fees" -msgstr "" +msgstr "높은 네트워크 수수료" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are very high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -5446,75 +5506,79 @@ msgstr "현재 네트워크 수수료가 매우 높습니다. 이는 {chainName} #: src/components/Exchange/SwapBox.jsx msgid "There are more shorts than longs, borrow fees for longing is currently zero" -msgstr "롱 포지션보다 숏 포지션이 더 많이 열려있기 때문에, 현재 롱 포지션에 적용되는 차용수수료는 0입니다" +msgstr "롱보다 숏이 더 많아 롱 차입 수수료가 현재 0입니다" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" -msgstr "" +msgstr "최근 90일" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "There is no liquidation price, as the position's collateral value will increase to cover any negative PnL." -msgstr "" +msgstr "포지션의 담보 가치가 음의 PnL을 커버하기 위해 증가하므로 청산 가격이 없습니다." #: src/components/TVChartContainer/DynamicLine.tsx msgid "Edit Order" -msgstr "" +msgstr "주문 수정" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx msgid "Search Pool" -msgstr "" +msgstr "풀 검색" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Chat" -msgstr "" +msgstr "GMX 거래 채팅" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" -msgstr "" +msgstr "24시간 %" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpie" -msgstr "" +msgstr "Perpie" #: src/components/Exchange/UsefulLinks.tsx msgid "Useful Links" msgstr "유용한 링크" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "외부 스왑 활성화" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" -msgstr "" +msgstr "거래 확인" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available" -msgstr "사용가능" +msgstr "사용 가능" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "" +#~ msgid "Last 7 days" +#~ msgstr "최근 7일" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" -msgstr "" +msgstr "Solv Finance" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Begin Transfer" -msgstr "전송시작" +msgstr "전송 시작" #: src/components/RatingToast/RatingToast.tsx msgid "How likely are you to recommend our service to a friend or colleague?" +msgstr "우리 서비스를 친구나 동료에게 추천할 가능성은どれくらいですか?" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" msgstr "" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" -msgstr "" +msgstr "담보 스왑을 위한 유동성 부족" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx @@ -5523,15 +5587,15 @@ msgstr "시장 감소" #: src/components/NotifyModal/NotifyModal.tsx msgid "Governance Alerts" -msgstr "" +msgstr "거버넌스 알림" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for{2} USDG" -msgstr "" +msgstr "{0} {1}을 {2} USDG로 스왑" #: src/components/Header/HomeHeaderLinks.tsx msgid "Governance" -msgstr "" +msgstr "거버넌스" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -5547,11 +5611,11 @@ msgstr "취소" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} updated." -msgstr "" +msgstr "{orderText} 업데이트됨." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Tradao" -msgstr "" +msgstr "Tradao" #: src/components/Glp/GlpSwap.jsx msgid "Redemption time not yet reached" @@ -5564,7 +5628,7 @@ msgstr "유동성 부족" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Bot" -msgstr "" +msgstr "텔레그램 봇" #: src/domain/legacy.ts msgid "Order cancelled." @@ -5572,18 +5636,22 @@ msgstr "주문이 취소되었습니다." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Swap Part" -msgstr "" +msgstr "TWAP 스왑 부분 실행" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {seconds} seconds" -msgstr "" +msgstr "<0>매</0> {seconds} 초" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer AVAX to Avalanche" -msgstr "" +msgstr "AVAX 구매 또는 Avalanche로 전송" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "TokenTerminal" +msgstr "TokenTerminal" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -5593,16 +5661,16 @@ msgstr "GMX 미결제약정을 위한 텔레그램 봇" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Check the \"Save on Fees\" section below to get the lowest fee percentages." -msgstr "최저 수수료로 이용하려면 \"수수료 절약\" 섹션 아래를 선택하세요." +msgstr "최저 수수료로 이용하려면 \"수수료 절약\" 섹션 아래를 확인하세요." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The total realized and unrealized profit and loss for the period, including fees and price impact." -msgstr "" +msgstr "기간 동안의 총 실현 및 미실현 손익, 수수료 및 가격 영향 포함." #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Ann. Performance" -msgstr "" +msgstr "연간 성과" #: src/domain/legacy.ts msgid "The network Fees are very high currently, which may be due to a temporary increase in transactions on the {0} network." @@ -5614,11 +5682,15 @@ msgstr "현재 {0} 롱" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{0} orders were not updated as max order limit reached" -msgstr "" +msgstr "최대 주문 한도에 도달하여 {0} 주문이 업데이트되지 않았습니다" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "90일" #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" -msgstr "" +msgstr "주문 생성됨!" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx #: src/domain/synthetics/orders/utils.tsx @@ -5627,27 +5699,27 @@ msgstr "청산" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Risk Monitoring" -msgstr "" +msgstr "GMX 위험 모니터링" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GLP tokens before" -msgstr "수취인은 지금까지 GLP 토큰을 스테이킹한 적이 없습니다." +msgstr "수취인이 이전에 GLP 토큰을 스테이킹한 적이 없습니다." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min collateral: {0}" -msgstr "" +msgstr "최소 담보: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter new amount or price" -msgstr "" +msgstr "새 금액 또는 가격 입력" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Wins and losses for fully closed positions." -msgstr "" +msgstr "완전히 종료된 포지션의 승패." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "<0>This will claim {formattedRewards} GMX.<1/><2/>After claiming, you can stake these GMX tokens by using the \"Stake\" button in the GMX section of this Earn page.<3/><4/></0>" -msgstr "" +msgstr "<0>{formattedRewards} GMX를 수령합니다.<1/><2/>수령 후, 이 Earn 페이지의 GMX 섹션에서 \"스테이킹\" 버튼을 사용하여 이러한 GMX 토큰을 스테이킹할 수 있습니다.<3/><4/></0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Open Binance app" @@ -5657,7 +5729,7 @@ msgstr "Binance 앱 열기" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max amount exceeded" -msgstr "최대 수량을 초과했습니다" +msgstr "최대 수량 초과" #: src/components/Exchange/SwapBox.jsx msgid "Current {0} shorts" @@ -5665,12 +5737,12 @@ msgstr "현재 {0} 숏" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "To complete the transfer, you must switch your connected account to {receiver}." -msgstr "전송을 완료하려면 {receiver} 계정에 다시 연결해야 합니다." +msgstr "전송을 완료하려면 연결된 계정을 {receiver}로 전환해야 합니다." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx msgid "Longs Net Rate / 1h" -msgstr "롱 포지션 순 수수료율 / 1시간" +msgstr "롱 순 수수료율 / 1시간" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx @@ -5682,53 +5754,49 @@ msgstr "수정" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No available leverage found" -msgstr "" +msgstr "사용 가능한 레버리지 없음" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Only addresses with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "\"자본 사용\"이 {0} 초과인 주소만 랭킹됩니다." #: src/components/Exchange/ConfirmationBox.jsx msgid "Shorting..." -msgstr "숏 실행중..." +msgstr "숏 실행 중..." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have a <0>pending transfer</0> to {pendingReceiver}." -msgstr "{pendingReceiver}로 <0>전송 보류중</0>" +msgstr "{pendingReceiver}로 <0>보류 중인 전송</0>이 있습니다." #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Limit size is required" -msgstr "" +msgstr "지정가 크기가 필요합니다" #: src/pages/Buy/Buy.tsx #: src/pages/Home/Home.tsx msgid "Protocol Tokens" -msgstr "" +msgstr "프로토콜 토큰" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Collateral at Liquidation" -msgstr "" +msgstr "청산 시 담보" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming you will be able to vest a maximum of {0} esGMX at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "수령 후 {1} {stake} 대 1 esGMX 비율로 최대 {0}개의 esGMX를 베스팅 할 수 있습니다." +msgstr "수령 후 {1} {stakingToken} 대 1 esGMX 비율로 최대 {0} esGMX를 베스팅할 수 있습니다." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Today" -msgstr "" +msgstr "오늘" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Receiver Address" -msgstr "수령할 주소" - -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "" +msgstr "수령 주소" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" -msgstr "" +msgstr "부터" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -5742,29 +5810,29 @@ msgstr "주문 트리거 가격" #: src/components/Glp/GlpSwap.jsx msgid "Epoch ending is not acknowledged" -msgstr "" +msgstr "에포크 종료가 인정되지 않음" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Increase" -msgstr "" +msgstr "지정가 증가" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the edit collateral icon to deposit or withdraw collateral." -msgstr "담보를 입금하거나 출금하려면 담보 편집 아이콘을 사용하세요." +msgstr "담보 편집 아이콘을 사용하여 담보를 예치하거나 인출하세요." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing shorts for<4/>this size." -msgstr "" +msgstr "이 크기의 롱 증가를 위한 유동성이 없습니다. 최대 롱 크기: {0}<1/><2/>가격 영향 없음. 이 크기의 숏 감소를 위한 단일<3/>실행 가격이 있습니다.<4/>" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using any token from any network:" -msgstr "" +msgstr "모든 네트워크의 모든 토큰으로 GMX 구매:" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume traded by your referred traders." -msgstr "귀하가 추천한 트레이더들의 거래량" +msgstr "추천한 트레이더의 거래량." #: src/pages/Dashboard/GlpCard.tsx msgid "Stablecoin Percentage" @@ -5772,88 +5840,92 @@ msgstr "스테이블코인 비율" #: src/domain/synthetics/orders/utils.tsx msgid "Parts of this order will be executed once there is sufficient liquidity." -msgstr "" +msgstr "충분한 유동성이 있을 때 이 주문의 일부가 실행됩니다." #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This Order will not be valid for that Position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "{0}을 담보로 한 기존 포지션이 있습니다. 이 주문은 해당 포지션에 유효하지 않습니다. <0>{1} 담보로 전환</0>." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Please only use this for full account transfers.<0/>This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account.<1/>Transfers are only supported if the receiving account has not staked GMX or GLP tokens before.<2/>Transfers are one-way, you will not be able to transfer staked tokens back to the sending account." -msgstr "" +msgstr "전체 계정 이전에만 사용해주세요.<0/>이 작업은 모든 GMX, esGMX, GLP, 멀티플라이어 포인트 및 투표권을 새 계정으로 이전합니다.<1/>수령 계정이 이전에 GMX 또는 GLP 토큰을 스테이킹하지 않은 경우에만 이전이 지원됩니다.<2/>이전은 단방향이며, 스테이킹된 토큰을 송신 계정으로 다시 이전할 수 없습니다." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "SNTL esGMX Market" -msgstr "" +msgstr "SNTL esGMX 시장" #: src/components/Referrals/TradersStats.tsx msgid "Tier {0} ({currentTierDiscount}% discount)" -msgstr "" +msgstr "티어 {0} ({currentTierDiscount}% 할인)" #: src/domain/synthetics/orders/utils.tsx msgid "This order using {collateralSymbol} as collateral will not be valid for the existing {longText} position using {symbol} as collateral." -msgstr "" +msgstr "{collateralSymbol}을 담보로 사용하는 이 주문은 {symbol}을 담보로 사용하는 기존 {longText} 포지션에 유효하지 않습니다." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Generative Market eXplore - AIGMX Agent" -msgstr "" +msgstr "Generative Market eXplore - AIGMX 에이전트" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dolomite" -msgstr "" +msgstr "Dolomite" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order request sent" -msgstr "" +msgstr "주문 요청 전송됨" #: src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx msgid "Express Trading is enabled. Enjoy smoother, more reliable trades!" -msgstr "" +msgstr "익스프레스 거래가 활성화되었습니다. 더 부드럽고 신뢰할 수 있는 거래를 즐기세요!" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Alternatively, you can select a different \"Collateral In\" token." -msgstr "추가적으로, 별도의 \"담보자산\"을 선택할 수 있습니다." +msgstr "대안으로 다른 \"담보 입력\" 토큰을 선택할 수 있습니다." #: src/components/NotifyModal/NotifyModal.tsx msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." +msgstr "GMX의 알림과 발표를 받아 거래, 청산 위험 등을 최신 상태로 유지하세요." + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/PageNotFound/PageNotFound.jsx msgid "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" -msgstr "<1>홈페이지</1> <2>혹은</2> <3>트레이드 페이지</3><0>로 돌아가기</0>" +msgstr "<0>로 돌아가기 </0><1>홈페이지</1> <2>또는 </2> <3>거래</3>" #: src/components/Synthetics/BridgingInfo/BridgingInfo.tsx msgid "Bridge {tokenSymbol} to {chainName} with" -msgstr "" +msgstr "{tokenSymbol}을 {chainName}으로 브릿지" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing failed" -msgstr "" +msgstr "허가 서명 실패" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price below mark price" -msgstr "" +msgstr "스톱 마켓 가격이 마크 가격 미만" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Swapped {0} {1} for {2} {3}!" -msgstr "{0} {1}에서 {2} {3}으로 스왑됨" +msgstr "{0} {1}을 {2} {3}으로 스왑!" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "A size percentage is required" -msgstr "" +msgstr "크기 비율이 필요합니다" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show more" -msgstr "" +msgstr "더 보기" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized Fees" -msgstr "" +msgstr "미실현 수수료" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx @@ -5862,38 +5934,42 @@ msgstr "추천한 트레이더" #: src/pages/Stake/StakeModal.tsx msgid "Stake submitted!" -msgstr "" +msgstr "스테이킹 제출 완료!" #: src/components/Exchange/PositionsList.jsx msgid "Use the \"Close\" button to reduce your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "\"종료\" 버튼을 사용하여 포지션 크기를 줄이거나 이익 실현 / 손절 주문을 설정하세요." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Market)" -msgstr "" +msgstr "크기 증가 (시장)" #: src/domain/synthetics/trade/utils/validation.ts msgid "Couldn't find a swap path with enough liquidity" -msgstr "" +msgstr "충분한 유동성을 가진 스왑 경로를 찾을 수 없음" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdrawn!" -msgstr "" +msgstr "인출 완료!" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "3rd Place" +msgstr "3위" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." msgstr "" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" -msgstr "" +msgstr "수령 실패" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Loss" -msgstr "" +msgstr "손절 업데이트" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -5902,7 +5978,7 @@ msgstr "{0} 승인" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} long exceeded" -msgstr "{0} 롱 최대치를 초과했습니다" +msgstr "{0} 롱 최대치 초과" #: src/components/Synthetics/OrderItem/OrderItem.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -5913,25 +5989,25 @@ msgstr "{0} 롱 최대치를 초과했습니다" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "N/A" -msgstr "" +msgstr "N/A" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is below mark price" -msgstr "" +msgstr "스톱 마켓 가격이 마크 가격 미만" #: src/components/Exchange/PositionEditor.jsx #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Amount should be greater than zero" -msgstr "" +msgstr "금액은 0보다 커야 합니다" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpetuals Aggregator" -msgstr "" +msgstr "퍼페추얼 애그리게이터" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "" +#~ msgid "LIVE" +#~ msgstr "라이브" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -5952,20 +6028,20 @@ msgstr "잔고" #: src/pages/Stake/Stake.tsx msgid "Liquidity and trading incentives programs are live on {avalancheLink}." -msgstr "" +msgstr "{avalancheLink}에서 유동성 및 거래 인센티브 프로그램이 라이브 중입니다." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX v2 Telegram & Discord Analytics" -msgstr "" +msgstr "GMX v2 Telegram & Discord 분석" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-enable" -msgstr "" +msgstr "재활성화" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "I do not want to transfer the Affiliate esGMX tokens" -msgstr "" +msgstr "제휴 esGMX 토큰을 이전하지 않겠습니다" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and {action}" @@ -5973,68 +6049,68 @@ msgstr "이익 상실 및 {action}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win/Loss" -msgstr "" +msgstr "승/패" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Names could be separated by commas or spaces" -msgstr "" +msgstr "이름은 쉼표 또는 공백으로 구분될 수 있습니다" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from decentralized exchanges" -msgstr "" +msgstr "분산 거래소에서 GMX 구매" #: src/components/NotifyModal/NotifyModal.tsx msgid "Powered by" -msgstr "" +msgstr "Powered by" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order executed" -msgstr "" +msgstr "구매 주문 실행됨" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the set acceptable price impact. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "주문의 허용 가격에는 설정된 허용 가격 영향이 포함됩니다. 실행 가격은 주문 실행을 위해 이 조건을 충족해야 합니다." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "This TWAP order will execute {numberOfParts} {0} {type} orders of {1} each over the next {2} for the {3} market." -msgstr "" +msgstr "이 TWAP 주문은 {3} 시장에 대해 다음 {2} 동안 {1}씩 {numberOfParts} {0} {type} 주문을 실행합니다." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim submitted." -msgstr "" +msgstr "수령 제출됨." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "OPEN INTEREST" -msgstr "" +msgstr "미결제약정" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Failed to download trade history CSV." -msgstr "" +msgstr "거래 내역 CSV 다운로드 실패." #: src/domain/synthetics/positions/utils.ts msgid "market" -msgstr "" +msgstr "시장" #: src/components/Referrals/JoinReferralCode.tsx msgid "Same as current active code" -msgstr "현재 유효한 코드와 같음" +msgstr "현재 활성 코드와 동일" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "The current swap impact including fees is {0}. Consider adding a buffer of 1% to it so the order is more likely to be processed" -msgstr "" +msgstr "수수료를 포함한 현재 스왑 영향은 {0}입니다. 주문이 처리될 가능성을 높이기 위해 1% 버퍼를 추가하는 것을 고려하세요" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Win / Loss" -msgstr "" +msgstr "승 / 패" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 rebates are airdropped weekly. V2 rebates are automatically applied as fee discounts on each trade and do not show on this table." -msgstr "" +msgstr "V1 리베이트는 매주 에어드랍됩니다. V2 리베이트는 각 거래에서 수수료 할인으로 자동 적용되며 이 테이블에 표시되지 않습니다." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min position size: {0}" -msgstr "" +msgstr "최소 포지션 크기: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6042,56 +6118,56 @@ msgstr "" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below mark price" -msgstr "" +msgstr "트리거 가격이 마크 가격 미만" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "No delegate found" -msgstr "" +msgstr "위임자 없음" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Community with NFTs, Trading and Education initiatives" -msgstr "" +msgstr "NFT, 거래 및 교육 이니셔티브를 가진 GMX 커뮤니티" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Confirmations" -msgstr "" +msgstr "청산 확인" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the stop market order executes." -msgstr "" +msgstr "스톱 마켓 주문이 실행되면 현재 가격 영향을 포함한 주문의 예상 실행 가격." #: src/components/Glp/GlpSwap.jsx msgid "Acknowledge epoch is ending in {minutes} minutes" -msgstr "" +msgstr "{minutes} 분 후 에포크 종료 인정" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Price Impact" -msgstr "" +msgstr "높은 가격 영향" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX. For security reasons, we won't contact you first. Please send the message \"I have feedback\" to any of our official accounts:" -msgstr "" +msgstr "GMX 개선을 돕기 위해 귀하의 통찰을 원합니다. 보안 이유로 먼저 연락하지 않습니다. 공식 계정에 \"피드백이 있습니다\" 메시지를 보내주세요:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Claim esGMX" -msgstr "esGMX 수령하기" +msgstr "esGMX 수령" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer ETH to Arbitrum" -msgstr "" +msgstr "ETH 구매 또는 Arbitrum으로 전송" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." -msgstr "" +msgstr "주문 시 지정 가격과 실행 가격 간의 최대 백분율 차이." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the limit order executes." -msgstr "" +msgstr "지정가 주문이 실행되면 현재 가격 영향을 포함한 주문의 예상 실행 가격." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of open fee" -msgstr "" +msgstr "개설 수수료의" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -6104,7 +6180,7 @@ msgstr "GMX 승인" #: src/components/Glp/SwapErrorModal.tsx msgid "{0} Capacity Reached" -msgstr "{0} 수용량 도달됨" +msgstr "{0} 수용량 도달" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -6117,7 +6193,7 @@ msgstr "{fromText}에서 {toExecutionText}로" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} Order" -msgstr "{0} 주문 생성하기" +msgstr "{0} 주문 생성" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit Swap" @@ -6125,7 +6201,7 @@ msgstr "지정가 스왑 실행" #: src/pages/BuyGMX/BuyGMX.tsx msgid "To purchase GMX on the {0} blockchain, please <0>change your network</0>." -msgstr "" +msgstr "{0} 블록체인에서 GMX를 구매하려면 <0>네트워크 변경</0>해주세요." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx #: src/components/NpsModal/NpsModal.tsx @@ -6136,7 +6212,7 @@ msgstr "제출" #: src/domain/tokens/approveTokens.tsx msgid "Permit signed!" -msgstr "" +msgstr "허가 서명됨!" #: src/components/Exchange/TradeHistory.jsx msgid "Request withdrawal from {0} {longOrShortText}" @@ -6148,9 +6224,10 @@ msgstr "옵션 선택" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "less than a minute" -msgstr "" +msgstr "1분 미만" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "이코시스템" @@ -6170,14 +6247,14 @@ msgstr "생성" msgid "Limit order submitted!" msgstr "지정가 주문 제출 완료!" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" -msgstr "" +msgstr "최근 7일" #: src/components/Synthetics/StatusNotification/StakeNotification.tsx msgid "Swap {fromAmount} for {toAmount}" -msgstr "" +msgstr "{fromAmount}을 {toAmount}으로 스왑" #: src/components/Exchange/PositionShare.tsx msgid "Copy" @@ -6191,24 +6268,24 @@ msgstr "수량" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} order" -msgstr "" +msgstr "{0} 주문 생성" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx msgid "Edit {0} {1}{2}" -msgstr "" +msgstr "{0} {1}{2} 수정" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "No rebates distribution history yet." -msgstr "소개 보수 분배 내역이 없습니다." +msgstr "리베이트 분배 내역 없음." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Governance" -msgstr "" +msgstr "GMX 거버넌스" #: src/domain/synthetics/orders/utils.tsx msgid "trigger price" -msgstr "" +msgstr "트리거 가격" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -6220,17 +6297,17 @@ msgstr "" #: src/pages/Stake/TotalRewardsCard.tsx #: src/pages/Stake/Vesting.tsx msgid "Claim" -msgstr "수령하기" +msgstr "수령" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Price Impact / Fees" -msgstr "" +msgstr "가격 영향 / 수수료" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "" +#~ msgid "GMX {versionName} Account" +#~ msgstr "GMX {versionName} 계정" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6240,15 +6317,15 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Order execution price takes into account price impact." -msgstr "주문 체결 가격은 가격 영향을 고려합니다." +msgstr "주문 실행 가격은 가격 영향을 고려합니다." #: src/pages/Buy/Buy.tsx msgid "Buy GLP or GMX" -msgstr "" +msgstr "GLP 또는 GMX 구매" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max Out" -msgstr "" +msgstr "최대 출력" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6268,43 +6345,47 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Enter an amount" -msgstr "수량 입력" +msgstr "금액 입력" #: src/components/Header/AppHeaderUser.tsx msgid "Connect" -msgstr "연동" +msgstr "연결" #: src/components/InterviewToast/InterviewToast.tsx msgid "Click here to give us your feedback on GMX." -msgstr "" +msgstr "GMX에 대한 피드백을 주려면 여기를 클릭하세요." #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche Fuji" -msgstr "" +msgstr "V1 Avalanche Fuji" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "1st Place" -msgstr "" +msgstr "1위" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "D2.Finance" -msgstr "" +msgstr "D2.Finance" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized:" +msgstr "연간화:" + +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" msgstr "" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" -msgstr "" +msgstr "승인 서명 실패" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Starts in" -msgstr "" +msgstr "시작까지" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -6314,25 +6395,21 @@ msgstr "현재 네트워크 수수료가 높습니다. 이는 {chainName} 네트 msgid "Scan the QR code" msgstr "QR 코드 스캔" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" -msgstr "" +msgstr "알 수 없는 GM 이전 주문" #: src/components/Exchange/TradeHistory.jsx msgid "Max leverage of 100x was exceeded, the remaining collateral after deducting losses and fees have been sent back to your account:" -msgstr "최대 레버리지 100x를 초과하였습니다. 손실과 수수료를 제외한 나머지 담보 자산은 귀하의 계정으로 반환되었습니다:" +msgstr "최대 레버리지 100x 초과, 손실 및 수수료 공제 후 남은 담보가 계정으로 반환됨:" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Shifting {symbol}..." -msgstr "" +msgstr "{symbol} 이전 중..." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order." -msgstr "주문을 채울만한 충분한 유동성이 없습니다." +msgstr "주문을 채울 충분한 유동성 없음." #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6340,11 +6417,15 @@ msgstr "주문을 채울만한 충분한 유동성이 없습니다." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above mark price" -msgstr "" +msgstr "트리거 가격이 마크 가격 초과" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size exceeds position" -msgstr "주문의 사이즈가 포지션을 초과했습니다" +msgstr "주문 크기가 포지션 초과" + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "" #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" @@ -6352,11 +6433,11 @@ msgstr "주문 업데이트 제출 완료!" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw failed." -msgstr "" +msgstr "인출 활성화 실패." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Explore, analyze, and copy on-chain traders" -msgstr "" +msgstr "온체인 트레이더 탐색, 분석 및 복사" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit" @@ -6364,7 +6445,7 @@ msgstr "이익 상실" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Sell Fee" -msgstr "" +msgstr "판매 수수료" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx @@ -6372,11 +6453,11 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Execution Details" -msgstr "" +msgstr "실행 세부 정보" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GM Airdrop" -msgstr "" +msgstr "GM 에어드랍" #: src/components/Glp/GlpSwap.jsx msgid "Save on Fees" @@ -6384,33 +6465,33 @@ msgstr "수수료 절약" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Take Profit" -msgstr "" +msgstr "이익 실현 업데이트" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Active Orders" -msgstr "활성화된 주문" +msgstr "활성 주문" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "You have set a high acceptable price impact. The current price impact is {0}." -msgstr "" +msgstr "높은 허용 가격 영향을 설정했습니다. 현재 가격 영향은 {0}입니다." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Lending and Borrowing" -msgstr "" +msgstr "대출 및 차입" #: src/components/Exchange/SwapBox.jsx msgid "Switch to {0} collateral." -msgstr "" +msgstr "{0} 담보로 전환." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GMX Vault" -msgstr "" +msgstr "GMX 볼트" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Jones DAO" -msgstr "" +msgstr "Jones DAO" #: src/components/Exchange/TradeHistory.jsx msgid "Partially Liquidated" @@ -6422,16 +6503,16 @@ msgstr "GLP 잔고 부족" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Minute(s)" -msgstr "" +msgstr "분" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized Fees" -msgstr "" +msgstr "시작 미실현 수수료" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "V2 trading" -msgstr "" +msgstr "V2 거래" #: src/components/Exchange/ConfirmationBox.jsx msgid "view" @@ -6439,11 +6520,11 @@ msgstr "보기" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancel failed." -msgstr "" +msgstr "{orderText} 취소 실패." #: src/components/Exchange/OrdersToa.jsx msgid "Accept terms to enable orders" -msgstr "주문을 활성화하기 위해 약관에 동의해주세요" +msgstr "주문 활성화를 위한 약관 수락" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol analytics" @@ -6453,7 +6534,7 @@ msgstr "프로토콜 분석" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer submitted!" -msgstr "이전 제출 완료!" +msgstr "전송 제출 완료!" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -6461,43 +6542,46 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{0} {longOrShortText} 청산됨,\n" +"-{1} USD,\n" +"{2} 가격: {3} USD" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Inc." -msgstr "Inc." +msgstr "증가" #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed amount" -msgstr "" +msgstr "수수료가 금액 초과" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx msgid "Search Type" -msgstr "" +msgstr "검색 유형" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is below its target weight.<0/><1/>Get lower fees to <2>buy GLP</2> with {1}, and to <3>swap</3> {2} for other tokens." -msgstr "{0}은 목표 가중치를 미달합니다.<0/><1/>{1}로 <2>GLP 구매</2>를 하거나 {2}에서 다른 토큰으로 <3>스왑</3>하는 수수료가 감소합니다." +msgstr "{0}이 목표 가중치 미만입니다.<0/><1/>{1}로 <2>GLP 구매</2>하여 낮은 수수료를 받고, {2}을 다른 토큰으로 <3>스왑</3>하세요." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win Rate" -msgstr "" +msgstr "승률" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "<0><1>{1} 풀로 전환</1>하여 가격 영향 및 수수료에서 {0} 절약.</0>" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" -msgstr "" +msgstr "제휴 볼트에 esGMX 토큰이 있습니다. 새 계정으로 이전하려면 이 토큰을 인출해야 합니다" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Explorer" -msgstr "" +msgstr "탐색기에서 {0} 열기" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} and {1} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} 및 {1}은 지정된 구매 상한까지 이 시장의 GM 구매에 사용될 수 있습니다." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/StatusNotification/StakeNotification.tsx @@ -6511,52 +6595,57 @@ msgstr "보기" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Market" -msgstr "" +msgstr "스톱 마켓 실행" #: src/components/Referrals/TradersStats.tsx msgid "Volume traded by this account with an active referral code." -msgstr "유효한 추천인 코드를 사용하여 이 계정으로 트레이드된 거래량" +msgstr "활성 추천 코드로 이 계정의 거래량." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized fees" -msgstr "" +msgstr "시작 미실현 수수료" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Codes" -msgstr "추천인 코드" +msgstr "추천 코드" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GMX not withdrawn" -msgstr "베스트팅된 GMX에서 인출되지 않은 양" +msgstr "베스팅된 GMX 미인출" #: src/components/Glp/GlpSwap.jsx msgid "FEES" msgstr "수수료" +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "모든 시장" + #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Open Fee" -msgstr "" +msgstr "개설 수수료" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Looks like you don't have a referral code to share. <0/> Create one now and start earning rebates!" -msgstr "공유할 수 있는 추천인 코드가 없는 것 같습니다. <0/> 코드를 바로 생성해서 소개 보수를 획득하세요!" +msgstr "공유할 추천 코드가 없는 것 같습니다. <0/> 지금 생성하여 리베이트를 벌기 시작하세요!" #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Update 1CT (One-Click Trading) settings" -msgstr "" +msgstr "1CT(원클릭 거래) 설정 업데이트" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Kudai AI Agent" -msgstr "" +msgstr "Kudai AI 에이전트" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Current Price" -msgstr "" +msgstr "현재 가격" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT ID" @@ -6564,7 +6653,7 @@ msgstr "NFT ID 입력" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal failed." -msgstr "" +msgstr "인출 실패." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -6577,19 +6666,19 @@ msgstr "지정가" #: src/components/AddressView/AddressView.tsx msgid "You" -msgstr "" +msgstr "당신" #: src/components/Synthetics/GmList/GmList.tsx msgid "Pools providing liquidity to specific GMX markets, supporting single-asset and native asset options." -msgstr "" +msgstr "단일 자산 및 네이티브 자산 옵션을 지원하는 특정 GMX 시장에 유동성을 제공하는 풀." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivate 1CT (One-Click Trading)" -msgstr "" +msgstr "1CT(원클릭 거래) 비활성화" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute deposit into {0} {longOrShortText}" -msgstr "{0} {longOrShortText}의 입글을 실행시키지 못했습니다" +msgstr "{0} {longOrShortText}으로의 예치 실행 실패" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -6606,11 +6695,11 @@ msgstr "예치" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d Est. Fees" -msgstr "" +msgstr "365일 예상 수수료" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below highest limit price" -msgstr "" +msgstr "트리거 가격이 최고 지정가 미만" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -6618,49 +6707,49 @@ msgstr "" #: src/components/Synthetics/OrderItem/OrderItem.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Acceptable Price" -msgstr "허용 가능한 가격" +msgstr "허용 가격" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell request sent" -msgstr "" +msgstr "판매 요청 전송됨" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Margin Protocol" -msgstr "" +msgstr "DeFi 마진 프로토콜" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Enabling Leverage..." -msgstr "레버리지 유효화중" +msgstr "레버리지 활성화 중..." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap to the receive token when the price conditions are met." -msgstr "" +msgstr "가격 조건 충족 시 수령 토큰으로의 스왑 실행을 위한 유동성이 부족할 수 있습니다." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawn {balanceFormatted} to Main Account" -msgstr "" +msgstr "{balanceFormatted}을 메인 계정으로 인출" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Errors" -msgstr "" +msgstr "거래 오류" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Consider selecting only positions where the accrued funding fee exceeds the {0} gas cost to settle each position." -msgstr "" +msgstr "누적 펀딩 수수료가 각 포지션 정산을 위한 {0} 가스 비용을 초과하는 포지션만 선택하는 것을 고려하세요." #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} using the pay token selected is reached. Please choose a different pool, reduce the buy size, or pick a different composition of tokens." -msgstr "" +msgstr "선택된 지불 토큰을 사용하는 풀 GM: {0}의 구매 가능 상한에 도달했습니다. 다른 풀을 선택하거나 구매 크기를 줄이거나 다른 토큰 구성을 선택해주세요." #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you use to buy GLP. <0/>Enter the amount of GLP you want to purchase in the order form, then check here to compare fees." -msgstr "GLP를 구매하는 양에 따라서 수수료가 상이합니다. <0/>구매하려는 GLP의 양을 주문 양식에 입력하고, 여기에서 수수료를 비교하세요." +msgstr "GLP 구매에 사용하는 자산에 따라 수수료가 다를 수 있습니다. <0/>주문 양식에 구매하려는 GLP 금액을 입력한 후 여기에서 수수료를 비교하세요." #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Claim <0>{0}</0>" -msgstr "" +msgstr "<0>{0}</0> 수령" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6682,68 +6771,70 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive" -msgstr "수령하기" +msgstr "수령" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "time to liq" -msgstr "청산까지의 시간" +msgstr "청산까지 시간" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Fees" -msgstr "" +msgstr "실현 수수료" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Positions" -msgstr "" +msgstr "상위 포지션" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" -msgstr "" +msgstr "풀" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute withdrawal from {0} {longOrShortText}" -msgstr "{0} {longOrShortText}의 인출을 실행시키지 못했습니다" +msgstr "{0} {longOrShortText}에서의 인출 실행 실패" #: src/components/Synthetics/GmList/GlvList.tsx msgid "VAULT" -msgstr "" +msgstr "볼트" #: src/components/Glp/GlpSwap.jsx msgid "Fees (Rebated)" -msgstr "" +msgstr "수수료 (리베이트)" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Your transfer has been completed." -msgstr "이전이 완료되었습니다." +msgstr "전송이 완료되었습니다." #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "We Value Your Feedback" -msgstr "" +msgstr "귀하의 피드백을 소중히 여깁니다" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Loss" -msgstr "" +msgstr "손절" #: src/pages/Stake/Stake.tsx msgid "Liquidity incentives program is live on {avalancheLink}." -msgstr "" +msgstr "{avalancheLink}에서 유동성 인센티브 프로그램이 라이브 중입니다." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could still be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "가격 움직임을 제외하고 펀딩 및 차입 수수료율로 인해 포지션 담보가 시간에 따라 감소하여 이 포지션이 여전히 청산될 수 있습니다." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Transfer {nativeTokenSymbol}" -msgstr "" +msgstr "{nativeTokenSymbol} 전송" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Meme" -msgstr "" +msgstr "Meme" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx @@ -6752,73 +6843,73 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeboxTransactions.tsx msgid "Error submitting order" -msgstr "" +msgstr "주문 제출 오류" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Rebates and V1/V2 esGMX are airdropped weekly. V2 Rebates are claimed manually." -msgstr "" +msgstr "V1 리베이트 및 V1/V2 esGMX는 매주 에어드랍됩니다. V2 리베이트는 수동으로 수령합니다." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Duration" -msgstr "" +msgstr "기간" #: src/components/Common/SEO.tsx msgid "Trade spot or perpetual BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet on Arbitrum and Avalanche." -msgstr "" +msgstr "Arbitrum 및 Avalanche에서 지갑에서 직접 최대 100x 레버리지로 BTC, ETH, AVAX 및 기타 상위 암호화폐를 스팟 또는 퍼페추얼 거래하세요." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max In" -msgstr "" +msgstr "최대 입력" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Myself" -msgstr "" +msgstr "나 자신" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" -msgstr "" +msgstr "주소 검색" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max GM buyable amount reached" -msgstr "" +msgstr "최대 GM 구매 가능 금액 도달" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Session generated" -msgstr "" +msgstr "세션 생성됨" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" -msgstr "" +msgstr "GMX 구매" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Max {0} Capacity" -msgstr "{0}의 최대 수용량" +msgstr "{0} 최대 수용량" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copy error" -msgstr "" +msgstr "복사 오류" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects developed by the GMX community. <0/>Please exercise caution when interacting with any app, apps are fully maintained by community developers." -msgstr "" +msgstr "GMX 커뮤니티에서 개발된 프로젝트. <0/>앱과 상호작용할 때 주의해주세요. 앱은 커뮤니티 개발자가 완전히 유지합니다." #: src/domain/synthetics/userFeedback/utils.ts msgid "What areas can we improve to make your experience better?" -msgstr "" +msgstr "경험을 개선하기 위해 어떤 영역을 개선할 수 있나요?" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Market: {0} a long position at the current price." -msgstr "" +msgstr "{typeString} Long Market: 현재 가격으로 {0} 롱 포지션." #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a collateral" -msgstr "" +msgstr "담보 선택" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Size per part" -msgstr "" +msgstr "부분당 크기" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -6835,48 +6926,48 @@ msgstr "{0} 잔고 부족" #: src/domain/synthetics/orders/utils.tsx msgid "limit price" -msgstr "" +msgstr "지정가" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price impact rebates for closing trades are claimable under the claims tab. <0>Read more</0>." -msgstr "" +msgstr "거래 종료에 대한 가격 영향 리베이트는 청구 탭에서 수령 가능합니다. <0>더 읽기</0>." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Sending order request" -msgstr "" +msgstr "주문 요청 전송 중" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Can't execute because of an error" -msgstr "에러로 인해 실행되지 못했습니다" +msgstr "오류로 실행 불가" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Yield Products" -msgstr "" +msgstr "분산 수익 제품" #: src/components/Exchange/PositionSeller.jsx msgid "Keep Leverage is not possible" -msgstr "" +msgstr "레버리지 유지 불가능" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee includes fees for additional orders. It will be sent back in full to your account if they don't trigger and are cancelled. <0>Read more</0>." -msgstr "" +msgstr "최대 네트워크 수수료에는 추가 주문 수수료가 포함됩니다. 트리거되지 않고 취소되면 계정으로 전액 반환됩니다. <0>더 읽기</0>." #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Failed to settle" -msgstr "" +msgstr "{positionName} 정산 실패" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates" -msgstr "" +msgstr "리베이트" #: src/components/Glp/GlpSwap.jsx msgid "GLP is not sellable" -msgstr "" +msgstr "GLP는 판매 불가" #: src/pages/BuyGlp/BuyGlp.jsx msgid "GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "GMX V1 시장은 비활성화되어 포지션 종료만 허용됩니다. GLP는 단계적으로 폐지되며 더 이상 GMX V1 시장을 지원하지 않습니다." #: src/components/Glp/GlpSwap.jsx msgid "Sell failed." @@ -6884,7 +6975,7 @@ msgstr "판매 실패" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit" -msgstr "" +msgstr "지정가 업데이트" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -6894,8 +6985,9 @@ msgstr "주문 수정" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" -msgstr "" +msgstr "청구" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6909,15 +7001,15 @@ msgstr "날짜" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using FIAT gateways:" -msgstr "" +msgstr "FIAT 게이트웨이를 사용하여 GMX 구매:" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Referral code created!" -msgstr "추천인 코드 생성 완료!" +msgstr "추천 코드 생성!" #: src/components/Exchange/OrderEditor.jsx msgid "Price above Mark Price" -msgstr "시장 평균가 초과 가격" +msgstr "마크 가격 초과 가격" #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -6931,15 +7023,15 @@ msgstr "트리거 가격" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Sellable" -msgstr "" +msgstr "판매 가능" #: src/components/Exchange/PositionSeller.jsx msgid "Initial Collateral (Collateral excluding Borrow Fee)." -msgstr "" +msgstr "초기 담보 (차입 수수료 제외 담보)." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "COMPETITION Airdrop" -msgstr "" +msgstr "경쟁 에어드랍" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx @@ -6948,21 +7040,21 @@ msgstr "수령 주소 입력" #: src/pages/Stake/VesterDepositModal.tsx msgid "Additional reserve required" -msgstr "" +msgstr "추가 예비 필요" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" msgstr "약관" #: src/pages/Stake/ClaimModal.tsx msgid "Convert {wrappedTokenSymbol} to {nativeTokenSymbol}" -msgstr "" +msgstr "{wrappedTokenSymbol}을 {nativeTokenSymbol}로 변환" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available amount to deposit into GLP." -msgstr "GLP에 예치할 수 있는 양" +msgstr "GLP에 예치 가능한 금액." #: src/components/Exchange/PositionShare.tsx msgid "Download" @@ -6970,52 +7062,56 @@ msgstr "다운로드" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Swap {0} for {1}" -msgstr "" +msgstr "{0}을 {1}로 스왑" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity" -msgstr "" +msgstr "볼트 용량" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "깊이" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" -msgstr "감소 액티브: {0}, 실행 완료: {1} 취소 완료: {2}" +msgstr "감소 액티브: {0}, 실행 완료: {1}, 취소 완료: {2}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 1" -msgstr "" +msgstr "레이어 1" #: src/components/Exchange/TradeHistory.jsx msgid "{0}  {1} {longOrShortText}, -{2} USD, {3} Price: ${4} USD" -msgstr "" +msgstr "{0} {1} {longOrShortText}, -{2} USD, {3} 가격: ${4} USD" #: src/components/Exchange/PositionSeller.jsx msgid "Keep leverage at {0}x" -msgstr "" +msgstr "레버리지 {0}x 유지" #: src/pages/Stake/StakeModal.tsx msgid "Staking..." -msgstr "스테이킹중..." +msgstr "스테이킹 중..." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy request sent" -msgstr "" +msgstr "구매 요청 전송됨" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} amount exceeded" -msgstr "" +msgstr "최대 {0} 수량 초과" #: src/components/Exchange/PositionSeller.jsx msgid "Position close disabled, pending {0} upgrade" -msgstr "" +msgstr "포지션 종료 비활성화, {0} 업그레이드 대기 중" #: src/components/Exchange/ConfirmationBox.jsx msgid "Swapping..." -msgstr "스왑중..." +msgstr "스왑 중..." #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Realized Base PnL" -msgstr "" +msgstr "실현 기본 PnL" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -7027,11 +7123,11 @@ msgstr "스왑 실패." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Failed to withdraw {balanceFormatted} to Main Account" -msgstr "" +msgstr "메인 계정으로 {balanceFormatted} 출금 실패" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from swaps for the {0}/{1} market. It is also exposed to {2} and {3} as per the composition displayed." -msgstr "" +msgstr "이 토큰은 {0}/{1} 시장의 스왑 수수료를 자동으로 적립합니다. 표시된 구성에 따라 {2} 및 {3}에 노출됩니다." #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -7040,11 +7136,11 @@ msgstr "페이지가 오래되었습니다. 새로고침해주세요." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals" -msgstr "" +msgstr "GMX 제안" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUY…" -msgstr "" +msgstr "구매…" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Arbitrum" @@ -7053,27 +7149,27 @@ msgstr "Arbitrum에서 GLP로 베스팅하기" #: src/components/InterviewModal/InterviewModal.tsx #: src/components/InterviewModal/InterviewModal.tsx msgid "Telegram account" -msgstr "" +msgstr "텔레그램 계정" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "" +#~ msgid "SOON" +#~ msgstr "곧" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" -msgstr "" +msgstr "{operationTokenSymbol} 판매" #: src/components/Exchange/PositionEditor.jsx msgid "Liquidation price would cross mark price." -msgstr "" +msgstr "청산 가격이 시장 평균가를 초과할 수 있습니다." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perfectswap" -msgstr "" +msgstr "퍼펙트스왑" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Leaderboard for traders on GMX V2." -msgstr "" +msgstr "GMX V2 트레이더 리더보드." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Withdraw" @@ -7081,21 +7177,21 @@ msgstr "출금 실패" #: src/pages/Referrals/Referrals.tsx msgid "Get fee discounts and earn rebates through the GMX referral program.<0/>For more information, please read the <1>referral program details</1>." -msgstr "" +msgstr "GMX 추천 프로그램을 통해 수수료 할인과 리베이트를 받으세요.<0/>자세한 정보는 <1>추천 프로그램 세부 사항</1>을 읽어주세요." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Freeze" -msgstr "" +msgstr "동결" #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Express params loading..." -msgstr "" +msgstr "익스프레스 파라미터 로딩 중..." #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "As there is not enough liquidity in GLP to swap {0} to {swapTokenSymbol}, you can use the option below to do so:" -msgstr "{0}에서 {swapTokenSymbol}로 교환할 수 있는 유동성이 GLP에 충분하지 않기 때문에, 이하의 옵션을 사용해주세요:" +msgstr "{0}을 {swapTokenSymbol}로 스왑할 GLP 유동성이 부족합니다. 아래 옵션을 사용하세요:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx @@ -7106,22 +7202,22 @@ msgstr "수령 완료!" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Market" -msgstr "" +msgstr "스탑 마켓" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Min number of parts: {MIN_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "최소 파트 수: {MIN_TWAP_NUMBER_OF_PARTS}" #: src/components/Exchange/PositionSeller.jsx msgid "You can change this in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" +msgstr "페이지 오른쪽 상단 설정 메뉴에서 변경할 수 있습니다.<0/><1/>낮은 허용 슬리피지(예: {0} 미만)는 가격 변동 시 주문 실패를 초래할 수 있습니다." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Request Settlement of Funding Fees" -msgstr "자금 수수료 결제 요청" +msgstr "자금 수수료 정산 요청" #: src/pages/Dashboard/WeightText.tsx msgid "Current Weight" @@ -7129,52 +7225,52 @@ msgstr "현재 가중치" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Partnerships and Integrations" -msgstr "파트너쉽 및 합병" +msgstr "파트너십 및 통합" #: src/components/Exchange/PositionEditor.jsx msgid "Leftover Collateral not enough to cover fees" -msgstr "" +msgstr "잔여 담보가 수수료를 커버하기 부족합니다" #: src/components/InterviewToast/InterviewToast.tsx #: src/components/InterviewToast/InterviewToast.tsx msgid "As a token of our appreciation, you'll receive a reward of <0>100 <1/></0>." -msgstr "" +msgstr "감사의 표시로 <0>100 <1/></0> 보상을 받으실 수 있습니다." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above limit price" -msgstr "" +msgstr "트리거 가격이 지정가 가격보다 높습니다" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a Pay token" -msgstr "" +msgstr "지불 토큰 선택" #: src/components/Exchange/SwapBox.jsx msgid "Swap {0} submitted!" -msgstr "{0} 스왑 제출완료!" +msgstr "{0} 스왑 제출 완료!" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The available liquidity will be the lesser of the difference between the maximum value and the current value for both the reserve and open interest." -msgstr "" +msgstr "사용 가능한 유동성은 예비금과 미결제약정의 최대값과 현재값 차이 중 작은 값입니다." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral Code does not exist" -msgstr "추천인 코드가 존재하지 않습니다" +msgstr "추천 코드가 존재하지 않습니다" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "shift" -msgstr "" +msgstr "시프트" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GLP to GM Airdrop" -msgstr "" +msgstr "GLP에서 GM 에어드랍" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Vaults" -msgstr "일드 볼트" +msgstr "수익률 볼트" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Portuguese)" @@ -7182,17 +7278,17 @@ msgstr "텔레그램 그룹 (포르투갈어)" #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX V2 Actions" -msgstr "" +msgstr "GMX V2 액션" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code has been taken by someone else on {takenNetworkNames}, you will not receive rebates from traders using this code on {takenNetworkNames}." -msgstr "이 코드는 다른 사람에 의해 {takenNetworkNames}에서 사용되었습니다. {takenNetworkNames}에서 이 코드를 사용하는 트레이더로부터 소개 보수를 받을 수 없습니다." +msgstr "이 코드는 {takenNetworkNames}에서 다른 사람이 사용 중입니다. {takenNetworkNames}에서 이 코드를 사용하는 트레이더로부터 리베이트를 받을 수 없습니다." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Confirm Claim" -msgstr "" +msgstr "수령 확인" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX community discussion" @@ -7200,19 +7296,19 @@ msgstr "GMX 커뮤니티 토론" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} GLV 풀은 <0>인센티브{sparkle}.</0>" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GM" -msgstr "" +msgstr "GM 판매" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power." -msgstr "" +msgstr "<0>위임되지 않은 {0} GMX DAO</0> 투표권을 위임하세요." #: src/domain/synthetics/markets/createShiftTxn.ts msgid "Shift error." -msgstr "" +msgstr "시프트 오류." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7278,23 +7374,23 @@ msgstr "풀" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Venus" -msgstr "" +msgstr "비너스" #: src/pages/Referrals/Referrals.tsx msgid "Referral code creation failed." -msgstr "" +msgstr "추천 코드 생성 실패." #: src/components/Glp/SwapErrorModal.tsx msgid "<0>The pool's capacity has been reached for {0}. Please use another token to buy GLP.</0><1>Check the \"Save on Fees\" section for tokens with the lowest fees.</1>" -msgstr "<0>풀의 최대허용량이 {0}에 도달했습니다. 다른 토큰을 이용해 GLP를 구매해주세요.</0><1>\"수수료 절약\" 섹션을 통해 가장 저렴한 수수료를 확인하세요.</1>" +msgstr "<0>{0}에 대한 풀 용량이 도달했습니다. 다른 토큰으로 GLP를 구매하세요.</0><1>최저 수수료 토큰은 \"수수료 절약\" 섹션을 확인하세요.</1>" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX dashboards and analytics." -msgstr "GMX 대시보드 및 통계" +msgstr "GMX 대시보드 및 분석." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "External Swap {0} to {1}" -msgstr "" +msgstr "{0}을 {1}로 외부 스왑" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx @@ -7304,47 +7400,47 @@ msgstr "포지션" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Bonus Rebate" -msgstr "" +msgstr "보너스 리베이트" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing position in the {0} market pool, but it lacks liquidity for this order." -msgstr "" +msgstr "{0} 시장 풀에 기존 포지션이 있지만, 이 주문에 대한 유동성이 부족합니다." #: src/components/Exchange/PositionEditor.jsx msgid "Enable Leverage" -msgstr "레버리지 유효화" +msgstr "레버리지 활성화" #: src/components/Exchange/PositionSeller.jsx msgid "Close without profit" -msgstr "" +msgstr "이익 없이 종료" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "{title}" -msgstr "" +msgstr "{title}" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Increasing" -msgstr "" +msgstr "증가 중" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" -msgstr "" +msgstr "가장 빠름" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Lev." -msgstr "" +msgstr "평균 레버리지" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing longs for<4/>this size." -msgstr "" +msgstr "이 크기 숏 증가를 위한 유동성이 없습니다. 최대 숏 크기: {0}<1/><2/>가격 영향 없음. 이 크기 롱 감소에 대한 단일<3/>실행 가격입니다.<4/>" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche LP incentives" -msgstr "" +msgstr "아발란치 LP 인센티브" #: src/components/Stake/GMXAprTooltip.tsx msgid "{nativeTokenSymbol} APR" -msgstr "" +msgstr "{nativeTokenSymbol} APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Chinese)" @@ -7352,75 +7448,75 @@ msgstr "텔레그램 그룹 (중국어)" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for {2} {3}" -msgstr "" +msgstr "{0} {1}을 {2} {3}로 스왑" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "<0>This will withdraw all esGMX tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button.<5/><6/></0>" -msgstr "" +msgstr "<0>모든 esGMX 토큰을 인출하고 베스팅을 일시 중지합니다.<1/><2/>GMX로 변환된 esGMX 토큰은 청구되고 GMX 토큰으로 유지됩니다.<3/><4/>인출 없이 GMX 토큰 청구는 \"청구\" 버튼 사용.<5/><6/></0>" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "DeFi" -msgstr "" +msgstr "DeFi" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "SNAPSHOT" -msgstr "" +msgstr "스냅샷" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Liquidation Price" -msgstr "" +msgstr "청산 가격" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Voting Power" -msgstr "" +msgstr "투표권" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The long reserve accounts for the PnL of open positions, while the open interest does not." -msgstr "" +msgstr "롱 예비금은 미결제 포지션 PnL을 반영하지만, 미결제약정은 그렇지 않습니다." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Take Profit" -msgstr "" +msgstr "테이크 프로핏 취소" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL ($)" -msgstr "" +msgstr "상위 PnL ($)" #: src/pages/AccountDashboard/AccountDashboard.tsx msgid "Invalid address. Please make sure you have entered a valid Ethereum address" -msgstr "" +msgstr "유효하지 않은 주소. 유효한 이더리움 주소를 입력했는지 확인하세요" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GMX Vesting Vault" -msgstr "GMX의 베스팅 볼트에서 모든 토큰을 인출했습니다." +msgstr "보낸 사람이 GMX 베스팅 볼트에서 모든 토큰을 인출했습니다." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Failed Settlement of Funding Fees" -msgstr "" +msgstr "자금 수수료 정산 실패" #: src/components/Exchange/ConfirmationBox.jsx msgid "Pay Amount" -msgstr "지불액" +msgstr "지불 금액" #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GLP is the liquidity provider token for GMX V1 markets. Accrues 70% of the V1 markets generated fees." -msgstr "" +msgstr "GLP는 GMX V1 시장의 유동성 제공자 토큰입니다. V1 시장 생성 수수료의 70%를 적립합니다." #: src/domain/synthetics/orders/utils.tsx msgid "{increaseOrDecreaseText} {tokenText} by {sizeText}" -msgstr "" +msgstr "{increaseOrDecreaseText} {tokenText}를 {sizeText}만큼" #: src/pages/Stake/UnstakeModal.tsx msgid "{0}<0>You will earn {1}% less rewards with this action.</0>" -msgstr "" +msgstr "{0}<0>이 작업으로 {1}% 적은 보상을 받습니다.</0>" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirming..." -msgstr "" +msgstr "확인 중..." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7435,7 +7531,7 @@ msgstr "증가" #: src/pages/Stake/ClaimModal.tsx msgid "Claim {wrappedTokenSymbol} Rewards" -msgstr "" +msgstr "{wrappedTokenSymbol} 보상 청구" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/GmxCard.tsx @@ -7447,43 +7543,43 @@ msgstr "총 공급량" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Pool Capacity Reached" -msgstr "{0} 풀 수용량 도달됨" +msgstr "{0} 풀 용량 도달" #: src/components/Glp/GlpSwap.jsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Staked" -msgstr "스테이킹 완료" +msgstr "스테이킹됨" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "" +#~ msgid "Leave feedback" +#~ msgstr "피드백 남기기" #: src/pages/Referrals/Referrals.tsx msgid "Traders" -msgstr "" +msgstr "트레이더" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{ordersText} cancelled" -msgstr "" +msgstr "{ordersText} 취소됨" #: src/domain/synthetics/positions/utils.ts msgid "take profit" -msgstr "" +msgstr "테이크 프로핏" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Force External Swaps" -msgstr "" +msgstr "외부 스왑 강제" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}. <0/>{2} is needed for collateral." -msgstr "{0}을 {1}로 스왑하는 수수료가 높습니다. <0/>{2}가 담보로 필요합니다." +msgstr "{0}에서 {1}로 스왑 수수료가 높습니다. <0/>{2}가 담보로 필요합니다." #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "size" -msgstr "사이즈" +msgstr "크기" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit Swap" @@ -7491,20 +7587,20 @@ msgstr "지정가 스왑 생성" #: src/components/Errors/errorToasts.tsx msgid "<0>Your wallet is not connected to {0}.</0><1/><2>Switch to {1}</2>" -msgstr "" +msgstr "<0>지갑이 {0}에 연결되지 않았습니다.</0><1/><2>{1}로 전환</2>" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "Transaction was cancelled." -msgstr "트랜잭션 실패됨." +msgstr "트랜잭션이 취소되었습니다." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept confirmation of trigger orders" -msgstr "트리거 주문의 확인에 동의해주세요" +msgstr "트리거 주문 확인 수락" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Choose to buy from decentralized or centralized exchanges." -msgstr "" +msgstr "탈중앙화 또는 중앙화 거래소에서 구매 선택." #: src/components/Exchange/TradeHistory.jsx msgid "Min required collateral" @@ -7512,20 +7608,24 @@ msgstr "최소 필요 담보" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" -msgstr "우측 상단의 세팅을 이용해 \"허용 가능한 슬리피지\"를 증가시켜보세요" +msgstr "오른쪽 상단 설정에서 \"허용 슬리피지\" 증가 시도" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." -msgstr "GMX 이코시스템 페이지" +msgstr "GMX 생태계 페이지." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GM Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} GM 풀은 <0>인센티브{sparkle}.</0>" #: src/components/Exchange/PositionsList.jsx #: src/lib/legacy.ts msgid "Order size is bigger than position, will only be executable if position increases" -msgstr "주문의 사이즈가 포지션을 초과했습니다. 포지션을 증가하는 경우에만 실행 가능합니다." +msgstr "주문 크기가 포지션보다 큽니다. 포지션 증가 시에만 실행 가능" #: src/components/Header/AppHeaderLinks.tsx msgid "Buy" @@ -7533,11 +7633,11 @@ msgstr "구매" #: src/config/events.tsx msgid "Incentives are live for <0>Arbitrum</0> and <1>Avalanche</1> GM pools and V2 trading." -msgstr "" +msgstr "<0>Arbitrum</0> 및 <1>Avalanche</1> GM 풀과 V2 거래에 인센티브 활성." #: src/pages/Stake/TotalRewardsCard.tsx msgid "Total Rewards" -msgstr "" +msgstr "총 보상" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT ID" @@ -7546,61 +7646,60 @@ msgstr "NFT ID" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Success claimings" -msgstr "" +msgstr "성공 청구" #: src/lib/legacy.ts msgid "Decentralized Perpetual Exchange | GMX" -msgstr "" +msgstr "탈중앙화 퍼페추얼 거래소 | GMX" #: src/components/Exchange/PositionEditor.jsx msgid "The pending borrow fee will be charged on this transaction." -msgstr "" +msgstr "대기 중인 대출 수수료가 이 트랜잭션에 청구됩니다." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Fees will be shown once you have entered an amount in the order form." -msgstr "입력란에 수량을 입력하면 수수료가 표시됩니다." +msgstr "주문 양식에 금액 입력 시 수수료 표시." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GLP Vault" -msgstr "" +msgstr "GLP 볼트" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" msgstr "추천 약관" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter unique coins" -msgstr "" +msgstr "고유 코인 입력" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Fee APY" -msgstr "" +msgstr "수수료 APY" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." -msgstr "" +msgstr "일치하는 시장 없음." #: src/pages/Stake/Stake.tsx msgid "Stake esGMX" -msgstr "" +msgstr "esGMX 스테이킹" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Target Min Amount" -msgstr "최소 목표 수량" +msgstr "목표 최소 금액" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed Pay amount" -msgstr "" +msgstr "수수료가 지불 금액 초과" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Swap" @@ -7608,41 +7707,37 @@ msgstr "시장 스왑 실패" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "HoudiniSwap" -msgstr "" +msgstr "후디니스왑" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Error occurred. Please try again" -msgstr "" +msgstr "오류 발생. 다시 시도하세요" #: src/components/Referrals/referralsHelper.js msgid "Only letters, numbers and underscores are allowed." -msgstr "문자, 숫자 및 언더스코어만 가능합니다" +msgstr "문자, 숫자 및 언더스코어만 허용됩니다." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling shift request" -msgstr "" +msgstr "시프트 요청 이행 중" #: src/pages/Referrals/Referrals.tsx msgid "Referral code submitted!" -msgstr "" +msgstr "추천 코드 제출 완료!" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Transaction failed due to execution fee validation. <0>View</0>.<1/><2/>Please <3>enable Express trading</3> under settings, which should offer a better experience.<4/><5/>Otherwise, try increasing the max network fee buffer to {0} in <6>settings</6>." -msgstr "" +msgstr "실행 수수료 검증으로 트랜잭션 실패. <0>보기</0>.<1/><2/>설정에서 <3>익스프레스 거래 활성화</3>를 시도하세요. 더 나은 경험 제공.<4/><5/>또는 <6>설정</6>에서 최대 네트워크 수수료 버퍼를 {0}으로 증가." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "APY" -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "지난 달" +msgstr "APY" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Leave at least {0} {1} for gas" -msgstr "가스를 위해 최소 {0} {1}을(를) 남겨주세요" +msgstr "가스 비용으로 최소 {0} {1} 남기기" #: src/pages/Dashboard/GmxCard.tsx msgid "staked" @@ -7651,7 +7746,7 @@ msgstr "스테이킹됨" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "There is not enough {0} in your account on {1} to send this transaction.<0/><1/><2>Buy or Transfer {2} to {3}</2>" -msgstr "" +msgstr "{1} 계정에 {0}이 부족하여 트랜잭션 전송 불가.<0/><1/><2>{2} 구매 또는 {3}로 전송</2>" #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Volume" @@ -7660,57 +7755,57 @@ msgstr "총 거래량" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx msgid "Enter new Price" -msgstr "새로운 가격 입력" +msgstr "새 가격 입력" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GLP Vault" -msgstr "" +msgstr "GLP 볼트에서 인출" #: src/components/Exchange/PositionShare.tsx msgid "Image generation error, please refresh and try again." -msgstr "이미지 생성 에러. 새로고침 후 다시 시도해주세요." +msgstr "이미지 생성 오류. 새로고침 후 다시 시도." #: src/components/Synthetics/Claims/ClaimableCardUI.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price Impact Rebates" -msgstr "" +msgstr "가격 영향 리베이트" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." -msgstr "" +msgstr "관련 포지션이 완전히 종료되면 테이크 프로핏 및 스탑 로스 주문이 자동 취소됩니다. 이는 새로 생성된 TP/SL 주문에만 적용." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Swap Part" -msgstr "" +msgstr "TWAP 스왑 파트 실패" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Open {0} {longOrShortText}" -msgstr "" +msgstr "{0} {longOrShortText} 개설" #: src/components/InterviewToast/InterviewToast.tsx msgid "Give us your feedback on GMX." -msgstr "" +msgstr "GMX에 대한 피드백 제공." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Borrow Fee / Day" -msgstr "" +msgstr "현재 대출 수수료 / 일" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V1" -msgstr "" +msgstr "V1 리베이트" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token indexToken: \"{0}\" collateralToken: \"{1}\"" -msgstr "유요하지 않은 indexToken: \"{0}\" collateralToken\" \"{1}\"" +msgstr "유효하지 않은 토큰 indexToken: \"{0}\" collateralToken: \"{1}\"" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Header/AppHeaderLinks.tsx msgid "Alerts" -msgstr "" +msgstr "알림" #: src/components/Exchange/OrdersList.jsx msgid "<0>The price that orders can be executed at may differ slightly from the chart price, as market orders update oracle prices, while limit/trigger orders do not.</0><1>This can also cause limit/triggers to not be executed if the price is not reached for long enough. <2>Read more</2>.</1>" -msgstr "" +msgstr "<0>주문 실행 가격은 차트 가격과 약간 다를 수 있습니다. 시장 주문은 오라클 가격을 업데이트하지만 지정가/트리거 주문은 그렇지 않습니다.</0><1>가격이 충분히 도달하지 않으면 지정가/트리거가 실행되지 않을 수 있습니다. <2>더 읽기</2>.</1>" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Portfolio Tracker" @@ -7718,11 +7813,11 @@ msgstr "DeFi 포트폴리오 트래커" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Funding Fee / Day" -msgstr "" +msgstr "현재 자금 수수료 / 일" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d estimate based on past {daysConsidered}d APY." -msgstr "" +msgstr "과거 {daysConsidered}일 APY 기반 365일 추정." #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum APR:" @@ -7730,27 +7825,27 @@ msgstr "Arbitrum APR:" #: src/pages/Jobs/Jobs.jsx msgid "Job Openings" -msgstr "" +msgstr "채용 공고" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects integrated with GMX." -msgstr "GMX와 통합된 프로젝트" +msgstr "GMX와 통합된 프로젝트." #: src/components/Stake/GMXAprTooltip.tsx msgid "Escrowed GMX APR" -msgstr "esGMX APR" +msgstr "에스크로 GMX APR" #: src/components/Exchange/TradeHistory.jsx msgid "Initial collateral" -msgstr "최초 담보" +msgstr "초기 담보" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Activate 1CT (One-Click Trading)" -msgstr "" +msgstr "1CT (원클릭 거래) 활성화" #: src/components/AprInfo/AprInfo.tsx msgid "The Bonus APR will be airdropped as {airdropTokenTitle} tokens. <0>Read more</0>." -msgstr "" +msgstr "보너스 APR은 {airdropTokenTitle} 토큰으로 에어드랍됩니다. <0>더 읽기</0>." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -7766,23 +7861,23 @@ msgstr "지갑" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You have a pending transfer from {sender}." -msgstr "{sender}로부터 보류중인 전송이 있습니다." +msgstr "{sender}로부터 보류 중인 전송 있음." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the stop price, the order will attempt to execute." -msgstr "" +msgstr "시장 평균가가 스탑 가격에 도달하면 주문 실행 시도." #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a trigger price" -msgstr "" +msgstr "트리거 가격 입력" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GLP not withdrawn" -msgstr "베스트팅된 GLP에서 인출되지 않은 양" +msgstr "베스팅된 GLP 인출되지 않음" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {minutes} minutes{0}" -msgstr "" +msgstr "<0>매</0> {minutes} 분{0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -7800,114 +7895,116 @@ msgstr "진입 가격" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Price change to Liq." -msgstr "" +msgstr "청산까지 가격 변화" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b LP incentives" -msgstr "" +msgstr "STIP.b LP 인센티브" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Loss" -msgstr "" +msgstr "스탑 로스 취소" #: src/components/Exchange/PositionsList.jsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size if needed." -msgstr "" +msgstr "포지션을 클릭하여 시장 선택 후, 필요 시 거래 박스에서 포지션 크기 증가." #: src/domain/synthetics/orders/utils.tsx msgid "Limit Decrease" -msgstr "" +msgstr "지정가 감소" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stabilize Protocol" -msgstr "" +msgstr "스태빌라이즈 프로토콜" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a valid coin names" -msgstr "" - -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "" +msgstr "유효한 코인 이름 입력" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." -msgstr "" +msgstr "롱 청산" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GBC Kudai AI Agent" -msgstr "" +msgstr "GBC Kudai AI 에이전트" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You have {0} esGMX (IOU) tokens." -msgstr "귀하는 {0} esGMx (IOU) 토큰을 보유하고 있습니다." +msgstr "{0} esGMX (IOU) 토큰 보유." #: src/domain/synthetics/orders/utils.tsx msgid "There is currently a high swap price impact for the order swap path." -msgstr "" +msgstr "현재 주문 스왑 경로에 높은 스왑 가격 영향 있음." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Stop Market)" +msgstr "크기 증가 (스탑 마켓)" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" -msgstr "" +msgstr "스탑 로스 PnL" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing {balanceFormatted} to Main Account" -msgstr "" +msgstr "메인 계정으로 {balanceFormatted} 인출 중" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settling..." -msgstr "" +msgstr "정산 중..." #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" msgstr "리더보드" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be enough liquidity to execute parts of this order when the time conditions are met." -msgstr "" +msgstr "시간 조건 충족 시 주문 일부 실행에 유동성이 부족할 수 있음." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The PnL ($) compared to the capital used.<0/><1/>The capital used is calculated as the highest value of [<2>sum of collateral of open positions - realized PnL + period start pending PnL</2>]." -msgstr "" +msgstr "사용 자본 대비 PnL ($).<0/><1/>사용 자본은 [미결제 포지션 담보 합 - 실현 PnL + 기간 시작 대기 PnL]의 최고값으로 계산.</2>" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued" -msgstr "" +msgstr "적립됨" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Liquidation price is influenced by fees and collateral value." -msgstr "" +msgstr "청산 가격은 수수료와 담보 가치에 영향 받음." #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "No data available" -msgstr "" +msgstr "데이터 없음" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{prefix} <0>{text}</0>" -msgstr "" +msgstr "{prefix} <0>{text}</0>" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to update settings" -msgstr "" +msgstr "설정 업데이트 실패" #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Positive Price Impact / Fees" -msgstr "" +msgstr "긍정 가격 영향 / 수수료" #: src/components/Exchange/PositionShare.tsx msgid "Tweet" -msgstr "Tweet" +msgstr "트윗" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELL…" -msgstr "" +msgstr "판매…" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Swap" @@ -7915,31 +8012,31 @@ msgstr "스왑 확인" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage is not available as Position exceeds max. allowed leverage. <0>Read more</0>." -msgstr "" +msgstr "포지션이 최대 허용 레버리지 초과로 레버리지 유지 불가. <0>더 읽기</0>." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add {0} to Metamask" -msgstr "" +msgstr "Metamask에 {0} 추가" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Loss" -msgstr "" +msgstr "스탑 로스 실패" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Profit" -msgstr "" +msgstr "일일 이익" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX tokens can be staked or vested at any time." -msgstr "esGMX는 언제든지 스테이킹하거나 베스팅 할 수 있습니다." +msgstr "esGMX 토큰은 언제든 스테이킹 또는 베스팅 가능." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy ETH directly on Arbitrum or transfer it there." -msgstr "" +msgstr "Arbitrum에서 ETH 직접 구매 또는 전송." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 110 symbols exceeded" -msgstr "" +msgstr "최대 110 심볼 초과" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx @@ -7948,61 +8045,66 @@ msgstr "트랜잭션 실패" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "COLLATERAL" -msgstr "" +msgstr "담보" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued price impact rebates. They will become claimable after approximately ten days.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "적립된 가격 영향 리베이트. 약 10일 후 청구 가능.<0/><1/><2>더 읽기</2>." #: src/components/Exchange/PositionEditor.jsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Depositing..." -msgstr "예치중..." +msgstr "입금 중..." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Net Rate" -msgstr "순 수수료율" +msgstr "순 비율" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "2nd Place" -msgstr "" +msgstr "2위" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" -msgstr "" +msgstr "최종 가격" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-sign" -msgstr "" +msgstr "재서명" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" -msgstr "" +msgstr "주문 ({ordersCount})" #: src/components/TVChartContainer/constants.ts msgid "Limit - Long Inc." -msgstr "" +msgstr "지정가 - 롱 증가" #: src/pages/Stake/ClaimModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0>voting power before claiming." -msgstr "" +msgstr "<0>청구 전 위임되지 않은 {0} GMX DAO</0> 투표권 위임." #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." -msgstr "" +msgstr "롱 포지션과 {collateralSymbol} 담보로부터 {indexSymbol} 롱이 됩니다. 담보 가치가 가격 변화로 스테이블코인 담보 대비 청산 가격이 높아집니다." + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<1>{1}</1> esGMX 예치로부터 <0>{0}</0> 토큰이 GMX로 변환되었습니다." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" -msgstr "" +msgstr "판매 주문 취소" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "" +#~ msgid "Last 30 days" +#~ msgstr "최근 30일" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8012,11 +8114,7 @@ msgstr "실행 가격" #: src/components/Exchange/OrdersList.jsx msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." -msgstr "주문이 실행될 수 있는 가격은 차트에 표시된 가격과 조금 다를 수 있습니다. 그 이유는 시장가 주문이 가격을 바꿀 수 있는 반면 지정가 주문이나 트리거 주문이 가격을 바꾸지는 않기 때문입니다." - -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "" +msgstr "주문 실행 가격은 차트 가격과 약간 다를 수 있습니다. 시장 주문은 가격 변경 가능, 지정가/트리거는 불가." #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8025,27 +8123,32 @@ msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "About" -msgstr "대하여" +msgstr "소개" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued positive funding fees in positions not yet claimable.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "포지션에서 아직 청구되지 않은 긍정 자금 수수료.<0/><1/>포지션 수정(증가/감소, 담보 입/출금) 또는 \"정산\" 버튼으로 정산 후 사용 가능." #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "Fee values do not include incentives." +msgstr "수수료 값은 인센티브 포함 안 함." + +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" msgstr "" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Generate Referral Code" -msgstr "추천인 코드 생성" +msgstr "추천 코드 생성" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Price Impact" -msgstr "" +msgstr "높은 스왑 가격 영향" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx @@ -8055,26 +8158,26 @@ msgstr "스왑" #: src/domain/synthetics/orders/utils.tsx msgid "long" -msgstr "" +msgstr "롱" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h High" -msgstr "" +msgstr "24시간 고점" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code is not yet registered on {nonTakenNetworkNames}, you will not receive rebates there.<0/><1/>Switch your network to create this code on {nonTakenNetworkNames}." -msgstr "이 코드는 아직 {nonTakenNetworkNames}에 등록되지 않았습니다. 여기서는 소개 보수를 받을 수 없습니다.<0/><1/>이 코드를 {nonTakenNetworkNames}에 등록하려면 네트워크를 전환하세요." +msgstr "이 코드는 {nonTakenNetworkNames}에 등록되지 않았습니다. 리베이트 수령 불가.<0/><1/>{nonTakenNetworkNames}에서 코드 생성을 위해 네트워크 전환." #: src/components/Exchange/TradeHistory.jsx msgid "Deposit {0} USD into {1} {longOrShortText}" -msgstr "{0} USD를 {1} {longOrShortText}으로 입금" +msgstr "{0} USD를 {1} {longOrShortText}에 입금" #: src/pages/Dashboard/GmxCard.tsx msgid "Distribution" -msgstr "" +msgstr "분배" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "언어" @@ -8084,15 +8187,15 @@ msgstr "전송 완료" #: src/pages/Home/Home.tsx msgid "Total Users" -msgstr "총 유저" +msgstr "총 사용자" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee" -msgstr "" +msgstr "순 가치: 초기 담보 + PnL - 대출 수수료 - 부정 자금 수수료 - 종료 수수료" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below lowest limit price" -msgstr "" +msgstr "트리거 가격이 최저 지정가 가격보다 낮음" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Exchange/PositionShare.tsx @@ -8106,55 +8209,55 @@ msgstr "최소 레버리지: 1.1x" #: src/components/Exchange/FeesTooltip.tsx msgid "Deposit Fee" -msgstr "" +msgstr "입금 수수료" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter a new size or price" -msgstr "" +msgstr "새 크기 또는 가격 입력" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount exceeded" -msgstr "" +msgstr "최대 풀 금액 초과" #: src/components/Exchange/SwapBox.jsx msgid "The borrow fee is calculated as (assets borrowed) / (total assets in pool) * 0.01% per hour." -msgstr "차용 수수료는 시간당 (차용된 자산) / (풀 안의 총 자산) * 0.01%로 계산됩니다." +msgstr "대출 수수료는 (차입 자산) / (풀 총 자산) * 시간당 0.01%로 계산." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Unknown order" -msgstr "" +msgstr "알 수 없는 주문" #: src/pages/Jobs/Jobs.jsx msgid "No open positions at GMX currently" -msgstr "현재 GMX에서 열려있는 포지션이 없습니다." +msgstr "현재 GMX에 열린 포지션 없음" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Max Action Count Reached. <0>Click here</0> to update." -msgstr "" +msgstr "최대 액션 수 도달. <0>여기 클릭</0>하여 업데이트." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Price: {executionPriceDisplay} USD" -msgstr "" +msgstr "주문 실행: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, 가격: {executionPriceDisplay} USD" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "{column}" -msgstr "" +msgstr "{column}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You do not have any eligible trade during the competition window." -msgstr "" +msgstr "대회 기간 동안 적격 거래 없음." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing longs and<0/>decreasing shorts." -msgstr "" +msgstr "롱 증가 및<0/>숏 감소 실행 가격." -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" -msgstr "" +msgstr "최근 30일" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Dashboards" @@ -8162,31 +8265,35 @@ msgstr "대시보드" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create TWAP {0} order" -msgstr "" +msgstr "TWAP {0} 주문 생성" #: src/domain/synthetics/trade/utils/validation.ts msgid "Leftover collateral below {0} USD" -msgstr "" +msgstr "잔여 담보 {0} USD 미만" #: src/domain/synthetics/positions/utils.ts msgid "trigger" -msgstr "" +msgstr "트리거" #: src/components/Glp/GlpSwap.jsx msgid "Please <0>read here</0> for more information." -msgstr "" +msgstr "자세한 정보는 <0>여기</0>를 읽으세요." + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "7일" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" -msgstr "" +msgstr "레이지 트레이드" #: src/pages/Home/Home.tsx msgid "Trade BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet" -msgstr "" +msgstr "지갑에서 직접 BTC, ETH, AVAX 등 상위 암호화폐를 최대 100x 레버리지로 거래" #: src/pages/Stake/ClaimModal.tsx msgid "Claim GMX Rewards" -msgstr "" +msgstr "GMX 보상 청구" #: src/components/Referrals/JoinReferralCode.tsx #: src/components/Referrals/JoinReferralCode.tsx @@ -8194,19 +8301,18 @@ msgid "Enter Referral Code" msgstr "추천 코드 입력" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" -msgstr "" +msgstr "EIP-4844, 3월 20-27일" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer failed." -msgstr "이전 실패." +msgstr "전송 실패." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit amount is insufficient to bring leverage below the max allowed leverage of 100x" -msgstr "" +msgstr "입금 금액이 레버리지 100x 미만으로 만들기 부족" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -8229,12 +8335,13 @@ msgstr "시장 평균가" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Open {marketName} in Explorer" -msgstr "" +msgstr "탐색기에서 {marketName} 열기" #: src/components/Exchange/TradeHistory.jsx msgid "Partial Liquidation" msgstr "부분 청산" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" @@ -8242,19 +8349,19 @@ msgstr "24시간 거래량" #: src/pages/Dashboard/DashboardV2.tsx msgid "Total Stats" -msgstr "" +msgstr "총 통계" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Frequency" -msgstr "" +msgstr "빈도" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit sent." -msgstr "" +msgstr "입금 활성화 제출됨." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Withdrawing {0} from {positionText}" -msgstr "" +msgstr "{positionText}에서 {0} 인출 중" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community Projects" @@ -8263,15 +8370,15 @@ msgstr "커뮤니티 프로젝트" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/domain/synthetics/orders/utils.tsx msgid "Limit Swap" -msgstr "" +msgstr "지정가 스왑" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>Execution prices for decreasing shorts." -msgstr "" +msgstr "이 크기 롱 증가를 위한 유동성 없음. 최대 롱 크기: {0}<1/><2/>숏 감소 실행 가격." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H VOL." -msgstr "" +msgstr "24시간 거래량" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -8280,80 +8387,84 @@ msgstr "{0}로 판매" #: src/components/Exchange/PositionSeller.jsx msgid "Fees are higher than Collateral" -msgstr "" +msgstr "수수료가 담보 초과" #: src/components/Referrals/TradersStats.tsx msgid "You will receive a {currentTierDiscount}% discount on opening and closing fees." -msgstr "" +msgstr "개설 및 종료 수수료 {currentTierDiscount}% 할인 받음." #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX team" -msgstr "" +msgstr "GMX 팀과 익명 채팅" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Market Token Price Chart" -msgstr "" +msgstr "GMX 시장 토큰 가격 차트" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Addresses" -msgstr "" +msgstr "상위 주소" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Continue" -msgstr "계속하기" +msgstr "계속" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily and Cumulative PnL" -msgstr "" +msgstr "일일 및 누적 PnL" #: src/components/Exchange/PositionEditor.jsx msgid "Edit {longOrShortText} {0}" -msgstr "" +msgstr "{longOrShortText} {0} 편집" #: src/domain/synthetics/orders/utils.tsx msgid "short" -msgstr "" +msgstr "숏" #: src/components/RatingToast/RatingToast.tsx msgid "Very likely" -msgstr "" +msgstr "매우 가능" #: src/components/Exchange/ConfirmationBox.jsx msgid "I am aware of the trigger orders" -msgstr "트리거 주문에 대해 충분히 인지하고 있습니다." +msgstr "트리거 주문에 대해 인지함." #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{count, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{count, plural, one {주문} other {# 주문}}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V1" -msgstr "" +msgstr "V1 거래량" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche trading incentives" -msgstr "" +msgstr "아발란치 거래 인센티브" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Decrease" -msgstr "마켓 감소 요청" +msgstr "시장 감소 요청" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max. Leverage exceeded" -msgstr "" +msgstr "최대 레버리지 초과" #: src/components/Exchange/OrderEditor.jsx msgid "Price is above Mark Price" -msgstr "가격이 시장 평균가보다 높습니다" +msgstr "가격이 시장 평균가보다 높음" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "자금 및 대출 수수료율로 인해 가격 움직임 제외 포지션 담보 감소로 청산될 수 있음." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "지갑과 키는 본인 것. 오프체인 각 트랜잭션 서명. 거래는 네트워크 혼잡 시에도 GMX 후원 프리미엄 RPC 사용. 가스 비용 USDC 또는 WETH." + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8369,62 +8480,62 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Order Execution Price" -msgstr "주문 체결 가격" +msgstr "주문 실행 가격" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Slippage is too high" -msgstr "" +msgstr "슬리피지가 너무 높음" #: src/components/Synthetics/MarketsList/NetFeeHeaderTooltipContent.tsx msgid "Net rate combines funding and borrowing fees but excludes open, swap or impact fees.<0/><1/>Funding fees help to balance longs and shorts and are exchanged between both sides. <2>Read more</2>.<3/><4/>Borrowing fees help ensure available liquidity. <5>Read more</5>." -msgstr "순 수수료율은 자금 조달 및 대출 수수료를 결합하지만 오픈, 스왑 또는 영향 수수료는 제외합니다.<0/><1/>자금 조달 수수료는 롱과 숏을 균형있게 유지하고 양쪽 사이에서 교환됩니다. <2>더 읽기</2>.<3/><4/>대출 수수료는 사용 가능한 유동성을 보장합니다. <5>더 읽기</5>." +msgstr "순 비율은 자금 및 대출 수수료 결합, 개설/스왑/영향 수수료 제외.<0/><1/>자금 수수료는 롱/숏 균형 유지 및 양측 교환. <2>더 읽기</2>.<3/><4/>대출 수수료는 유동성 보장. <5>더 읽기</5>." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx msgid "Accrued Price Impact Rebates" -msgstr "" +msgstr "적립 가격 영향 리베이트" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Yesterday" -msgstr "" +msgstr "어제" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Deposit" -msgstr "보증금 요청" +msgstr "입금 요청" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit not enough to cover fees" -msgstr "" +msgstr "입금이 수수료 커버 부족" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Number of Parts" -msgstr "" +msgstr "파트 수" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Cancelling {ordersText}" -msgstr "" +msgstr "{ordersText} 취소 중" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivated" -msgstr "" +msgstr "비활성화됨" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Ecosystem Projects" -msgstr "" +msgstr "생태계 프로젝트" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in ..." -msgstr "" +msgstr "시장 주문 취소 가능 ..." #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Price Impact Rebate Claimed" -msgstr "" +msgstr "가격 영향 리베이트 청구됨" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX" -msgstr "" +msgstr "GMX와 익명 채팅" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx @@ -8440,39 +8551,39 @@ msgstr "지정가" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "You will receive at least {toAmountText} if this order is executed. This price is being updated in real time based on swap fees and price impact." -msgstr "" +msgstr "주문 실행 시 최소 {toAmountText} 수령. 스왑 수수료 및 가격 영향 기반 실시간 업데이트." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Acceptable price does not apply to stop loss orders, as they will be executed regardless of any price impact." -msgstr "" +msgstr "허용 가격은 가격 영향 무관 실행되는 스탑 로스 주문에 적용 안 됨." #: src/components/InterviewModal/InterviewModal.tsx msgid "We'll then schedule a chat or interview with you. As a thank you, you'll receive <0>100 <1/></0> for providing your feedback." -msgstr "" +msgstr "채팅 또는 인터뷰 일정 잡음. 피드백 제공 감사로 <0>100 <1/></0> 수령." #: src/domain/synthetics/positions/utils.ts msgid "limit" -msgstr "" +msgstr "지정가" #: src/components/SettingsModal/SettingsModal.tsx msgid "Trading Settings" -msgstr "" +msgstr "거래 설정" #: src/components/Exchange/OrdersToa.jsx msgid "<0>Insufficient liquidity to execute the order</0><1>The mark price which is an aggregate of exchange prices did not reach the specified price</1><2>The specified price was reached but not long enough for it to be executed</2><3>No keeper picked up the order for execution</3>" -msgstr "<0>주문을 체결하기 위한 유동성이 부족합니다</0><1>시장 평균가가 지정된 가격에 도달하지 않았습니다</1><2>지정된 가격에 도달했지만 실행하기에 충분한 시간이 지나지 않았습니다</2>주문을 체결할 수 있는 키퍼가 없습니다.<3>" +msgstr "<0>주문 실행 유동성 부족</0><1>거래소 가격 집계 시장 평균가가 지정 가격 도달 안 함</1><2>지정 가격 도달했으나 실행 시간 부족</2><3>실행 키퍼 없음</3>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Your position's collateral after deducting fees:" -msgstr "수수료를 제외한 귀하의 포지션 담보입니다:" +msgstr "수수료 차감 후 포지션 담보:" #: src/components/Glp/GlpSwap.jsx msgid "Selling..." -msgstr "판매중..." +msgstr "판매 중..." #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute as the max. allowed leverage is exceeded. Consider decreasing the order's leverage by editing and decreasing its size. <0>Read more</0>." -msgstr "" +msgstr "최대 허용 레버리지 초과로 주문 실행 안 될 수 있음. 크기 감소 편집으로 주문 레버리지 감소 고려. <0>더 읽기</0>." #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx @@ -8486,7 +8597,7 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Close" -msgstr "포지션 종료" +msgstr "종료" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8503,28 +8614,28 @@ msgstr "롱 포지션" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Depositing {0} to {positionText}" -msgstr "" +msgstr "{positionText}에 {0} 입금 중" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee" -msgstr "" +msgstr "최대 네트워크 수수료" #: src/domain/tokens/approveTokens.tsx msgid "Approval was cancelled" -msgstr "제출 취소되었습니다" +msgstr "승인 취소됨" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee and pay a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "{longOrShort} 포지션은 자금 수수료 미지불, 시간당 {borrowRate} 대출 수수료 지불." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Increase active: {0}, executed: {1}, cancelled: {2}" -msgstr "중가 액티브: {0}, 실행 완료: {1}, 취소 완료: {2}" +msgstr "증가 액티브: {0}, 실행 완료: {1}, 취소 완료: {2}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does not impact your collateral." -msgstr "" +msgstr "네트워크에 지불되는 최대 네트워크 수수료. GMX 특유 아닌 블록체인 비용, 담보 영향 없음." #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX Pages" @@ -8532,7 +8643,7 @@ msgstr "GMX 페이지" #: src/components/Exchange/SwapBox.jsx msgid "{0} is required for collateral." -msgstr "담보를 위해 {0}이 필요합니다." +msgstr "담보로 {0} 필요." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Options Protocol" @@ -8540,11 +8651,11 @@ msgstr "탈중앙화 옵션 프로토콜" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Swap Part" -msgstr "" +msgstr "TWAP 스왑 파트 업데이트" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Part" -msgstr "" +msgstr "TWAP 파트 업데이트" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8553,7 +8664,7 @@ msgstr "계정 전송 완료" #: src/pages/Stake/ClaimModal.tsx msgid "Claim Rewards" -msgstr "" +msgstr "보상 청구" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Copy Address" @@ -8561,62 +8672,62 @@ msgstr "주소 복사" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Pending Transfer Approval" -msgstr "" +msgstr "전송 승인 대기 중" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{0}{toTokenIcon}{1}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{0}{toTokenIcon}{1}" #: src/components/DepthChart/DepthChart.tsx msgid "ORACLE PRICE" -msgstr "" +msgstr "오라클 가격" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "" +#~ msgid "For detailed stats:" +#~ msgstr "상세 통계:" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "Total Earned Fees" -msgstr "" +msgstr "총 적립 수수료" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a ratio" -msgstr "" +msgstr "비율 입력" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Proof of Reserves" -msgstr "예비구두 증명" +msgstr "예비 증명" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "General Performance Details" -msgstr "" +msgstr "일반 성과 세부 사항" #: src/pages/Stake/VesterWithdrawModal.tsx msgid "<0>This will withdraw and unreserve all tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button under the Total Rewards section.<5/><6/></0>" -msgstr "" +msgstr "<0>모든 토큰 인출 및 예약 해제, 베스팅 일시 중지.<1/><2/>GMX로 변환된 esGMX 토큰 청구 및 GMX 유지.<3/><4/>인출 없이 GMX 청구는 총 보상 섹션 \"청구\" 버튼 사용.<5/><6/></0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Price conditions are met" -msgstr "가격 조건에 충족되었습니다" +msgstr "가격 조건 충족" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Backing Composition" -msgstr "" +msgstr "백킹 구성" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeBank" -msgstr "" +msgstr "DeBank" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "You have {balanceFormatted} remaining in your old version 1CT subaccount." -msgstr "" +msgstr "구 버전 1CT 서브계정에 {balanceFormatted} 남음." #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Unstake GMX" -msgstr "" +msgstr "GMX 언스테이킹" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit failed!" -msgstr "" +msgstr "입금 실패!" diff --git a/src/locales/pseudo/messages.po b/src/locales/pseudo/messages.po index fba2baad71..e5a94e857f 100644 --- a/src/locales/pseudo/messages.po +++ b/src/locales/pseudo/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" msgstr "" @@ -88,7 +88,7 @@ msgstr "" msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" msgstr "" @@ -112,6 +112,10 @@ msgstr "" msgid "Approval signed" msgstr "" +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" +msgstr "" + #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" msgstr "" @@ -213,7 +217,6 @@ msgid "V2 Arbitrum" msgstr "" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" msgstr "" @@ -303,7 +306,7 @@ msgstr "" msgid "Buyable" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" msgstr "" @@ -425,8 +428,10 @@ msgstr "" msgid "Please migrate your positions to GMX V2." msgstr "" +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "" @@ -466,16 +471,14 @@ msgstr "" msgid "No pools matched." msgstr "" -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "" - #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "" @@ -489,8 +492,8 @@ msgid "Funding Fee" msgstr "" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" @@ -524,6 +527,7 @@ msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" msgstr "" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" @@ -542,10 +546,6 @@ msgstr "" msgid "Market Swap" msgstr "" -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "" - #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" @@ -555,6 +555,10 @@ msgstr "" msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." msgstr "" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" +msgstr "" + #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" msgstr "" @@ -579,6 +583,10 @@ msgstr "" msgid "in liquidity" msgstr "" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "" + #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" msgstr "" @@ -664,6 +672,10 @@ msgstr "" msgid "Limit price above mark price" msgstr "" +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" + #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" msgstr "" @@ -684,7 +696,6 @@ msgstr "" msgid "Max. Leverage Exceeded" msgstr "" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" msgstr "" @@ -701,12 +712,6 @@ msgstr "" msgid "Min. Required Collateral" msgstr "" -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "" - #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" @@ -813,8 +818,10 @@ msgstr "" msgid "Incentives Distribution History" msgstr "" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "" + #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" @@ -857,10 +864,9 @@ msgstr "" msgid "Acceptable Swap Impact" msgstr "" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx @@ -1048,7 +1054,7 @@ msgstr "" msgid "Referral Code" msgstr "" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" msgstr "" @@ -1152,6 +1158,11 @@ msgstr "" msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." msgstr "" +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "" + #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." @@ -1170,6 +1181,7 @@ msgid "Buy Fee" msgstr "" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "" @@ -1181,10 +1193,6 @@ msgstr "" msgid "1inch" msgstr "" -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "" - #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" msgstr "" @@ -1298,6 +1306,10 @@ msgstr "" msgid "Liq. {longOrShortText} - {marketIndexName}" msgstr "" +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "" + #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." msgstr "" @@ -1340,9 +1352,9 @@ msgstr "" msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" @@ -1415,6 +1427,11 @@ msgstr "" msgid "account" msgstr "" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" +msgstr "" + #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Keep leverage at {0}" msgstr "" @@ -1626,6 +1643,11 @@ msgstr "" msgid "GMX (Chinese)" msgstr "" +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "" + #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" msgstr "" @@ -1664,6 +1686,10 @@ msgstr "" msgid "No swap path found" msgstr "" +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "" + #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." msgstr "" @@ -1760,10 +1786,9 @@ msgstr "" msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." msgstr "" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "" +#~ msgid "Global Leaderboard" +#~ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" @@ -1842,6 +1867,7 @@ msgid "Forfeit profit not checked" msgstr "" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" msgstr "" @@ -1906,7 +1932,7 @@ msgstr "" msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" msgstr "" @@ -1950,6 +1976,7 @@ msgstr "" msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." msgstr "" +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1969,6 +1996,7 @@ msgstr "" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" msgstr "" @@ -2041,6 +2069,7 @@ msgstr "" msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." msgstr "" +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2085,10 +2114,6 @@ msgstr "" msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." msgstr "" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "" - #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." msgstr "" @@ -2118,9 +2143,9 @@ msgstr "" msgid "Deposited {0} into {positionText}" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -2157,8 +2182,8 @@ msgid "Address" msgstr "" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "" +#~ msgid "Winner:" +#~ msgstr "" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" @@ -2194,7 +2219,7 @@ msgstr "" msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" msgstr "" @@ -2305,6 +2330,11 @@ msgstr "" msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" msgstr "" +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." + #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" msgstr "" @@ -2343,7 +2373,7 @@ msgstr "" msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" msgstr "" @@ -2433,6 +2463,14 @@ msgstr "" msgid "{actionDisplay} Order" msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "" + #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" msgstr "" @@ -2482,6 +2520,10 @@ msgstr "" msgid "Transfer Account" msgstr "" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "" + #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" @@ -2568,6 +2610,10 @@ msgstr "" msgid "Earn prizes by participating in GMX Trading Competitions." msgstr "" +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "" + #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" msgstr "" @@ -2653,7 +2699,7 @@ msgstr "" msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" msgstr "" @@ -2765,6 +2811,10 @@ msgstr "" msgid "Open positions: {0}<0/>Under risk: {1}" msgstr "" +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "" + #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" msgstr "" @@ -2836,6 +2886,7 @@ msgid "No liquidity is available for increasing shorts for<0/>this size. Max sho msgstr "" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" msgstr "" @@ -2874,6 +2925,7 @@ msgid "SL" msgstr "" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2988,6 +3040,11 @@ msgstr "" msgid "Buy {swapTokenSymbol} on 1inch" msgstr "" +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "" + #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" @@ -3159,11 +3216,6 @@ msgstr "" msgid "Claim failed." msgstr "" -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "" - #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" msgstr "" @@ -3208,7 +3260,7 @@ msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5 msgstr "" #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "" @@ -3304,7 +3356,7 @@ msgstr "" msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." msgstr "" @@ -3339,11 +3391,6 @@ msgstr "" msgid "Claiming..." msgstr "" -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "" - #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" msgstr "" @@ -3407,6 +3454,10 @@ msgstr "" msgid "Orders cancelled." msgstr "" +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" + #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" msgstr "" @@ -3474,11 +3525,6 @@ msgstr "" msgid "{longShortText} {0} Open Interest" msgstr "" -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "" - #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." msgstr "" @@ -3543,6 +3589,10 @@ msgstr "" msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." msgstr "" +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "" + #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" msgstr "" @@ -3675,7 +3725,6 @@ msgstr "" msgid "Approval failed" msgstr "" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx @@ -3767,10 +3816,6 @@ msgstr "" msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." msgstr "" -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "" - #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." msgstr "" @@ -4038,8 +4083,8 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "" +#~ msgid "EIP-4844 Competition" +#~ msgstr "" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4190,8 +4235,8 @@ msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1 msgstr "" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx @@ -4234,7 +4279,7 @@ msgstr "" msgid "Exposure to Market Traders’ PnL" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" msgstr "" @@ -4285,6 +4330,7 @@ msgstr "" #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" msgstr "" @@ -4324,10 +4370,6 @@ msgstr "" msgid "Address copied to your clipboard" msgstr "" -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "" - #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4410,8 +4452,8 @@ msgstr "" msgid "Staked on Avalanche" msgstr "" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" msgstr "" @@ -4470,6 +4512,10 @@ msgstr "" msgid "Take Profit / Stop Loss" msgstr "" +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" +msgstr "" + #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" msgstr "" @@ -4508,6 +4554,7 @@ msgid "Shorts Net Rate / 1h" msgstr "" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" msgstr "" @@ -4577,17 +4624,13 @@ msgstr "" msgid "GMX APR" msgstr "" -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "" - #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" msgstr "" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" @@ -4704,10 +4747,9 @@ msgstr "" msgid "24h Low" msgstr "" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "" +#~ msgid "Chain Icon" +#~ msgstr "" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" @@ -4731,10 +4773,6 @@ msgstr "" msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." msgstr "" -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "" - #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" @@ -4772,6 +4810,11 @@ msgstr "" msgid "Referral code updated!" msgstr "" +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "COMPOSITION" + #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" msgstr "" @@ -4825,7 +4868,7 @@ msgstr "" msgid "Select your vesting option below then click \"Claim\"." msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." msgstr "" @@ -4921,7 +4964,7 @@ msgstr "" msgid "You will earn {0}% more rewards with this action." msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" msgstr "" @@ -4981,6 +5024,7 @@ msgid "GMX Announcements" msgstr "" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" @@ -5047,17 +5091,14 @@ msgid "Swap Order submitted!" msgstr "" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5068,7 +5109,7 @@ msgstr "" msgid "Loading..." msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" msgstr "" @@ -5101,7 +5142,7 @@ msgstr "" msgid "Search Action" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" msgstr "" @@ -5110,8 +5151,8 @@ msgid "Cancelling {orderText}." msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "" +#~ msgid "CONCLUDED" +#~ msgstr "" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" @@ -5182,6 +5223,7 @@ msgstr "" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5230,11 +5272,6 @@ msgstr "" msgid "Transferring" msgstr "" -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "" - #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" msgstr "" @@ -5261,8 +5298,8 @@ msgid "Target Weight" msgstr "" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "" +#~ msgid "Winners:" +#~ msgstr "" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." @@ -5303,6 +5340,10 @@ msgstr "" msgid "Transaction" msgstr "" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5349,7 +5390,7 @@ msgstr "" msgid "Close {longOrShortText} {0}" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" msgstr "" @@ -5368,10 +5409,18 @@ msgstr "" msgid "Max {0} in" msgstr "" +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "" + #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" msgstr "" +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" +msgstr "" + #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Diff" msgstr "" @@ -5427,6 +5476,14 @@ msgstr "" msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" msgstr "" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +msgstr "" + #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" msgstr "" @@ -5448,7 +5505,6 @@ msgstr "" msgid "There are more shorts than longs, borrow fees for longing is currently zero" msgstr "" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" msgstr "" @@ -5470,6 +5526,7 @@ msgstr "" msgid "GMX Trading Chat" msgstr "" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" msgstr "" @@ -5482,9 +5539,9 @@ msgstr "" msgid "Useful Links" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" @@ -5497,8 +5554,8 @@ msgid "Available" msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "" +#~ msgid "Last 7 days" +#~ msgstr "" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" @@ -5512,6 +5569,10 @@ msgstr "" msgid "How likely are you to recommend our service to a friend or colleague?" msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" +msgstr "" + #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" msgstr "" @@ -5586,6 +5647,10 @@ msgstr "" msgid "TokenTerminal" msgstr "" +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" +msgstr "" + #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for Open Interest on GMX" msgstr "" @@ -5616,6 +5681,10 @@ msgstr "" msgid "{0} orders were not updated as max order limit reached" msgstr "" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "" + #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" msgstr "" @@ -5722,10 +5791,6 @@ msgstr "" msgid "Receiver Address" msgstr "" -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "" - #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" msgstr "" @@ -5818,6 +5883,10 @@ msgstr "" msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." msgstr "" +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" +msgstr "" + #: src/pages/PageNotFound/PageNotFound.jsx msgid "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" msgstr "" @@ -5886,6 +5955,10 @@ msgstr "" msgid "3rd Place" msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" @@ -5930,8 +6003,8 @@ msgid "Perpetuals Aggregator" msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "" +#~ msgid "LIVE" +#~ msgstr "" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -6081,7 +6154,7 @@ msgstr "" msgid "Buy or Transfer ETH to Arbitrum" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." msgstr "" @@ -6151,6 +6224,7 @@ msgid "less than a minute" msgstr "" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "" @@ -6170,8 +6244,8 @@ msgstr "" msgid "Limit order submitted!" msgstr "" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" msgstr "" @@ -6229,8 +6303,8 @@ msgstr "" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "" +#~ msgid "GMX {versionName} Account" +#~ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6298,6 +6372,10 @@ msgstr "" msgid "Annualized:" msgstr "" +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" +msgstr "" + #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" msgstr "" @@ -6314,10 +6392,6 @@ msgstr "" msgid "Scan the QR code" msgstr "" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" msgstr "" @@ -6346,6 +6420,10 @@ msgstr "" msgid "Order size exceeds position" msgstr "" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "" + #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" msgstr "" @@ -6484,8 +6562,8 @@ msgid "Win Rate" msgstr "" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" @@ -6534,6 +6612,11 @@ msgstr "" msgid "FEES" msgstr "" +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "" + #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx @@ -6700,6 +6783,8 @@ msgid "Top Positions" msgstr "" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" msgstr "" @@ -6774,8 +6859,7 @@ msgstr "" msgid "Myself" msgstr "" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" msgstr "" @@ -6787,6 +6871,7 @@ msgstr "" msgid "Session generated" msgstr "" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" msgstr "" @@ -6894,6 +6979,7 @@ msgstr "" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" msgstr "" @@ -6950,7 +7036,7 @@ msgstr "" msgid "Additional reserve required" msgstr "" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" msgstr "" @@ -6976,6 +7062,10 @@ msgstr "" msgid "Vault Capacity" msgstr "" +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "" + #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" msgstr "" @@ -7056,8 +7146,8 @@ msgid "Telegram account" msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "" +#~ msgid "SOON" +#~ msgstr "" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" @@ -7326,7 +7416,7 @@ msgstr "" msgid "Increasing" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" msgstr "" @@ -7457,8 +7547,8 @@ msgid "Staked" msgstr "" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "" +#~ msgid "Leave feedback" +#~ msgstr "" #: src/pages/Referrals/Referrals.tsx msgid "Traders" @@ -7514,6 +7604,10 @@ msgstr "" msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" msgstr "" +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" + #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." msgstr "" @@ -7568,7 +7662,7 @@ msgstr "" msgid "GLP Vault" msgstr "" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" msgstr "" @@ -7582,7 +7676,6 @@ msgid "Fee APY" msgstr "" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." msgstr "" @@ -7635,10 +7728,6 @@ msgstr "" msgid "APY" msgstr "" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "" - #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Leave at least {0} {1} for gas" @@ -7675,7 +7764,7 @@ msgstr "" msgid "Price Impact Rebates" msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." msgstr "" @@ -7826,10 +7915,6 @@ msgstr "" msgid "Enter a valid coin names" msgstr "" -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "" - #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." @@ -7851,6 +7936,10 @@ msgstr "" msgid "Increase Size (Stop Market)" msgstr "" +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" +msgstr "" + #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" msgstr "" @@ -7865,6 +7954,8 @@ msgstr "" #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" msgstr "" @@ -7970,6 +8061,7 @@ msgstr "" msgid "2nd Place" msgstr "" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" msgstr "" @@ -7979,8 +8071,6 @@ msgid "Re-sign" msgstr "" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" msgstr "" @@ -7996,13 +8086,19 @@ msgstr "" msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." msgstr "" +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." + #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "" +#~ msgid "Last 30 days" +#~ msgstr "" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8014,10 +8110,6 @@ msgstr "" msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." msgstr "" -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "" - #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8035,6 +8127,10 @@ msgstr "" msgid "Fee values do not include incentives." msgstr "" +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" +msgstr "" + #: src/components/Referrals/AddAffiliateCode.jsx msgid "Generate Referral Code" msgstr "" @@ -8046,6 +8142,7 @@ msgstr "" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx @@ -8074,7 +8171,7 @@ msgstr "" msgid "Distribution" msgstr "" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "" @@ -8150,8 +8247,8 @@ msgstr "" msgid "Execution prices for increasing longs and<0/>decreasing shorts." msgstr "" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" msgstr "" @@ -8176,6 +8273,10 @@ msgstr "" msgid "Please <0>read here</0> for more information." msgstr "" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "" + #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" msgstr "" @@ -8194,7 +8295,6 @@ msgid "Enter Referral Code" msgstr "" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" msgstr "" @@ -8235,6 +8335,7 @@ msgstr "" msgid "Partial Liquidation" msgstr "" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" @@ -8352,8 +8453,12 @@ msgstr "" msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." msgstr "" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "" + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8572,8 +8677,8 @@ msgid "ORACLE PRICE" msgstr "" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "" +#~ msgid "For detailed stats:" +#~ msgstr "" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx diff --git a/src/locales/ru/messages.po b/src/locales/ru/messages.po index aeb0898ade..66e112a564 100644 --- a/src/locales/ru/messages.po +++ b/src/locales/ru/messages.po @@ -15,7 +15,7 @@ msgstr "" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Unrealized Base PnL" -msgstr "" +msgstr "Нереализованная базовая PnL" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/NftWallet/NftWallet.jsx @@ -24,11 +24,11 @@ msgstr "Кошелёк не подключен" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pear Protocol" -msgstr "" +msgstr "Pear Protocol" #: src/components/RatingToast/RatingToast.tsx msgid "Not likely" -msgstr "" +msgstr "Маловероятно" #: src/pages/Home/Home.tsx msgid "Available on your preferred network" @@ -49,12 +49,12 @@ msgstr "Разъединить" #: src/components/Glp/GlpSwap.jsx msgid "Buy GM tokens before the epoch resets in {0} to be eligible for the Bonus Rebate. Alternatively, wait for the epoch to reset to redeem GLP and buy GM within the same epoch." -msgstr "" +msgstr "Купите токены GM до сброса эпохи через {0}, чтобы получить бонусный ребейт. Альтернативно, дождитесь сброса эпохи, чтобы выкупить GLP и купить GM в той же эпохе." #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" msgstr "ЦЕНА" @@ -62,15 +62,15 @@ msgstr "ЦЕНА" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "receive" -msgstr "" +msgstr "получить" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Referrals Dashboard" -msgstr "" +msgstr "Панель рефералов GMX" #: src/pages/Stake/ClaimModal.tsx msgid "Stake GMX Rewards" -msgstr "" +msgstr "Стейк вознаграждений GMX" #: src/components/Glp/SwapErrorModal.tsx msgid "There is not enough liquidity in a single token for your size. Please check the Save on Fees section and consider splitting your order into several different ones" @@ -78,23 +78,23 @@ msgstr "В одном токене недостаточно ликвидност #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx msgid "Decrease the withdraw size to match the max. <0>Read more</0>.<1/><2/><3>Set max withdrawal</3>" -msgstr "" +msgstr "Уменьшите размер вывода, чтобы соответствовать максимуму. <0>Подробнее</0>.<1/><2/><3>Установить максимальный вывод</3>" #: src/domain/synthetics/userFeedback/utils.ts msgid "What would have made your rating a 9 or 10?" -msgstr "" +msgstr "Что сделало бы вашу оценку 9 или 10?" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" -msgstr "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" +msgstr "{existingTriggerOrderLength, plural, one {У вас есть активный триггерный ордер, который может исполниться сразу после открытия этой позиции. Пожалуйста, отмените ордер или подтвердите продолжение.} other {У вас есть # активных триггерных ордеров, которые могут исполниться сразу после открытия этой позиции. Пожалуйста, отмените ордера или подтвердите продолжение.}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" -msgstr "" +msgstr "Показать значения отладки" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Loss" -msgstr "" +msgstr "Исполнить стоп-лосс" #: src/pages/Exchange/Exchange.tsx msgid "Could not decrease {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." @@ -106,15 +106,19 @@ msgstr "Согласен" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "BonsaiDAO" -msgstr "" +msgstr "BonsaiDAO" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Approval signed" +msgstr "Одобрение подписано" + +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" msgstr "" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" -msgstr "" +msgstr "Ежедневный убыток" #: src/pages/Home/Home.tsx msgid "GMX is currently live on Arbitrum and Avalanche." @@ -122,7 +126,7 @@ msgstr "В настоящее время GMX работает на Arbitrum и A #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP Swap" -msgstr "" +msgstr "Создать TWAP-обмен" #: src/components/Glp/GlpSwap.jsx msgid "Max Pool Capacity" @@ -130,14 +134,14 @@ msgstr "Максимальная Вместимость Пула" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizer on Avalanche" -msgstr "Оптимизатор доходности xранилища на Avalanche" +msgstr "Оптимизатор доходности на Avalanche" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum" -msgstr "" +msgstr "Arbitrum" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -149,11 +153,11 @@ msgstr "Ордера ({0})" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "You have not deposited any tokens for vesting." -msgstr "" +msgstr "Вы не внесли токены для вестинга." #: src/domain/synthetics/positions/utils.ts msgid "stop loss" -msgstr "" +msgstr "стоп-лосс" #: src/components/Exchange/OrdersList.jsx #: src/components/Referrals/AffiliatesStats.tsx @@ -166,15 +170,15 @@ msgstr "Вид" #: src/components/Exchange/PositionSeller.jsx msgid "Order submitted!" -msgstr "" +msgstr "Ордер отправлен!" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Updating {updateOrdersCount} TP/SL order(s)" -msgstr "" +msgstr "Обновление {updateOrdersCount} TP/SL ордеров" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "RabbitHole" -msgstr "" +msgstr "RabbitHole" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is above its target weight.<0/><1/>Get lower fees to <2>swap</2> tokens for {1}." @@ -183,19 +187,19 @@ msgstr "{0} превышает целевой вес.<0/><1/>Получите м #: src/domain/synthetics/markets/createGlvWithdrawalTxn.ts #: src/domain/synthetics/markets/createWithdrawalTxn.ts msgid "Withdrawal error." -msgstr "" +msgstr "Ошибка вывода." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit" -msgstr "" +msgstr "Лимит не удался" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Performance" -msgstr "" +msgstr "Производительность" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized return of the pool or vault over the selected period, compared to a benchmark that follows Uniswap V2–style rebalancing of the backing tokens in the same GM pool or GLV vault.<0/><1/>Annualized figures based on short periods may be distorted by short-term volatility.<2/><3/>For detailed stats and comparisons, see the <4>GMX V2 LP Dashboard</4>." -msgstr "" +msgstr "Годовая доходность пула или хранилища за выбранный период по сравнению с эталоном, который следует ребалансировке в стиле Uniswap V2 базовых токенов в том же пуле GM или хранилище GLV.<0/><1/>Годовые показатели на основе коротких периодов могут быть искажены краткосрочной волатильностью.<2/><3/>Для подробной статистики и сравнений см. <4>Панель GMX V2 LP</4>." #: src/pages/Home/Home.tsx msgid "Decentralized<0/>Perpetual Exchange" @@ -203,52 +207,51 @@ msgstr "Децентрализованная<0/>Бессрочная Биржа" #: src/pages/Stake/VesterDepositModal.tsx msgid "Current Reserved" -msgstr "" +msgstr "Текущий резерв" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Arbitrum" -msgstr "" +msgstr "V2 Arbitrum" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" -msgstr "" +msgstr "EIP-4844, 13-20 марта" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Total size" -msgstr "" +msgstr "Общий размер" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express Trading" -msgstr "" +msgstr "Попробовать экспресс-трейдинг" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if there is not enough available liquidity." -msgstr "" +msgstr "Обратите внимание, что могут быть редкие случаи, когда ордер не может быть исполнен, например, если цепь не работает и нет отчетов оракула или если недостаточно доступной ликвидности." #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Buy {gasPaymentTokensText}" -msgstr "" +msgstr "Купить {gasPaymentTokensText}" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Show error" -msgstr "" +msgstr "Показать ошибку" #: src/components/Exchange/SwapBox.jsx msgid "Trigger orders, increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions using market orders." -msgstr "" +msgstr "Триггерные ордера, увеличение позиций (рыночные или лимитные), добавление залога и обмен на GMX V1 теперь отключены. Вы все еще можете закрывать существующие позиции с помощью рыночных ордеров." #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} может использоваться для покупки GM для этого рынка до указанных лимитов покупки." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High TWAP Network Fee" -msgstr "" +msgstr "Высокая TWAP комиссия сети" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Market Swap" @@ -256,20 +259,20 @@ msgstr "Исполнение рыночного обмена" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit submitted!" -msgstr "" +msgstr "Депозит отправлен!" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Volume" -msgstr "" +msgstr "Объем" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit Swap" -msgstr "Отмена лимитного обмен" +msgstr "Отмена лимитного обмена" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{seconds}s" -msgstr "" +msgstr "{seconds}с" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Required" @@ -277,7 +280,7 @@ msgstr "{0} Требуется" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "No incentives distribution history yet." -msgstr "" +msgstr "Нет истории распределения инсентивов." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -301,19 +304,19 @@ msgstr "Посмотреть статус" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Buyable" -msgstr "" +msgstr "Доступно для покупки" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" -msgstr "" +msgstr "Количество частей TWAP" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee - UI Fee" -msgstr "" +msgstr "Чистая стоимость: Начальный залог + PnL - Комиссия за заимствование - Отрицательная комиссия финансирования - Комиссия за закрытие - Комиссия UI" #: src/components/Exchange/ConfirmationBox.jsx msgid "The spread is > 1%, please ensure the trade details are acceptable before confirming" -msgstr "" +msgstr "Спред > 1%, пожалуйста, убедитесь, что детали торговли приемлемы перед подтверждением" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}<0/><1/>Please mint GLP using another token" @@ -321,7 +324,7 @@ msgstr "Достигнута максимальная вместимость п #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a value" -msgstr "" +msgstr "Введите значение" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT Address" @@ -335,24 +338,24 @@ msgstr "ДОСТУПНО" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "@username" -msgstr "" +msgstr "@имяпользователя" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Short Inc." -msgstr "" +msgstr "Стоп-рынок - Увеличение шорта" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Take Profit" -msgstr "" +msgstr "Тейк-профит не удался" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Confirm Settle" -msgstr "" +msgstr "Подтвердить расчет" #: src/domain/synthetics/markets/createDepositTxn.ts #: src/domain/synthetics/markets/createGlvDepositTxn.ts msgid "Deposit error." -msgstr "" +msgstr "Ошибка депозита." #: src/pages/Exchange/Exchange.tsx msgid "Increased {tokenSymbol} {longOrShortText}, +{0} USD." @@ -360,23 +363,23 @@ msgstr "Увеличено {tokenSymbol} {longOrShortText}, +{0} USD." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{updateOrdersCount} TP/SL order(s) updated" -msgstr "" +msgstr "{updateOrdersCount} TP/SL ордеров обновлено" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price above mark price" -msgstr "" +msgstr "Цена стоп-рынка выше рыночной цены" #: src/pages/Stake/StakeModal.tsx msgid "Pending {stakingTokenSymbol} approval" -msgstr "" +msgstr "Ожидание одобрения {stakingTokenSymbol}" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions" -msgstr "" +msgstr "Открытые позиции" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstaking..." -msgstr "Снятие стакинга..." +msgstr "Снятие стейкинга..." #: src/components/Exchange/SwapBox.jsx msgid "You can change the \"Collateral In\" token above to find lower fees" @@ -384,11 +387,11 @@ msgstr "Вы можете изменить \"Залоговый вход\", ук #: src/domain/synthetics/trade/utils/validation.ts msgid "The sellable cap for the pool GM: {0} [{1}] has been reached, as the tokens are reserved by traders. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "Достигнута продаваемая емкость для пула GM: {0} [{1}], поскольку токены зарезервированы трейдерами. Пожалуйста, выберите другой пул, уменьшите размер продажи или разделите вывод из нескольких пулов." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap TWAP: Swap tokens in evenly distributed parts over a specified time." -msgstr "" +msgstr "TWAP-обмен: Обмен токенов равномерно распределенными частями за указанное время." #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} short exceeded" @@ -396,17 +399,17 @@ msgstr "Максимальное {0} превышение шорта" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GM balance" -msgstr "" +msgstr "Недостаточный баланс GM" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token is a vault of automatically rebalanced GM tokens that accrue fees from leverage trading and swaps from the included markets. Backed by {0} and {1}." -msgstr "" +msgstr "Этот токен - хранилище автоматически ребалансируемых токенов GM, которые накапливают комиссии от торговли с левереджем и обменов из включенных рынков. Поддерживается {0} и {1}." #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool USD exceeded" -msgstr "" +msgstr "Максимальный USD пула превышен" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -414,33 +417,35 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price below mark price" -msgstr "" +msgstr "Лимитная цена ниже рыночной цены" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "sell" -msgstr "" +msgstr "продать" #: src/components/Exchange/SwapBox.jsx #: src/config/events.tsx msgid "Please migrate your positions to GMX V2." -msgstr "" +msgstr "Пожалуйста, мигрируйте свои позиции на GMX V2." +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "Позиции" #: src/domain/synthetics/trade/utils/validation.ts msgid "{0} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{0} не может быть отправлен на адреса смарт-контрактов. Выберите другой токен." #: src/domain/synthetics/markets/claimFundingFeesTxn.ts msgid "Funding Claimed" -msgstr "" +msgstr "Финансирование получено" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please enable <2>Express trading</2> under settings, which should offer a better experience." -msgstr "" +msgstr "Транзакция не удалась из-за ошибки RPC.<0/><1/>Пожалуйста, включите <2>экспресс-трейдинг</2> в настройках, что должно улучшить опыт." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code added!" @@ -448,15 +453,15 @@ msgstr "Реферальный код добавлен!" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELLABLE" -msgstr "" +msgstr "ПРОДАВАЕМО" #: src/pages/Dashboard/StatsCard.tsx msgid "Treasury" -msgstr "" +msgstr "Казна" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap {0} to {1} on 1inch" -msgstr "Обмен {0} на {1} на 1 дюйм" +msgstr "Обмен {0} на {1} на 1inch" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx @@ -464,24 +469,22 @@ msgstr "Обмен {0} на {1} на 1 дюйм" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "No pools matched." -msgstr "" - -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "" +msgstr "Нет подходящих пулов." #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "Ордера" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Increased {positionText}, +{0}" -msgstr "" +msgstr "Увеличена {positionText}, +{0}" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -489,27 +492,27 @@ msgid "Funding Fee" msgstr "Комиссия за финансирование" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "Недостаточная ликвидность в пуле рынка {0}. Выберите другой пул для этого рынка. Выбор другого пула откроет новую позицию, отличную от существующей.<0><1>Переключиться на пул рынка {1}</1>.</0>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" -msgstr "" +msgstr "Подтвердить лимитный ордер" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirm Withdraw" -msgstr "" +msgstr "Подтвердить вывод" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized PnL" -msgstr "" +msgstr "Реализованная PnL" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX V2 Data Analytics within Telegram" -msgstr "" +msgstr "Аналитика данных GMX V2 в Telegram" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer ETH from other networks to Arbitrum using any of the below options:" @@ -524,6 +527,7 @@ msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" msgstr "Неверный токен отТокен:: \"{0}\" кТокен: \"{toTokenAddress}\"" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" @@ -532,36 +536,36 @@ msgstr "Статистика" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Price Impact Rebates" -msgstr "" +msgstr "Получить ребейты за влияние на цену" #: src/pages/Stake/VesterDepositModal.tsx msgid "Max Capacity" -msgstr "" +msgstr "Максимальная емкость" #: src/domain/synthetics/orders/utils.tsx msgid "Market Swap" -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "История торгов" +msgstr "Рыночный обмен" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" -msgstr "" +msgstr "Больше" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." +msgstr "Поскольку залог вашей позиции в {symbol}, с начальной стоимостью выше размера короткой позиции {indexName}, стоимость залога увеличится для покрытия любой отрицательной PnL, поэтому цены ликвидации нет." + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" msgstr "" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{actionsCount, plural, one {Ордер} other {# Ордеров}}" #: src/config/bridging.tsx msgid "Buy APE on Arbitrum with <0>Camelot</0>." -msgstr "" +msgstr "Купить APE на Arbitrum с <0>Camelot</0>." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You will need to be on this page to accept the transfer, <0>click here</0> to copy the link to this page if needed." @@ -579,9 +583,13 @@ msgstr "скрыть" msgid "in liquidity" msgstr "используется для обеспечения ликвидности" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "" + #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" -msgstr "Цена на выходе" +msgstr "Цена выхода" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -590,17 +598,17 @@ msgstr "Введите Цену" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V2" -msgstr "" +msgstr "Ребейты на V2" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives are airdropped weekly." -msgstr "" +msgstr "Инсентивы рассылаются еженедельно." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "Acceptable Price Impact" -msgstr "" +msgstr "Допустимое влияние на цену" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add to Metamask" @@ -608,20 +616,20 @@ msgstr "Добавить в MetaMask" #: src/pages/Stake/VesterDepositModal.tsx msgid "Insufficient staked tokens" -msgstr "" +msgstr "Недостаточно застейканных токенов" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Telegram contact (optional)" -msgstr "" +msgstr "Контакт в Telegram (опционально)" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in {minutesText}{seconds}s." -msgstr "" +msgstr "Рыночный ордер можно отменить через {minutesText}{seconds}с." #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "providing liquidity" -msgstr "" +msgstr "обеспечение ликвидности" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Tap [Create Wallet] to start using your Web3 Wallet." @@ -629,23 +637,23 @@ msgstr "Нажмите [Создать кошелек], чтобы начать #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Plutus" -msgstr "" +msgstr "Plutus" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pairs Trading" -msgstr "" +msgstr "Торговля парами" #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX {versionName} {networkName} actions for all accounts." -msgstr "" +msgstr "Действия GMX {versionName} {networkName} для всех аккаунтов." #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel submitted" -msgstr "Отмена завершена" +msgstr "Отмена отправлена" #: src/components/Exchange/PositionSeller.jsx msgid "Please uncheck \"Keep Leverage\", or close a larger position amount." -msgstr "" +msgstr "Пожалуйста, снимите галочку с \"Сохранить левередж\" или закройте большую сумму позиции." #: src/components/Exchange/PositionDropdown.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -654,7 +662,7 @@ msgstr "Редактирование залога" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Лонг стоп-рынок: {0} короткую позицию, когда цена ниже триггерной цены." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -662,7 +670,11 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price above mark price" -msgstr "" +msgstr "Лимитная цена выше рыночной цены" + +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "Открытый Интерес (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" @@ -670,7 +682,7 @@ msgstr "Создать или импортировать Кошелек" #: src/pages/Stake/ClaimModal.tsx msgid "Stake esGMX Rewards" -msgstr "" +msgstr "Стейк вознаграждений esGMX" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks and Settings" @@ -678,63 +690,56 @@ msgstr "Сети и Настройки" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max network fee buffer precision is 0.01%" -msgstr "" +msgstr "Максимальная точность буфера сетевой комиссии 0.01%" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Max. Leverage Exceeded" -msgstr "" +msgstr "Максимальный левередж превышен" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" msgstr "Искать Токен" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeltaPrime" -msgstr "" +msgstr "DeltaPrime" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using Decentralized Exchange Aggregators:" -msgstr "" +msgstr "Купить GMX с помощью агрегаторов децентрализованных бирж:" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Min. Required Collateral" -msgstr "" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "" +msgstr "Минимальный требуемый залог" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" -msgstr "" +msgstr "Ранг" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average position size." -msgstr "" +msgstr "Средний размер позиции." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx msgid "{0} <0/><1> to </1>{1} <2/>" -msgstr "" +msgstr "{0} <0/><1> до </1>{1} <2/>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Market: {0} a short position at the current price." -msgstr "" +msgstr "{typeString} Шорт рынок: {0} короткую позицию по текущей цене." #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "Claim {totalUsd}" -msgstr "" +msgstr "Получить {totalUsd}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Swap" -msgstr "" +msgstr "Обмен Yield Yak" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Vaultka" -msgstr "" +msgstr "Vaultka" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -745,24 +750,24 @@ msgstr "РЫНОК" #: src/domain/synthetics/userFeedback/utils.ts msgid "What did you like the most about our service?" -msgstr "" +msgstr "Что вам больше всего понравилось в нашем сервисе?" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Paraswap" -msgstr "" +msgstr "Paraswap" #: src/components/TVChartContainer/constants.ts msgid "TP - Long Dec." -msgstr "" +msgstr "TP - Уменьшение лонга" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claimable Rebates" -msgstr "" +msgstr "Доступные ребейты" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount reached" -msgstr "" +msgstr "Достигнута максимальная сумма пула" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Market Orders" @@ -770,15 +775,15 @@ msgstr "Рыночные Ордера" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we address your concerns and improve your experience?" -msgstr "" +msgstr "Как мы можем решить ваши проблемы и улучшить ваш опыт?" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value locked takes into account:" -msgstr "" +msgstr "Общая заблокированная стоимость учитывает:" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending buy request" -msgstr "" +msgstr "Отправка запроса на покупку" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can check your claim history <0>here</0>." @@ -786,7 +791,7 @@ msgstr "Вы можете проверить историю своих обра #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable positive funding fees.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "Доступные положительные комиссии финансирования.<0/><1/>Они становятся доступными после модификации позиции путем увеличения или уменьшения, внесения или вывода залога или расчета комиссий с помощью кнопки \"Расчет\"." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -799,22 +804,24 @@ msgstr "Допустимая цена для ордера." #: src/components/TVChartContainer/DynamicLine.tsx msgid "The order could not be updated" -msgstr "" +msgstr "Ордер не удалось обновить" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Cross-chain one-click deposits into GM" -msgstr "" +msgstr "Кросс-чейн депозиты в один клик в GM" #: src/pages/Home/Home.tsx msgid "Open positions through a simple swap interface. Conveniently swap from any supported asset into the position of your choice." -msgstr "Открывайте позиции с помощью простого интерфейса обменник. Удобный обмен из любого поддерживаемого актива в выбранную вами позицию." +msgstr "Открывайте позиции с помощью простого интерфейса обмена. Удобно обменивайте любой поддерживаемый актив на выбранную позицию." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives Distribution History" -msgstr "" +msgstr "История распределения инсентивов" + +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "Нет совпадающих рынков" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" @@ -831,15 +838,15 @@ msgstr "{0} цена" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} buyable amount exceeded" -msgstr "" +msgstr "Максимальная сумма покупки {0} превышена" #: src/components/Glp/GlpSwap.jsx msgid "Sell submitted!" -msgstr "Продажа подтверждена!" +msgstr "Продажа отправлена!" #: src/components/Exchange/PositionSeller.jsx msgid "Closing..." -msgstr "" +msgstr "Закрытие..." #: src/components/Referrals/AddAffiliateCode.jsx msgid "Code already taken" @@ -847,31 +854,30 @@ msgstr "Код уже занят" #: src/components/TVChartContainer/constants.ts msgid "SL - Short Dec." -msgstr "" +msgstr "SL - Уменьшение шорта" #: src/components/SettingsModal/SettingsModal.tsx msgid "Slippage should be less than -5%" -msgstr "" +msgstr "Скольжение должно быть менее -5%" #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Acceptable Swap Impact" -msgstr "" +msgstr "Допустимое влияние на обмен" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "Оставьте свой Telegram, если вы согласны на быстрый контакт для обратной связи" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized PnL" -msgstr "" +msgstr "Нереализованная PnL" #: src/pages/Dashboard/OverviewCard.tsx msgid "This value may be higher on other websites due to the collateral of positions being included in the calculation." -msgstr "" +msgstr "Это значение может быть выше на других сайтах из-за включения залога позиций в расчет." #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/pages/Stake/GlpCard.tsx @@ -881,7 +887,7 @@ msgstr "Вознаграждения" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Liq. {0} {longOrShortText}" -msgstr "" +msgstr "Ликв. {0} {longOrShortText}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -905,36 +911,36 @@ msgstr "Страница Управления GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Money Market" -msgstr "" +msgstr "Децентрализованный денежный рынок" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Stop Price" -msgstr "" +msgstr "Стоп-цена" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "using GLV and GM tokens. Buying or staking GMX, or using referrals, is not supported at this time." -msgstr "" +msgstr "используя токены GLV и GM. Покупка или стейкинг GMX, или использование рефералов, в настоящее время не поддерживается." #: src/pages/AccountDashboard/HistoricalLists.tsx msgid "Positions ({positionsCount})" -msgstr "" +msgstr "Позиции ({positionsCount})" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Trade GMX</0>" -msgstr "" +msgstr "<0>Торговать GMX</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "As network fees have increased, an additional network fee is needed." -msgstr "" +msgstr "Поскольку сетевые комиссии увеличились, требуется дополнительная сетевая комиссия." #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited" -msgstr "" +msgstr "Внесено" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Limit: Swap tokens when the trigger price is reached." -msgstr "" +msgstr "Лимитный своп: Обменять токены при достижении триггерной цены." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP have been reserved for vesting." @@ -942,7 +948,7 @@ msgstr "{0} GLP были зарезервированы для вестинга. #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Selling {symbol}..." -msgstr "" +msgstr "Продажа {symbol}..." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -951,7 +957,7 @@ msgstr "Купить с {0}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Asset Management" -msgstr "" +msgstr "Управление активами" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding..." @@ -959,7 +965,7 @@ msgstr "Добавление..." #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX {VERSION_NAME} {networkName} actions for all accounts." -msgstr "" +msgstr "Действия GMX {VERSION_NAME} {networkName} для всех аккаунтов." #: src/components/Exchange/ConfirmationBox.jsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met" @@ -967,7 +973,7 @@ msgstr "Может не хватить ликвидности для выпол #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow <0>BTCUSD</0> price in real-time, along with other currency pair rates. The interactive charts offer advanced tools and a user-friendly interface for easier market analysis and decision-making." -msgstr "" +msgstr "GMX использует TradingView для предоставления реального времени графиков криптовалют, так что вы можете легко следить за ценой <0>BTCUSD</0> в реальном времени, а также за курсами других валютных пар. Интерактивные графики предлагают продвинутые инструменты и удобный интерфейс для облегчения анализа рынка и принятия решений." #: src/components/Glp/SwapErrorModal.tsx msgid "Swap on 1inch" @@ -979,11 +985,11 @@ msgstr "Открыть {0} в Coingecko" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buy {operationTokenSymbol}" -msgstr "" +msgstr "Купить {operationTokenSymbol}" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy GM: {0}" -msgstr "" +msgstr "Купить GM: {0}" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx @@ -993,35 +999,35 @@ msgstr "Рыночная капитализация" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settled" -msgstr "" +msgstr "{positionName} Комиссии рассчитаны" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average leverage used." -msgstr "" +msgstr "Средний используемый левередж." #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/TotalRewardsCard.tsx msgid "Escrowed GMX" -msgstr "" +msgstr "Эскроу GMX" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX for Liquidity Providers. For security reasons, we won't contact you first. Please send the message \"I’m a Liquidity Provider\" to our official telegram account:" -msgstr "" +msgstr "Мы хотим ваши insights для улучшения GMX для провайдеров ликвидности. По соображениям безопасности мы не свяжемся с вами первыми. Пожалуйста, отправьте сообщение \"I’m a Liquidity Provider\" на наш официальный аккаунт в Telegram:" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Insufficient Liquidity" -msgstr "" +msgstr "Недостаточная ликвидность" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "The max network fee is overestimated, including by the buffer set under settings. Upon execution, any excess network fee is sent back to your account." -msgstr "" +msgstr "Максимальная сетевая комиссия переоценена, включая буфер в настройках. При исполнении избыточная сетевая комиссия возвращается на ваш аккаунт." #: src/components/Synthetics/GmList/GmListItem.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "TVL (Supply)" -msgstr "" +msgstr "TVL (Поставка)" #: src/components/ModalViews/RedirectModal.tsx msgid "Alternative links can be found in the <0>docs</0>.<1/><2/>By clicking Agree you accept the <3>T&Cs</3> and <4>Referral T&Cs</4>.<5/><6/>" @@ -1029,7 +1035,7 @@ msgstr "Альтернативные ссылки можно найти в <0>д #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "All Time" -msgstr "" +msgstr "Все время" #: src/components/Referrals/referralsHelper.js msgid "The referral code can't be more than {MAX_REFERRAL_CODE_LENGTH} characters." @@ -1048,61 +1054,61 @@ msgstr "Фундаментальные показатели GMX" msgid "Referral Code" msgstr "Реферальный Код" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" -msgstr "" +msgstr "Графики от TradingView" #: src/pages/Stake/TotalRewardsCard.tsx msgid "GMX Staked Rewards" -msgstr "" +msgstr "Застейканные вознаграждения GMX" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Staked Tokens" -msgstr "" +msgstr "Застейканные токены" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Beefy" -msgstr "" +msgstr "Beefy" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake completed!" -msgstr "" +msgstr "Снятие стейкинга завершено!" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/MinReceiveRow.tsx msgid "Min. Receive" -msgstr "Мин. Приём" +msgstr "Мин. Получить" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Estimated Fee Refund" -msgstr "Прогнозируемый Возврат Сбора" +msgstr "Прогнозируемый возврат комиссии" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Swaps" -msgstr "" +msgstr "Обмены GMX" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivating..." -msgstr "" +msgstr "Деактивация..." #: src/components/Header/HomeHeaderLinks.tsx msgid "Protocol" -msgstr "" +msgstr "Протокол" #: src/pages/Dashboard/OverviewCard.tsx msgid "Overview" -msgstr "Аннотация" +msgstr "Обзор" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Allow all my tokens to be transferred to a new account" -msgstr "" +msgstr "Разрешить перевод всех моих токенов на новый аккаунт" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche Max. APY: {0}" -msgstr "" +msgstr "Макс. APY на Avalanche: {0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrdersList.jsx @@ -1120,19 +1126,19 @@ msgstr "Залог" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Market" -msgstr "" +msgstr "Отмена стоп-рынка" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit" -msgstr "" +msgstr "Исполнить лимит" #: src/components/AprInfo/AprInfo.tsx msgid "Base APY" -msgstr "" +msgstr "Базовая APY" #: src/components/TokenCard/TokenCard.tsx msgid "GMX V1 markets are disabled. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "Рынки GMX V1 отключены. GLP постепенно выводится и больше не поддерживает рынки GMX V1." #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -1150,26 +1156,32 @@ msgstr "Продать GLP" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." -msgstr "" +msgstr "Поскольку залог вашей позиции в {symbol}, с начальной стоимостью выше размера длинной позиции {indexName}, стоимость залога покроет любую отрицательную PnL, поэтому цены ликвидации нет." + +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "CSV" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." -msgstr "" +msgstr "Ликв. шорта" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Time limit expired." -msgstr "" +msgstr "Торговля в один клик отключена. Истекло время." #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {composition} as per the composition displayed." -msgstr "" +msgstr "Этот токен автоматически накапливает комиссии от торговли с левереджем и обменов для рынка {0}. Он также подвержен {composition} в соответствии с отображаемым составом." #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Buy Fee" -msgstr "" +msgstr "Комиссия за покупку" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "Токены" @@ -1179,69 +1191,65 @@ msgstr "Запрос на вывод" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "1inch" -msgstr "" - -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "" +msgstr "1inch" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" -msgstr "" +msgstr "Скопировано" #: src/components/Exchange/PositionEditor.jsx msgid "Requested deposit of {0} {1} into {2} {longOrShortText}." -msgstr "" +msgstr "Запрошен депозит {0} {1} в {2} {longOrShortText}." #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid TWAP number of parts value" -msgstr "" +msgstr "Недопустимое значение количества частей TWAP" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid network fee buffer value" -msgstr "" +msgstr "Недопустимое значение буфера сетевой комиссии" #: src/components/Exchange/TradeHistory.jsx msgid "Request deposit into {0} {longOrShortText}" -msgstr "Запросить пополнение счета на {0} {longOrShortText}\"" +msgstr "Запросить пополнение счета на {0} {longOrShortText}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "0x" -msgstr "" +msgstr "0x" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "FUNDING FEE" -msgstr "" +msgstr "КОМИССИЯ ЗА ФИНАНСИРОВАНИЕ" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Markets" -msgstr "" +msgstr "Рынки" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Real-time rants about GMX Trades" -msgstr "" +msgstr "Ранты в реальном времени о торгах GMX" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "The total realized and unrealized profit and loss for the period, considering price impact and fees but excluding swap fees." -msgstr "" +msgstr "Общая реализованная и нереализованная прибыль и убыток за период, учитывая влияние на цену и комиссии, но исключая комиссии обмена." #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V2" -msgstr "" +msgstr "Объем на V2" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show less" -msgstr "" +msgstr "Показать меньше" #: src/pages/Stake/Vesting.tsx msgid "Vest" -msgstr "" +msgstr "Вестинг" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in the GLP pools." -msgstr "" +msgstr "Общая стоимость токенов в пулах GLP." #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Select pool" @@ -1258,7 +1266,7 @@ msgstr "Годовая Процентная Ставка" #: src/pages/NftWallet/NftWallet.jsx msgid "Tranferring..." -msgstr "Переводим..." +msgstr "Перевод..." #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx @@ -1281,14 +1289,14 @@ msgstr "Обмен активен: {0}, выполнен: {1}, отменен: { #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Buy token on:" -msgstr "" +msgstr "Купить токен на:" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Price Impact" -msgstr "" +msgstr "Реализованное влияние на цену" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit Swap" @@ -1296,11 +1304,15 @@ msgstr "Лимитный обмен не удался" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Liq. {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "Ликв. {longOrShortText} - {marketIndexName}" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "Действия" #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." -msgstr "Лонгин..." +msgstr "Открытие лонга..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Rebates" @@ -1308,11 +1320,11 @@ msgstr "Всего Ребайтов" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {1} and {2} as per the composition displayed." -msgstr "" +msgstr "Этот токен автоматически накапливает комиссии от торговли с левереджем и обменов для рынка {0}. Он также подвержен {1} и {2} в соответствии с отображаемым составом." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min order: {0}" -msgstr "" +msgstr "Мин. ордер: {0}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -1321,44 +1333,44 @@ msgstr "Кошелёк не подключен" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "TWAP Swap" -msgstr "" +msgstr "TWAP-обмен" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GM is the liquidity provider token for GMX V2 markets. Accrues 63% of the V2 markets generated fees." -msgstr "" +msgstr "GM - токен провайдера ликвидности для рынков GMX V2. Накапливает 63% комиссий, генерируемых рынками V2." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider adding a buffer of 0.30% to it so the order is more likely to be processed." -msgstr "" +msgstr "Текущее влияние на цену {0}. Рассмотрите добавление буфера 0.30%, чтобы ордер был более вероятно обработан." #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Hide error" -msgstr "" +msgstr "Скрыть ошибку" #: src/components/Referrals/TradersStats.tsx msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." -msgstr "" +msgstr "Владелец этого реферального кода установил кастомную скидку {currentTierDiscount}% вместо стандартной {0}% для уровня {1}." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "Ваш кошелек, ваши ключи. Вы подписываете каждую транзакцию в цепи с помощью собственного RPC, обычно предоставляемого вашим кошельком. Оплата газа в ETH." #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" -msgstr "" +msgstr "Остаток позиции ниже 10 USD" #: src/config/bridging.tsx msgid "Mint tBTC using BTC with <0>Threshold</0>." -msgstr "" +msgstr "Минт tBTC с использованием BTC с <0>Threshold</0>." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Price Impact" -msgstr "" +msgstr "Влияние на цену обмена" #: src/domain/synthetics/userFeedback/utils.ts msgid "What issues did you encounter that led to your rating?" -msgstr "" +msgstr "Какие проблемы вы встретили, приведшие к вашей оценке?" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Address" @@ -1366,41 +1378,41 @@ msgstr "Адрес NFT" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancelled." -msgstr "" +msgstr "{orderText} отменен." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} Пулы GLV <0>стимулированы{sparkle}.</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Set Max Leverage" -msgstr "" +msgstr "Установить максимальный левередж" #: src/components/Exchange/PositionSeller.jsx msgid "Insufficient Available Liquidity to swap to {0}:" -msgstr "" +msgstr "Недостаточная доступная ликвидность для обмена на {0}:" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Created At" -msgstr "" +msgstr "Создано" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Symbiosis" -msgstr "" +msgstr "Symbiosis" #: src/components/TokenSelector/TokenSelector.tsx msgid "No tokens matched." -msgstr "" +msgstr "Нет подходящих токенов." #: src/components/Exchange/TradeHistory.jsx msgid "Withdraw {0} USD from {1}{longOrShortText}" -msgstr "" +msgstr "Вывод {0} USD из {1}{longOrShortText}" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "{orderTypeLabel} {positionText}, -{0}" -msgstr "" +msgstr "{orderTypeLabel} {positionText}, -{0}" #: src/pages/PageNotFound/PageNotFound.jsx #: src/pages/PageNotFound/PageNotFound.jsx @@ -1415,9 +1427,14 @@ msgstr "Телеграмм-бот для обновления позиции GMX msgid "account" msgstr "счёт" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" +msgstr "" + #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Keep leverage at {0}" -msgstr "" +msgstr "Сохранить левередж на {0}" #: src/components/Exchange/SwapBox.jsx msgid "If you have an existing position, the position will be closed at {0} USD.<0/><1/>This exit price will change with the price of the asset.<2/><3/><4>Read more</4>." @@ -1425,7 +1442,7 @@ msgstr "Если у вас есть существующая позиция, п #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAIL. LIQ." -msgstr "" +msgstr "ДОСТ. ЛИКВ." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer Submitted" @@ -1433,34 +1450,34 @@ msgstr "Перевод Подтверждён" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Action limit exceeded." -msgstr "" +msgstr "Торговля в один клик отключена. Превышен лимит действий." #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Shift GM" -msgstr "" +msgstr "Сдвиг GM" #: src/components/Exchange/PositionEditor.jsx msgid "Requested withdrawal of {0} USD from {1} {longOrShortText}." -msgstr "" +msgstr "Запрошен вывод {0} USD из {1} {longOrShortText}." #: src/pages/Exchange/Exchange.tsx msgid "Could not increase {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." -msgstr "Не удалось увеличить {tokenSymbol} {longOrShortText} в пределах допустимого уровня скольжения, вы можете настроить допустимое скольжение в настройках в правом верхнем углу страницы." +msgstr "Не удалось увеличить {tokenSymbol} {longOrShortText} в пределах допустимого уровня скольжения, вы можете настроить допустимое скольжение в настройках в правом верхнем углу страницы." #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swapped {0} for {1}" -msgstr "" +msgstr "Обменяно {0} на {1}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Tier {0} ({currentRebatePercentage}% rebate)" -msgstr "" +msgstr "Уровень {0} ({currentRebatePercentage}% ребейта)" #: src/components/NotifyModal/NotifyModal.tsx msgid "Discover GMX Alerts" -msgstr "" +msgstr "Откройте GMX Alerts" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -1469,7 +1486,7 @@ msgstr "Цена на Avalanche" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order creation failed." -msgstr "Обменный Ордер не создан" +msgstr "Создание обменного ордера не удалось" #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx @@ -1478,15 +1495,15 @@ msgstr "Позиции на графике" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Unknown Order" -msgstr "" +msgstr "Неизвестный ордер" #: src/components/Exchange/ConfirmationBox.jsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity" -msgstr "" +msgstr "Ордер исполнится только если соблюдены ценовые условия и есть достаточная ликвидность" #: src/components/Exchange/FeesTooltip.tsx msgid "Swap Fee" -msgstr "" +msgstr "Комиссия обмена" #: src/components/Glp/GlpSwap.jsx msgid "GLP sell disabled, pending {0} upgrade" @@ -1494,7 +1511,7 @@ msgstr "Продажа GLP приостановлена, ожидается {0} #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient receive token liquidity" -msgstr "" +msgstr "Недостаточная ликвидность токена получения" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements and Updates" @@ -1513,34 +1530,34 @@ msgstr "комиссия" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche Fuji" -msgstr "" +msgstr "V2 Avalanche Fuji" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order cancelled" -msgstr "" +msgstr "Ордер сдвига отменен" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order executed" -msgstr "" +msgstr "Ордер исполнен" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Select Positions" -msgstr "" +msgstr "Выбрать позиции" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "Вы будете в лонге {indexSymbol} из вашей длинной позиции, одновременно в лонге {collateralSymbol} из вашего залога {collateralSymbol}. Цена ликвидации будет варьироваться в зависимости от цены {collateralSymbol}." #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Failed to update order(s)" -msgstr "" +msgstr "Не удалось обновить ордер(а)" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche" -msgstr "" +msgstr "V2 Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Decrease" @@ -1548,7 +1565,7 @@ msgstr "Рыночное уменьшение не удалось" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Full market" -msgstr "" +msgstr "Полный рынок" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Wallet" @@ -1560,7 +1577,7 @@ msgstr "Страница Голосования по предложениям GM #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy ETH directly on <0>Arbitrum</0> using these options:" -msgstr "" +msgstr "Вы можете купить ETH напрямую на <0>Arbitrum</0> с помощью этих опций:" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -1591,22 +1608,22 @@ msgstr "Рыночная цена для ордера." #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionList/PositionList.tsx msgid "Net Value" -msgstr "Чистая Прибыль" +msgstr "Чистая Стоимость" #: src/components/MarketSelector/MarketSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterBase.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Search Market" -msgstr "" +msgstr "Искать Рынок" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the current price impact and set allowed slippage. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "Допустимая цена ордера включает текущее влияние на цену и установленное допустимое скольжение. Цена исполнения должна соответствовать этому условию для исполнения ордера." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be higher than the limit price." -msgstr "" +msgstr "Как только рыночная цена достигнет лимитной цены, ордер попытается исполниться, гарантируя допустимую цену, которая включает установленное допустимое влияние на цену. Обратите внимание, что если влияние на цену отрицательное, рыночная цена может потребоваться выше лимитной цены." #: src/components/Synthetics/Claims/ClaimsHistory.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx @@ -1616,62 +1633,71 @@ msgstr "ID транзакции" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx msgid "Borrow Fee / Day" -msgstr "Комиссия за пользование кредитом / день" +msgstr "Комиссия за заимствование / день" #: src/components/SettingsModal/SettingsModal.tsx msgid "Number of parts must be between {MIN_TWAP_NUMBER_OF_PARTS} and {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Количество частей должно быть между {MIN_TWAP_NUMBER_OF_PARTS} и {MAX_TWAP_NUMBER_OF_PARTS}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Chinese)" -msgstr "" +msgstr "GMX (Китайский)" + +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "Поиск" #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" -msgstr "Цена ниже Маркированной Цены" +msgstr "Цена ниже Рыночной Цены" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GMX Vault" -msgstr "" +msgstr "Вывод из хранилища GMX" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal submitted." -msgstr "" +msgstr "Вывод отправлен." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Referral Discount" -msgstr "" +msgstr "Реферальная скидка" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee or a borrow fee." -msgstr "" +msgstr "Позиции {longOrShort} не платят комиссию финансирования или заимствования." #: src/pages/Dashboard/OverviewCard.tsx msgid "Fees for the past" -msgstr "" +msgstr "Комиссии за прошлое" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizations" -msgstr "" +msgstr "Оптимизации доходности" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive (Approximate)" -msgstr "" +msgstr "Получить (примерно)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "No swap path found" -msgstr "" +msgstr "Путь обмена не найден" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "Реализованный PnL" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "Комбинированные стоп-лоссы на максимуме (100%). Уменьшите существующие значения, чтобы добавить больше ордеров." #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "4-18 Places" -msgstr "" +msgstr "4-18 Мест" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "MARKETS" @@ -1680,15 +1706,15 @@ msgstr "РЫНКИ" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Max {0}" -msgstr "" +msgstr "Макс {0}" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {marketName} market. It is also exposed to {exposedToLabel} as per the composition displayed." -msgstr "" +msgstr "Этот токен автоматически накапливает комиссии от торговли с левереджем и обменов для рынка {marketName}. Он также подвержен {exposedToLabel} в соответствии с отображаемым составом." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Withdrew {0} from {positionText}" -msgstr "" +msgstr "Выведено {0} из {positionText}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Create Order" @@ -1700,7 +1726,7 @@ msgstr "Утилизация" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {0} for {1}" -msgstr "" +msgstr "{orderTypeText} {0} за {1}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GLP Vesting Vault" @@ -1708,19 +1734,19 @@ msgstr "Отправитель вывел все токены из Хранил #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Profit Fee" -msgstr "" +msgstr "Высокая комиссия обмена прибыли" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "WARNING: This position has a low amount of collateral after deducting fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "" +msgstr "ВНИМАНИЕ: Эта позиция имеет низкую сумму залога после вычета комиссий, внесите больше залога, чтобы снизить риск ликвидации позиции." #: src/components/Exchange/SwapBox.jsx msgid "Max {0} long capacity" -msgstr "Максимальная {0} вместимость лонга" +msgstr "Максимальная емкость лонга {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "" +msgstr "Введите цену" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Account" @@ -1728,7 +1754,7 @@ msgstr "Учётная запись" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available for wrapping or unwrapping native token {0}." -msgstr "" +msgstr "Экспресс-трейдинг недоступен для упаковки или распаковки нативного токена {0}." #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1736,20 +1762,20 @@ msgstr "" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Close Fee" -msgstr "" +msgstr "Комиссия за закрытие" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Airdrop" -msgstr "" +msgstr "Airdrop V1" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX" -msgstr "" +msgstr "GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Uniswap or directly on GMX (make sure to select Arbitrum):" -msgstr "" +msgstr "Купить GMX на Uniswap или напрямую на GMX (убедитесь, что выбрали Arbitrum):" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Close to execution price" @@ -1758,22 +1784,21 @@ msgstr "Близко к цене исполнения" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." -msgstr "" +msgstr "Экспресс и торговля в один клик недоступны из-за недостаточного баланса газа." -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "" +#~ msgid "Global Leaderboard" +#~ msgstr "Глобальная таблица лидеров" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" -msgstr "" +msgstr "Мин. размер на часть: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above liq. price" -msgstr "" +msgstr "Триггерная цена выше цены ликв." #: src/pages/Home/Home.tsx msgid "Simple Swaps" @@ -1782,25 +1807,25 @@ msgstr "Простые Обмены" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "No results found" -msgstr "" +msgstr "Результаты не найдены" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Pair" -msgstr "" +msgstr "Пара" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Synthetics/SwapCard/SwapCard.tsx msgid "Max {0} out" -msgstr "Максимальный {0} выход" +msgstr "Макс {0} выход" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing shorts or<1/>decreasing longs for this size." -msgstr "" +msgstr "Нет влияния на цену. Есть единая<0/>цена исполнения для увеличения шортов или<1/>уменьшения лонгов для этого размера." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Option-based Vaults" -msgstr "" +msgstr "Хранилища на основе опций" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -1813,11 +1838,11 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Mark" -msgstr "" +msgstr "Марк" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage at {keepLeverageAtValue}" -msgstr "" +msgstr "Сохранить левередж на {keepLeverageAtValue}" #: src/pages/Dashboard/GmxCard.tsx msgid "not staked" @@ -1825,7 +1850,7 @@ msgstr "без стейкинга" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 2" -msgstr "" +msgstr "Layer 2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -1835,19 +1860,20 @@ msgstr "История Распределения Рибейтов" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Negative Funding Fee" -msgstr "" +msgstr "Накопленная отрицательная комиссия финансирования" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit not checked" msgstr "Неустойка за непроверенную прибыль" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" msgstr "Купить GM" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of close fee" -msgstr "" +msgstr "от комиссии закрытия" #: src/components/Exchange/TradeHistory.jsx msgid "Increase {0} {longOrShortText}, +{1} USD, {2} Price: {3} USD" @@ -1859,11 +1885,11 @@ msgstr "Адрес токена esGMX называется {esGmxIouAddress}." #: src/components/NotifyModal/NotifyModal.tsx msgid "GMX Alerts" -msgstr "" +msgstr "GMX Alerts" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Show details" -msgstr "" +msgstr "Показать детали" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -1872,7 +1898,7 @@ msgstr "Чтобы уменьшить комиссию, выберите дру #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be lower than the limit price." -msgstr "" +msgstr "Как только рыночная цена достигнет лимитной цены, ордер попытается исполниться, гарантируя допустимую цену, которая включает установленное допустимое влияние на цену. Обратите внимание, что если влияние на цену отрицательное, рыночная цена может потребоваться ниже лимитной цены." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy {0}" @@ -1881,38 +1907,38 @@ msgstr "Купить {0}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "USD Value may not be accurate since the data does not contain prices for {0}" -msgstr "" +msgstr "Стоимость USD может быть неточной, поскольку данные не содержат цены для {0}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Blueberry Club" -msgstr "" +msgstr "GMX Blueberry Club" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Cumulative PnL" -msgstr "" +msgstr "Кумулятивная PnL" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum Max. APY:" -msgstr "" +msgstr "Макс. APY на Arbitrum:" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity for your Account:" -msgstr "" +msgstr "Ёмкость хранилища для вашего аккаунта:" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" -msgstr "" +msgstr "{0, plural, one {Отменить ордер} other {Отменить # ордеров}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" -msgstr "" +msgstr "Показывать PnL после комиссий" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol risk explorer and stats" -msgstr "" +msgstr "Исследователь рисков протокола и статистика" #: src/components/Exchange/PositionShareCard.tsx msgid "Generating shareable image..." @@ -1932,11 +1958,11 @@ msgstr "Комиссия за Пользование Кредитом" #: src/components/Glp/GlpSwap.jsx msgid "Buy submitted." -msgstr "Покупка подано." +msgstr "Покупка отправлена." #: src/pages/Stake/Stake.tsx msgid "Incentives & Prizes" -msgstr "" +msgstr "Инсентивы и призы" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you sell GLP for. <0/>Enter the amount of GLP you want to redeem in the order form, then check here to compare fees." @@ -1944,12 +1970,13 @@ msgstr "Комиссионные могут отличаться в зависи #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{txnTypeText} {0} order for" -msgstr "" +msgstr "{txnTypeText} {0} ордер за" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." -msgstr "" +msgstr "Стоимость комиссий в USD рассчитывается на момент их получения и не включает инсентивы." +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1959,7 +1986,7 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max" -msgstr "" +msgstr "Макс" #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -1969,32 +1996,33 @@ msgstr "Проверка кода..." #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" -msgstr "" +msgstr "Пулы GM" #: src/components/Exchange/SwapBox.jsx msgid "There is a \"Close\" button on each position row, clicking it will display the option to close positions via market orders." -msgstr "" +msgstr "На каждой строке позиции есть кнопка \"Закрыть\", нажав на нее, отобразится опция закрытия позиций через рыночные ордера." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity." -msgstr "" +msgstr "Ордер исполнится только если соблюдены ценовые условия и есть достаточная ликвидность." #: src/pages/Referrals/Referrals.tsx msgid "Affiliates" -msgstr "" +msgstr "Аффилиаты" #: src/pages/Stake/Vesting.tsx msgid "Convert esGMX tokens to GMX tokens.<0/>Please read the <1>vesting details</1> before using the vaults." -msgstr "" +msgstr "Конвертировать токены esGMX в GMX.<0/>Пожалуйста, прочитайте <1>детали вестинга</1> перед использованием хранилищ." #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express" -msgstr "" +msgstr "Попробовать экспресс" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to deactivate" -msgstr "" +msgstr "Не удалось деактивировать" #: src/lib/legacy.ts msgid "No open position, order cannot be executed unless a position is opened" @@ -2003,19 +2031,19 @@ msgstr "Нет открытой позиции, ордер не может бы #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "Short Positions" -msgstr "Позиция Шорта" +msgstr "Позиции Шорта" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buying {symbol}..." -msgstr "" +msgstr "Покупка {symbol}..." #: src/components/Exchange/TradeHistory.jsx msgid "Could not increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}  USD" -msgstr "" +msgstr "Не удалось увеличить {0} {longOrShortText}, +{1} USD, Допустимая цена: {2} USD" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX on {chainName}" -msgstr "" +msgstr "Купить GMX на {chainName}" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2039,8 +2067,9 @@ msgstr "Размер" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "Мы ценим ваш опыт и insights и приглашаем вас участвовать в анонимном чате один на один." +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2059,7 +2088,7 @@ msgstr "Подключить Кошелек" #: src/components/Exchange/OrdersToa.jsx msgid "Enabling Orders..." -msgstr "Создание Ордеров..." +msgstr "Включение Ордеров..." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Avalanche" @@ -2075,19 +2104,15 @@ msgstr "Запрошено увеличение {tokenSymbol} {longOrShortText} #: src/pages/Home/Home.tsx msgid "Enter and exit positions with minimal spread and low price impact. Get the optimal price without incurring additional costs." -msgstr "" +msgstr "Входите и выходите из позиций с минимальным спредом и низким влиянием на цену. Получайте оптимальную цену без дополнительных затрат." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b trading incentives" -msgstr "" +msgstr "Инсентивы торговли STIP.b" #: src/components/Exchange/ConfirmationBox.jsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "" +msgstr "Вы можете редактировать дефолтное Допустимое Скольжение в меню настроек в правом верхнем углу страницы.<0/><1/>Обратите внимание, что низкое допустимое скольжение, например, менее {0}, может привести к неудачным ордерам, если цены волатильны." #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." @@ -2099,15 +2124,15 @@ msgstr "Вы получите не менее {0} {1}, если этот орд #: src/components/Exchange/SwapBox.jsx msgid "Limit order creation failed." -msgstr "Не удалось создать лимитный ордер." +msgstr "Создание лимитного ордера не удалось." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics" -msgstr "" +msgstr "Dune Analytics" #: src/domain/synthetics/trade/utils/validation.ts msgid "There isn't enough GM: {0} [{1}] liquidity in GLV to fulfill your sell request. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "Недостаточно ликвидности GM: {0} [{1}] в GLV для выполнения вашего запроса на продажу. Пожалуйста, выберите другой пул, уменьшите размер продажи или разделите вывод из нескольких пулов." #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -2116,16 +2141,16 @@ msgstr "Одобрение {0}..." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Deposited {0} into {positionText}" -msgstr "" +msgstr "Внесено {0} в {positionText}" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Ваш кошелек, ваши ключи. GMX исполняет транзакции за вас без индивидуальной подписи, предоставляя seamless опыт как на CEX. Торги используют премиум RPC, спонсируемые GMX, для надежности даже при перегрузке сети. Оплата газа в USDC или WETH." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Funding Fees" -msgstr "" +msgstr "Получить комиссии финансирования" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates are airdropped weekly." @@ -2133,7 +2158,7 @@ msgstr "Рибейты Рассылаются Еженедельно." #: src/components/SettingsModal/SettingsModal.tsx msgid "Display Settings" -msgstr "" +msgstr "Настройки отображения" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "Total:" @@ -2145,20 +2170,20 @@ msgstr "{0} Одобрено!" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to STBTC</0> to use {1} as collateral." -msgstr "" +msgstr "Нет пути обмена. <0>Обменяйте {0} на STBTC</0>, чтобы использовать {1} как залог." #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Provide liquidity</0> and earn {gmxMarketApyDataText} APY" -msgstr "" +msgstr "<0>Обеспечьте ликвидность</0> и заработайте {gmxMarketApyDataText} APY" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Address" -msgstr "" +msgstr "Адрес" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "" +#~ msgid "Winner:" +#~ msgstr "Победитель:" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" @@ -2167,15 +2192,15 @@ msgstr "Общий Объем Торгов" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx msgid "Collateral Spread" -msgstr "" +msgstr "Спред залога" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing limit order with {symbol} as collateral. <0>Switch to {symbol} collateral</0>." -msgstr "" +msgstr "У вас есть существующий лимитный ордер с {symbol} как залогом. <0>Переключиться на залог {symbol}</0>." #: src/components/Header/Header.tsx msgid "Trade on GMX V2 in Arbitrum and win 280,000 ARB (> $500k) in prizes in <0>two weekly</0> competitions. Live from March 13th to 27th." -msgstr "" +msgstr "Торгуйте на GMX V2 в Arbitrum и выиграйте 280,000 ARB (> $500k) в призах в <0>двух еженедельных</0> соревнованиях. Живо с 13 по 27 марта." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Index" @@ -2192,23 +2217,23 @@ msgstr "Покупка GLP приостановлена, ожидается {0} #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" -msgstr "" +msgstr "<0>Ошибка отправки ордера.</0><1/><2>Адрес подписанта не соответствует адресу получателя.</2><3/><4>Пожалуйста, перезагрузите страницу и попробуйте снова.</4>" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" -msgstr "" +msgstr "Режим торговли" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please try changing the RPC url in your wallet settings with the help of <2>chainlist.org</2>.<3/><4/><5>Read more</5>." -msgstr "" +msgstr "Транзакция не удалась из-за ошибки RPC.<0/><1/>Пожалуйста, попробуйте изменить URL RPC в настройках вашего кошелька с помощью <2>chainlist.org</2>.<3/><4/><5>Подробнее</5>." #: src/components/Exchange/PositionSeller.jsx msgid "You have an active order to decrease {longOrShortText} {sizeInToken} {0} (${1}) at {prefix} {2}" -msgstr "" +msgstr "У вас есть активный ордер на уменьшение {longOrShortText} {sizeInToken} {0} (${1}) на {prefix} {2}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} sellable amount exceeded" -msgstr "" +msgstr "Максимальная сумма продажи {0} превышена" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -2221,7 +2246,7 @@ msgstr "Перевод NFT" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit failed." -msgstr "" +msgstr "Включение депозита не удалось." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GMX tokens before" @@ -2229,7 +2254,7 @@ msgstr "Получатель не размещал токены GLP ранее" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX Swaps monitoring" -msgstr "" +msgstr "Телеграмм-бот для мониторинга обменов GMX" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "LIQUIDITY" @@ -2250,7 +2275,7 @@ msgstr "Обмены" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Allow {0} to be spent" -msgstr "" +msgstr "Разрешить тратить {0}" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order created!" @@ -2258,21 +2283,21 @@ msgstr "Создан Обменный Ордер" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "POSITION" -msgstr "" +msgstr "ПОЗИЦИЯ" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Trading Volume" -msgstr "" +msgstr "Объем торговли" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing limit order in the {0} market pool but it lacks liquidity for this order." -msgstr "" +msgstr "У вас есть существующий лимитный ордер в пуле рынка {0}, но ему не хватает ликвидности для этого ордера." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Reserved for Vesting" -msgstr "" +msgstr "Зарезервировано для вестинга" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -2283,7 +2308,7 @@ msgstr "Обновление" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DODO" -msgstr "" +msgstr "DODO" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Your transfer has been initiated." @@ -2291,35 +2316,40 @@ msgstr "Ваш перевод был начат." #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Estimated annualized fees generated by trading activity (open, close, borrow, liquidations, swaps) over the selected period. Does not include backing token price changes, trading PnL, or funding fees.<0/><1/>For detailed stats and comparisons, see the <2>GMX V2 LP Dashboard</2>." -msgstr "" +msgstr "Оценочные годовые комиссии, генерируемые торговой активностью (открытие, закрытие, заимствование, ликвидации, обмены) за выбранный период. Не включает изменения цены базовых токенов, PnL торговли или комиссии финансирования.<0/><1/>Для подробной статистики и сравнений см. <2>Панель GMX V2 LP</2>." #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Risk Alerts" -msgstr "" +msgstr "Оповещения о риске ликвидации" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settling" -msgstr "" +msgstr "{positionName} Расчет комиссий" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" -msgstr "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" +msgstr "{existingTriggerOrderLength, plural, one {У вас есть активный триггерный ордер, который может повлиять на эту позицию.} other {У вас есть # активных триггерных ордеров, которые могут повлиять на эту позицию.}}" + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "<0>{0}</0> токенов GMX можно запросить, используйте опции в разделе Общих вознаграждений, чтобы их запросить." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" -msgstr "" +msgstr "Сдвиг ордера выполнен" #: src/pages/Stake/VesterDepositModal.tsx msgid "You need a total of at least {0} {stakeTokenLabel} to vest {1} esGMX." -msgstr "" +msgstr "Вам нужно минимум {0} {stakeTokenLabel} для вестинга {1} esGMX." #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} USDG for{1} {2}" -msgstr "" +msgstr "Обменять {0} USDG на{1} {2}" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "{0} will be swapped to {1} on order execution." -msgstr "" +msgstr "{0} будет обменян на {1} при выполнении ордера." #. Button to clear the filter selection #: src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx @@ -2328,24 +2358,24 @@ msgstr "Очистить выбор" #: src/domain/synthetics/orders/utils.tsx msgid "The order will not be executed as its trigger price is beyond the position's liquidation price." -msgstr "" +msgstr "Ордер не будет выполнен, поскольку его триггерная цена выходит за пределы цены ликвидации позиции." #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Failed to cancel {ordersText}" -msgstr "" +msgstr "Не удалось отменить {ordersText}" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Шорт Стоп-Маркет: {0} шорт позицию, когда цена ниже триггерной цены." #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." msgstr "Цена отметки изменилась, подумайте об увеличении Допустимого Скольжения, нажав на значок \"...\" рядом с вашим адресом." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" -msgstr "" +msgstr "Допустимое Скольжение по умолчанию" #. Total Value Locked #: src/components/Synthetics/MarketsList/MarketsList.tsx @@ -2355,7 +2385,7 @@ msgstr "TVL" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Shift Fee" -msgstr "" +msgstr "Комиссия за Сдвиг" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/OverviewCard.tsx @@ -2365,19 +2395,19 @@ msgstr "GLP Пул" #: src/domain/legacy.ts #: src/pages/Exchange/Exchange.tsx msgid "Cancel submitted." -msgstr "Отмена завершена." +msgstr "Отмена отправлена." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Traderjoe:" -msgstr "" +msgstr "Купить GMX на Traderjoe:" #: src/pages/Actions/ActionsRouter.tsx msgid "V1 is not supported on {chainName}. Please switch to Arbitrum to use V1." -msgstr "" +msgstr "V1 не поддерживается на {chainName}. Пожалуйста, переключитесь на Arbitrum для использования V1." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Saulius GMX Analytics" -msgstr "" +msgstr "Saulius GMX Аналитика" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -2390,25 +2420,25 @@ msgstr "{0} Цена" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized services" -msgstr "" +msgstr "Купить GMX на централизованных сервисах" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Bridge and swap" -msgstr "" +msgstr "Бридж и обмен" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above lowest limit price" -msgstr "" +msgstr "Триггерная цена выше минимальной лимитной цены" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Borrow Fee Rate" -msgstr "" +msgstr "Ставка Комиссии за Заимствование" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max number of parts: {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Максимальное количество частей: {MAX_TWAP_NUMBER_OF_PARTS}" #: src/components/Header/AppHeaderUser.tsx #: src/components/Header/AppHeaderUser.tsx @@ -2419,31 +2449,39 @@ msgstr "Запустить Приложение" #: src/pages/Exchange/Exchange.tsx msgid "Deposited {0} USD into {tokenSymbol} {longOrShortText}" -msgstr "Внесено {0} USD на {tokenSymbol} {longOrShortText}" +msgstr "Внесено {0} USD в {tokenSymbol} {longOrShortText}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has staked GMX/GLP before" -msgstr "" +msgstr "Получатель ранее стейкал GMX/GLP" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling sell request" -msgstr "" +msgstr "Выполнение запроса на продажу" #: src/components/Exchange/TradeHistory.jsx msgid "{actionDisplay} Order" msgstr "{actionDisplay} Ордер" +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "График рынка" + #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" -msgstr "Лонгов больше, чем шортов, комиссия за шорт в настоящее время равна нулю." +msgstr "Лонгов больше, чем шортов, комиссия за заимствование для шорта в настоящее время равна нулю." #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche APR:" -msgstr "Avalanche APR:" +msgstr "Avalanche Годовая Процентная Ставка:" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics for GMX" -msgstr "" +msgstr "Dune Analytics для GMX" #: src/components/Exchange/TradeHistory.jsx msgid "Could not decrease {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}" @@ -2459,45 +2497,49 @@ msgstr "Вестинг GMX на Avalanche" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "Нажмите на Позицию, чтобы выбрать её рынок, затем используйте блок торговли для увеличения Размера Позиции или установки Ордеров Take Profit / Stop Loss." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Relayer request failed" -msgstr "" +msgstr "Запрос релеера не удался" #: src/components/Exchange/TradeHistory.jsx msgid "Request decrease {0} {longOrShortText}, -{1} USD, Acceptable Price: {2} {3} USD" -msgstr "Уменьшение запроса {0} {longOrShortText}, -{1} USD, Приемлемая Цена: {2} {3} USD" +msgstr "Запрос на уменьшение {0} {longOrShortText}, -{1} USD, Приемлемая Цена: {2} {3} USD" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "settings updated" -msgstr "" +msgstr "настройки обновлены" #: src/components/Exchange/SwapBox.jsx msgid "You have an existing position with {0} as collateral." -msgstr "" +msgstr "У вас есть существующая позиция с {0} в качестве залога." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Transfer Account" msgstr "Счет для Перевода" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "" + #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" -msgstr "" +msgstr "GMX V1 Действия" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Part" -msgstr "" +msgstr "Выполнить Часть TWAP" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Profit Fee" -msgstr "" +msgstr "Комиссия за Прибыль от Обмена" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Amount to claim" -msgstr "Сумма к оплате" +msgstr "Сумма для требования" #: src/pages/Jobs/Jobs.jsx msgid "Job openings at GMX." @@ -2513,7 +2555,7 @@ msgstr "Годовая Процентная Ставка обновляется #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Fees (Incl. Swap)" -msgstr "" +msgstr "Комиссии (Вкл. Обмен)" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -2522,7 +2564,7 @@ msgstr "{fromText} в {toMinText}" #: src/components/Errors/errorToasts.tsx msgid "Otherwise, try changing the RPC url in your wallet settings with the help of <0>chainlist.org</0>." -msgstr "" +msgstr "В противном случае, попробуйте изменить URL RPC в настройках вашего кошелька с помощью <0>chainlist.org</0>." #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2531,11 +2573,11 @@ msgstr "Цена выше Ликв. Цены" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the pay token to collateral token swap when the price conditions are met." -msgstr "" +msgstr "Может не хватить ликвидности для выполнения обмена токена оплаты на токен залога, когда условия цены будут выполнены." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "User Quests" -msgstr "" +msgstr "Пользовательские Квесты" #: src/components/Glp/GlpSwap.jsx msgid "{0} pool exceeded, try different token" @@ -2553,12 +2595,12 @@ msgstr "Позиции ({0})" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake failed." -msgstr "" +msgstr "Снятие стейкинга не удалось." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order cancelled" -msgstr "Ордер закрыт" +msgstr "Ордер отменён" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Swap Liquidity to fill the Order." @@ -2566,7 +2608,11 @@ msgstr "Недостаточно доступной ликвидности об #: src/pages/Stake/Stake.tsx msgid "Earn prizes by participating in GMX Trading Competitions." -msgstr "" +msgstr "Зарабатывайте призы, участвуя в Торговых Соревнованиях GMX." + +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "Свернуть" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" @@ -2574,13 +2620,13 @@ msgstr "Подтвердить Лонг" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Arbitrum" -msgstr "" +msgstr "Трейдеры, Привлечённые на Arbitrum" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "PnL After Fees" -msgstr "PnL После уплаты Комиссии" +msgstr "PnL После Комиссий" #: src/lib/contracts/callContract.tsx #: src/lib/contracts/callContract.tsx @@ -2590,11 +2636,11 @@ msgstr "Транзакция отправлена." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter up to 10 coins" -msgstr "" +msgstr "Введите до 10 монет" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Backing Tokens" -msgstr "" +msgstr "Экспозиция к Токенам Поддержки" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Creating..." @@ -2604,36 +2650,36 @@ msgstr "Создание..." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing from Subaccount" -msgstr "" +msgstr "Вывод из Подаккаунта" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settling Position Fees" -msgstr "" +msgstr "Расчёт Комиссий Позиции" #: src/components/Exchange/OrderEditor.jsx msgid "Minimum received" -msgstr "Минимум получен" +msgstr "Минимум получено" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available amount to withdraw from GLP. Funds not utilized by current open positions." -msgstr "Доступная сумма для вывода средств из GLP. Средства, не использованные текущими открытыми позициями." +msgstr "Доступная сумма для вывода из GLP. Средства, не использованные текущими открытыми позициями." #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Enter your feedback here" -msgstr "" +msgstr "Введите ваш отзыв здесь" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Impact on Collateral" -msgstr "" +msgstr "Высокое Влияние на Залог" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "and" -msgstr "" +msgstr "и" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GLV liquidity" -msgstr "" +msgstr "Недостаточно ликвидности GLV" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -2643,59 +2689,59 @@ msgstr "Недопустимая цена, смотрите предупрежд #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} only from your short position." -msgstr "" +msgstr "Вы будете в шорте {indexSymbol} только от вашей шорт позиции." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Signing approval..." -msgstr "" +msgstr "Подписание одобрения..." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." -msgstr "" +msgstr "Текущее влияние цены составляет {0}. Рассмотрите использование -0.30% допустимого влияния цены, чтобы ордер был более вероятно обработан." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" -msgstr "" +msgstr "Авто-Отмена TP/SL" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Funding Fee Rate" -msgstr "" +msgstr "Ставка Комиссии за Финансирование" #: src/components/Exchange/PositionSeller.jsx msgid "Requested decrease of {0} {longOrShortText} by {sizeDeltaUsd} USD." -msgstr "" +msgstr "Запрошено уменьшение {0} {longOrShortText} на {sizeDeltaUsd} USD." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Returned Collateral" -msgstr "" +msgstr "Возвращённый Залог" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "You need to select {swapTokenSymbol} as the \"Pay\" token to use it for collateral to initiate this trade." -msgstr "Вам необходимо выбрать {swapTokenSymbol} в качестве \"Оплата\" токена, чтобы использовать его в качестве залога для инициирования этой сделки." +msgstr "Вам необходимо выбрать {swapTokenSymbol} в качестве токена \"Оплата\", чтобы использовать его в качестве залога для инициирования этой сделки." #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "There are issues in the TP/SL orders." -msgstr "" +msgstr "Есть проблемы в ордерах TP/SL." #: src/components/Glp/GlpSwap.jsx msgid "The Bonus Rebate is an estimate and will be airdropped as ARB tokens when migrating this liquidity to GM pools within the same epoch. <0>Read more</0>." -msgstr "" +msgstr "Бонусный Рибейт является оценкой и будет сброшен в виде токенов ARB при миграции этой ликвидности в пулы GM в той же эпохе. <0>Подробнее</0>." #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP sold for {1} {2}!" -msgstr "{0} GLP проданы для {1} {2}!" +msgstr "{0} GLP проданы за {1} {2}!" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Long Inc." -msgstr "" +msgstr "Стоп-Маркет - Лонг Увелич." #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Failed to Claim Price Impact Rebate" -msgstr "" +msgstr "Не удалось потребовать Рибейт Влияния Цены" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Only positions with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "Только позиции с более {0} в \"Использованном Капитале\" ранжируются." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept minimum and {action}" @@ -2703,7 +2749,7 @@ msgstr "Принять минимум и {action}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Withdraw from Affiliate Vault" -msgstr "" +msgstr "Вывод из Аффилиатского Хранилища" #: src/components/Glp/GlpSwap.jsx msgid "Current Pool Amount" @@ -2712,50 +2758,50 @@ msgstr "Текущая Сумма Пула" #: src/domain/legacy.ts #: src/pages/Exchange/Exchange.tsx msgid "Cancel failed." -msgstr "Отменить не удалось." +msgstr "Отмена не удалась." #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will be executed if there is sufficient liquidity and the execution price guarantees that you will receive the minimum receive amount." -msgstr "" +msgstr "Ордер будет выполнен, если будет достаточно ликвидности и цена выполнения гарантирует получение минимальной суммы получения." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Transacting with a depegged stable coin is subject to spreads reflecting the worse of current market price or $1.00, with transactions involving multiple stablecoins may have multiple spreads." -msgstr "" +msgstr "Транзакции с депривязанным стейблкоином подвержены спредам, отражающим худший вариант из текущей рыночной цены или $1.00, при этом транзакции, включающие несколько стейблкоинов, могут иметь несколько спредов." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the \"Close\" button to reduce your Position Size." -msgstr "" +msgstr "Используйте кнопку \"Закрыть\" для уменьшения Размера Позиции." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Limit)" -msgstr "" +msgstr "Увеличить Размер (Лимит)" #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute at the desired {priceText} as its acceptable price impact is set to {formattedOrderAcceptablePriceImpact}, which is lower than the current market price impact of {formattedCurrentAcceptablePriceImpact}. It can be edited using the \"Edit\" button." -msgstr "" +msgstr "Ордер может не выполниться по желаемой {priceText}, поскольку его допустимое влияние цены установлено на {formattedOrderAcceptablePriceImpact}, что ниже текущего рыночного влияния цены {formattedCurrentAcceptablePriceImpact}. Это можно отредактировать с помощью кнопки \"Редактировать\"." #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Liquidation Fee" -msgstr "" +msgstr "Комиссия за Ликвидацию" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settle" -msgstr "" +msgstr "Расчёт" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TWAP: {0} a short position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Шорт TWAP: {0} шорт позицию в равномерно распределённых частях за указанное время." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap when the min. receive conditions are met." -msgstr "" +msgstr "Может не хватить ликвидности для выполнения обмена, когда условия мин. получения будут выполнены." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "{fromText} to" -msgstr "" +msgstr "{fromText} в" #: src/components/Exchange/PositionDropdown.tsx msgid "Select Market" @@ -2763,7 +2809,11 @@ msgstr "Выбрать Рынок" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "Open positions: {0}<0/>Under risk: {1}" -msgstr "Открытие позиций: {0}<0/>Под риском: {1}" +msgstr "Открытые позиции: {0}<0/>Под риском: {1}" + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "" #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" @@ -2771,48 +2821,48 @@ msgstr "Ускорить загрузку страницы" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: Swap {amountInDisplay}{1} for{minOutDisplay} {2}, Price:{3} USD" -msgstr "" +msgstr "{0}: Обмен {amountInDisplay}{1} на{minOutDisplay} {2}, Цена:{3} USD" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "(Rebated)" -msgstr "" +msgstr "(Рибейтовано)" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized exchanges:" -msgstr "" +msgstr "Купить GMX на централизованных биржах:" #: src/pages/BuyGMX/BuyGMX.tsx msgid "GMX bonds can be bought on Bond Protocol with a discount and a small vesting period:" -msgstr "" +msgstr "Облигации GMX можно купить на Bond Protocol со скидкой и небольшим периодом вестинга:" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above highest limit price" -msgstr "" +msgstr "Триггерная цена выше максимальной лимитной цены" #: src/components/Exchange/OrdersToa.jsx msgid "Note that orders are not guaranteed to be executed.<0/><1/>This can occur in a few situations including but not exclusive to:" -msgstr "" +msgstr "Обратите внимание, что выполнение ордеров не гарантируется.<0/><1/>Это может произойти в нескольких ситуациях, включая, но не ограничиваясь:" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions with Orders" -msgstr "" +msgstr "Открытые Позиции с Ордерами" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Copin" -msgstr "" +msgstr "Copin" #: src/components/Exchange/PositionSeller.jsx msgid "{nativeTokenSymbol} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{nativeTokenSymbol} нельзя отправлять на адреса смарт-контрактов. Выберите другой токен." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "This swap is routed through several GM pools for the lowest possible fees and price impact." -msgstr "" +msgstr "Этот обмен маршрутизируется через несколько пулов GM для минимальных возможных комиссий и влияния цены." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "{0}" -msgstr "" +msgstr "{0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Liquidity." @@ -2820,12 +2870,12 @@ msgstr "Недостаточно доступной ликвидности дл #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized data based on the past 7 days." -msgstr "" +msgstr "Годовые данные на основе последних 7 дней." #: src/components/Exchange/OrdersToa.jsx #: src/components/Exchange/OrdersToa.jsx msgid "Enable Orders" -msgstr "Активировать ордера" +msgstr "Активировать Ордера" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}. Please mint GLP using another token" @@ -2833,47 +2883,49 @@ msgstr "Достигнута максимальная вместимость п #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>Execution prices for decreasing longs." -msgstr "" +msgstr "Нет доступной ликвидности для увеличения шортов для<0/>этого размера. Макс. размер шорта: {0}<1/><2/>Цены выполнения для уменьшения лонгов." #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" msgstr "Торговля" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding referral code failed." -msgstr "Добавить реферальный код не удалось." +msgstr "Добавление реферального кода не удалось." #: src/components/Exchange/PositionEditor.jsx msgid "Max leverage without PnL: {0}x" -msgstr "" +msgstr "Макс. плечо без PnL: {0}x" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "V2 doesn't currently support this network" -msgstr "" +msgstr "V2 в настоящее время не поддерживает эту сеть" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Arbitrum" -msgstr "" +msgstr "V1 Arbitrum" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche" -msgstr "" +msgstr "Avalanche" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Fee APR" -msgstr "" +msgstr "Годовая Процентная Ставка Комиссии" #: src/domain/synthetics/positions/utils.ts msgid "SL" -msgstr "" +msgstr "SL" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2883,56 +2935,56 @@ msgstr "" #: src/pages/Stake/StakeModal.tsx #: src/pages/Stake/StakeModal.tsx msgid "Stake" -msgstr "Стакинг" +msgstr "Стейкинг" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx msgid "Allow {tokenSymbol} to be spent" -msgstr "" +msgstr "Разрешить тратить {tokenSymbol}" #: src/components/NpsModal/NpsModal.tsx msgid "Help us improve" -msgstr "" +msgstr "Помогите нам улучшиться" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Invalid Liquidation Price" -msgstr "" +msgstr "Недопустимая Цена Ликвидации" #: src/pages/Home/Home.tsx msgid "An aggregate of high-quality price feeds determine when liquidations occur. This keeps positions safe from temporary wicks." -msgstr "Совокупность высококачественных ценовых сигналов определяет, когда происходит ликвидация. Это позволяет обезопасить позиции от временных колебаний." +msgstr "Совокупность высококачественных ценовых фидов определяет, когда происходит ликвидация. Это защищает позиции от временных виков." #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} available liquidity. Choose a different \"Receive\" token." -msgstr "" +msgstr "Сумма обмена от {0} к {1} превышает {2} доступной ликвидности. Выберите другой токен \"Получение\"." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Take Profit" -msgstr "" +msgstr "Создать Take Profit" #: src/components/Exchange/OrderEditor.jsx msgid "Update Order" -msgstr "Обновление ордера" +msgstr "Обновить Ордер" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP" -msgstr "" +msgstr "Отменить TWAP" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the liquidation." -msgstr "Рыночная цена для ликвидации." +msgstr "Маркированная цена для ликвидации." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Selling {0}{1}<1>{poolName}</1></0>" -msgstr "" +msgstr "<0>Продажа {0}{1}<1>{poolName}</1></0>" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Max close amount exceeded" -msgstr "" +msgstr "Макс. сумма закрытия превышена" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2942,72 +2994,77 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max leverage: {0}x" -msgstr "" +msgstr "Макс. плечо: {0}x" #: src/domain/synthetics/positions/utils.ts msgid "T" -msgstr "" +msgstr "T" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Please enter the names of the coins you'd like to see added:" -msgstr "" +msgstr "Пожалуйста, введите названия монет, которые вы хотели бы добавить:" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and Short" -msgstr "Утрата прибыли и Шорта" +msgstr "Отказ от прибыли и Шорт" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Arbitrum" -msgstr "" +msgstr "Стейкано на Arbitrum" #: src/components/Exchange/PositionSeller.jsx msgid "Order creation failed." -msgstr "" +msgstr "Создание ордера не удалось." #: src/components/TokenCard/TokenCard.tsx msgid "Sell token on:" -msgstr "" +msgstr "Продать токен на:" #: src/components/Synthetics/MissedCoinsHint/MissedCoinsHint.tsx msgid "Can’t find the coin you need? Let us know" -msgstr "" +msgstr "Не можете найти нужную монету? Сообщите нам" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegated to" -msgstr "" +msgstr "Делегировано" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} update failed." -msgstr "" +msgstr "Обновление {orderText} не удалось." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: Swap {fromAmountDisplay} {0} for {toAmountDisplay} {1}" -msgstr "Выполнить Ордер: Поменять {fromAmountDisplay} {0} на {toAmountDisplay} {1}" +msgstr "Выполнить Ордер: Обмен {fromAmountDisplay} {0} на {toAmountDisplay} {1}" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Buy {swapTokenSymbol} on 1inch" -msgstr "Купить {swapTokenSymbol} на 1 дюйм" +msgstr "Купить {swapTokenSymbol} на 1inch" + +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" -msgstr "" +msgstr "PnL (%)" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we continue to meet your expectations?" -msgstr "" +msgstr "Как мы можем продолжать соответствовать вашим ожиданиям?" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another address to claim if you'd like." -msgstr "Токен esGMX является переводимым. При желании вы можете добавить токен в свой кошелек и отправить его на другой адрес для предъявления заявки." +msgstr "Токен esGMX (IOU) является переводимым. При желании вы можете добавить токен в свой кошелек и отправить его на другой адрес для требования." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Self-transfer not supported" -msgstr "Самостоятельный перевод не поддерживается" +msgstr "Самоперевод не поддерживается" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Generating session..." -msgstr "" +msgstr "Генерация сессии..." #: src/pages/Exchange/Exchange.tsx msgid "Decreased {tokenSymbol} {longOrShortText}, -{0} USD." @@ -3015,11 +3072,11 @@ msgstr "Уменьшено {tokenSymbol} {longOrShortText}, -{0} USD." #: src/components/Exchange/PositionEditor.jsx msgid "Leave at least {0} ETH for gas" -msgstr "" +msgstr "Оставьте минимум {0} ETH для газа" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders failed." -msgstr "Не удалось активировать ордер" +msgstr "Активация ордеров не удалась." #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx @@ -3027,7 +3084,7 @@ msgstr "Не удалось активировать ордер" #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Total Staked" -msgstr "Всего Ставок" +msgstr "Всего Стейкано" #: src/components/Exchange/FeesTooltip.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx @@ -3038,7 +3095,7 @@ msgstr "Комиссия Сети" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact." -msgstr "" +msgstr "Ожидаемая цена выполнения ордера, включая текущее влияние цены." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3056,16 +3113,16 @@ msgstr "Плечо" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders sent." -msgstr "Активировать отправку ордера." +msgstr "Активация ордеров отправлена." #: src/components/Exchange/PositionEditor.jsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing..." -msgstr "" +msgstr "Вывод..." #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims match the selected filters" -msgstr "" +msgstr "Нет требований, соответствующих выбранным фильтрам" #: src/components/Exchange/SwapBox.jsx #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx @@ -3087,111 +3144,106 @@ msgstr "Рынок" #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} acceptable amount. Can only receive {3}." -msgstr "" +msgstr "Сумма обмена от {0} к {1} превышает {2} допустимую сумму. Можно получить только {3}." #: src/pages/Stake/Stake.tsx msgid "Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2." -msgstr "" +msgstr "Зарабатывайте стимулы токена {incentivesToken}, покупая токены GM или торгуя в GMX V2." #: src/components/Exchange/PositionEditor.jsx msgid "Withdraw disabled, pending {0} upgrade" -msgstr "" +msgstr "Вывод отключён, ожидается обновление {0}" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Read the rules" -msgstr "" +msgstr "Прочитайте правила" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Lev." -msgstr "" +msgstr "Плечо" #: src/pages/Stake/StakeModal.tsx msgid "Stake failed." -msgstr "" +msgstr "Стейкинг не удался." #: src/components/NpsModal/NpsModal.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Submitting..." -msgstr "" +msgstr "Отправка..." #: src/components/Header/HomeHeaderLinks.tsx msgid "App" -msgstr "" +msgstr "Приложение" #: src/components/Synthetics/GmList/GlvList.tsx msgid "Yield-optimized vaults supplying liquidity across multiple GMX markets." -msgstr "" +msgstr "Хранилища с оптимизированной доходностью, предоставляющие ликвидность на нескольких рынках GMX." #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Add {marketName} to Wallet" -msgstr "Добавить {marketName} в кошелек" +msgstr "Добавить {marketName} в Кошелёк" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized Performance" -msgstr "" +msgstr "Годовая Производительность" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" -msgstr "" +msgstr "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap {0} to {1}" -msgstr "" +msgstr "Обмен {0} на {1}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}." -msgstr "При обмене с {0} на {1} взимается высокая комиссия." +msgstr "Комиссии высокие для обмена от {0} к {1}." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Debug values are not available" -msgstr "" +msgstr "Значения отладки недоступны" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below liq. price" -msgstr "" +msgstr "Триггерная цена ниже ликв. цены" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx #: src/pages/Stake/ClaimModal.tsx msgid "Claim failed." -msgstr "Запрос не прошел." - -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "" +msgstr "Требование не удалось." #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" -msgstr "" +msgstr "Неизвестная Ошибка" #: src/components/Glp/GlpSwap.jsx msgid "Buying..." -msgstr "Покупает..." +msgstr "Покупка..." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a new ratio or allowed slippage" -msgstr "" +msgstr "Введите новое соотношение или допустимое скольжение" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap UI Fee" -msgstr "" +msgstr "Комиссия UI Обмена" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the size to match the max. allowed leverage:" -msgstr "" +msgstr "Уменьшите размер, чтобы соответствовать макс. допустимому плечу:" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Positive Funding Fee" -msgstr "" +msgstr "Начисленная Положительная Комиссия за Финансирование" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from Affiliate Vesting Vault" -msgstr "" +msgstr "Отправитель вывел все токены из Аффилиатского Хранилища Вестинга" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/keys.ts @@ -3201,33 +3253,33 @@ msgstr "Ликвидировано" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Blueberry Pulse" -msgstr "" +msgstr "Blueberry Pulse" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5></3> deployment for those features." -msgstr "" +msgstr "Пожалуйста, переключитесь на развертывание <0><1/><2>Arbitrum</2></0> или <3><4/><5>Avalanche</5></3> для этих функций." #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "Выбрать Язык" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Direction" -msgstr "" +msgstr "Направление" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} and {1} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM можно продать за {0} и {1} на этом рынке до указанных лимитов продажи. Остальные токены в пуле зарезервированы для текущих открытых позиций." #: src/components/Glp/GlpSwap.jsx msgid "Due to the recent incident on GMX V1 Arbitrum, GLP on Arbitrum is not sellable." -msgstr "" +msgstr "Из-за недавнего инцидента на GMX V1 Arbitrum, GLP на Arbitrum не продаётся." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "Graph showing performance vs benchmark over the selected period." -msgstr "" +msgstr "График, показывающий производительность по сравнению с эталоном за выбранный период." #: src/components/Synthetics/ExecutionPriceRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3248,24 +3300,24 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "Order Acceptable Price" -msgstr "Допустимая цена ордера" +msgstr "Допустимая Цена Ордера" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "VOL." -msgstr "" +msgstr "ОБЪЁМ" #: src/components/Glp/GlpSwap.jsx msgid "Max Capacity for {0} Reached" -msgstr "Максимальная Вместимость для {0} Достигнута" +msgstr "Макс. Вместимость для {0} Достигнута" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below limit price" -msgstr "" +msgstr "Триггерная цена ниже лимитной цены" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Buying {0}{1}<1>{poolName}</1></0> <2>with {tokensText}</2>" -msgstr "" +msgstr "<0>Покупка {0}{1}<1>{poolName}</1></0> <2>с {tokensText}</2>" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionsList.jsx @@ -3278,57 +3330,57 @@ msgstr "Первоначальный Залог" #: src/pages/Stake/StakeModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power before staking." -msgstr "" +msgstr "<0>Делегируйте вашу не делегированную {0} GMX DAO</0> силу голоса перед стейкингом." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Size" -msgstr "" +msgstr "Средн. Размер" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 esGMX" -msgstr "" +msgstr "V1 esGMX" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit PnL" -msgstr "" +msgstr "PnL Take Profit" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Let us know which coins you're missing" -msgstr "" +msgstr "Сообщите нам, каких монет вам не хватает" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw sent." -msgstr "" +msgstr "Активация вывода отправлена." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." -msgstr "После подачи требования ваш баланс esGMX уменьшится на сумму вашего требования, это ожидаемое поведение." +msgstr "Ваш баланс esGMX (IOU) уменьшится на сумму требования после требования, это ожидаемое поведение." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." -msgstr "" +msgstr "Макс. Комиссия Сети установлена на более высокое значение для обработки потенциального увеличения цены газа во время выполнения ордера. Любая избыточная комиссия сети будет возвращена на ваш аккаунт при выполнении ордера. Применимо только к GMX V2." #: src/domain/synthetics/positions/utils.ts msgid "stop market" -msgstr "" +msgstr "стоп-маркет" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized PnL" -msgstr "" +msgstr "Начальный Нереализованный PnL" #: src/components/TVChartContainer/constants.ts msgid "Limit - Short Inc." -msgstr "" +msgstr "Лимит - Шорт Увелич." #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Sending settle request" -msgstr "" +msgstr "Отправка запроса на расчёт" #: src/lib/legacy.ts msgid "Order cannot be executed as the remaining position would be smaller than $5.00" -msgstr "Ордер не может быть выполнен, так как оставшаяся позиция будет меньше $5.00" +msgstr "Ордер не может быть выполнен, поскольку оставшаяся позиция будет меньше $5.00" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -3337,20 +3389,15 @@ msgstr "Ордер не может быть выполнен, так как ос #: src/pages/Stake/AffiliateClaimModal.tsx #: src/pages/Stake/ClaimModal.tsx msgid "Claiming..." -msgstr "Утверждение..." - -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "" +msgstr "Требование..." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" -msgstr "Запрос на рыночное увеличение" +msgstr "Запрос на Рыночное Увеличение" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Edit {0}" -msgstr "" +msgstr "Редактировать {0}" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Arbitrum" @@ -3358,11 +3405,11 @@ msgstr "Вестинг GMX на Arbitrum" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable price impact rebates.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "Требуемые рибейты влияния цены.<0/><1/><2>Подробнее</2>." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and {borrowAction} a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "Позиции {longOrShort} {fundingAction} комиссию за финансирование {fundingRate} в час и {borrowAction} комиссию за заимствование {borrowRate} в час." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx @@ -3371,20 +3418,20 @@ msgstr "" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "TWAP" -msgstr "" +msgstr "TWAP" #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Updating Order..." -msgstr "Обновление ордера..." +msgstr "Обновление Ордера..." #: src/components/Exchange/PositionSeller.jsx msgid "Close failed." -msgstr "" +msgstr "Закрытие не удалось." #: src/pages/Stake/Stake.tsx msgid "You are earning rewards with {0} tokens.<0/>Tokens: {amountStr}." -msgstr "" +msgstr "Вы зарабатываете награды с {0} токенами.<0/>Токены: {amountStr}." #: src/components/ModalViews/RedirectModal.tsx msgid "The website is a community deployed and maintained instance of the open source <0>GMX front end</0>, hosted and served on the distributed, peer-to-peer <1>IPFS network</1>." @@ -3392,49 +3439,53 @@ msgstr "Сайт представляет собой развернутый и #: src/components/Exchange/PositionEditor.jsx msgid "Deposit failed." -msgstr "" +msgstr "Депозит не удался." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "<0>Set Recommended Impact: {0}</0>." -msgstr "" +msgstr "<0>Установить Рекомендуемое Влияние: {0}</0>." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Defi Llama" -msgstr "" +msgstr "Defi Llama" #: src/pages/Exchange/Exchange.tsx msgid "Orders cancelled." -msgstr "Ордера отменены" +msgstr "Ордера отменены." + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" -msgstr "" +msgstr "Последний Ребаланс" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit" -msgstr "" +msgstr "Отменить Лимит" #: src/components/Referrals/AffiliatesStats.tsx msgid "V2 Claim" -msgstr "" +msgstr "V2 Требование" #: src/components/Exchange/OrdersToa.jsx msgid "Accept that orders are not guaranteed to execute and trigger orders may not settle at the trigger price" -msgstr "Принять, что исполнение ордеров не гарантировано, а триггерные ордера могут не исполниться по триггерной цене" +msgstr "Принять, что выполнение ордеров не гарантируется, а триггерные ордера могут не рассчитаться по триггерной цене" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a market" -msgstr "" +msgstr "Выбрать рынок" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please choose a different pool or reduce the buy size." -msgstr "" +msgstr "Достигнут лимит покупки для пула GM: {0} в {1} [{2}]. Пожалуйста, выберите другой пул или уменьшите размер покупки." #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High External Swap Impact" -msgstr "" +msgstr "Высокое Влияние Внешнего Обмена" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx @@ -3452,19 +3503,19 @@ msgstr "Допустимое Скольжение" #: src/components/Exchange/OrderEditor.jsx msgid "Order update failed." -msgstr "Не удалось обновить ордер." +msgstr "Обновление ордера не удалось." #: src/components/Glp/GlpSwap.jsx msgid "Waiting for Approval" -msgstr "Ожидайте одобрения" +msgstr "Ожидание Одобрения" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and do not pay a borrow fee." -msgstr "" +msgstr "Позиции {longOrShort} {fundingAction} комиссию за финансирование {fundingRate} в час и не платят комиссию за заимствование." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TP/SL: {0} a short position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Шорт TP/SL: {0} шорт позицию, когда достигнута триггерная цена." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community-led Telegram groups." @@ -3472,25 +3523,20 @@ msgstr "Группы Telegram под руководством сообществ #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Open Interest" -msgstr "" - -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "" +msgstr "{longShortText} {0} Открытый Интерес" #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." -msgstr "" +msgstr "У вас нет токенов GMX для требования." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Settled Funding Fees" -msgstr "" +msgstr "Расчётные Комиссии за Финансирование" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Ends in" -msgstr "" +msgstr "Завершается через" #: src/components/Referrals/JoinReferralCode.tsx msgid "Please input a referral code to benefit from fee discounts." @@ -3498,23 +3544,23 @@ msgstr "Пожалуйста, введите реферальный код, чт #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Deposit" -msgstr "Депозит не удался" +msgstr "Неудачный Депозит" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Swap" -msgstr "Запрос на рыночный обмен" +msgstr "Запрос на Рыночный Обмен" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market.{1}" -msgstr "" +msgstr "Недостаточно ликвидности в пуле рынка {0}. Выберите другой пул для этого рынка.{1}" #: src/domain/synthetics/trade/utils/validation.ts msgid "App disabled, pending {0} upgrade" -msgstr "" +msgstr "Приложение отключено, ожидается обновление {0}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates earned by this account as an affiliate." -msgstr "Рибейты, заработанные этим аккаунтом в качестве аффилированного лица." +msgstr "Рибейты, заработанные этим аккаунтом в качестве аффилиата." #: src/components/Glp/GlpSwap.jsx msgid "Swap {0} on 1inch" @@ -3522,49 +3568,53 @@ msgstr "Обмен {0} на 1inch" #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP bought with {1} {2}!" -msgstr "{0} GLP куплен с {1} {2}!" +msgstr "{0} GLP куплено за {1} {2}!" #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake" -msgstr "Снять стакинг" +msgstr "Снять стейкинг" #: src/components/SettingsModal/SettingsModal.tsx msgid "Debug Settings" -msgstr "" +msgstr "Настройки Отладки" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "More Options" -msgstr "Больше вариантов" +msgstr "Больше Опций" #: src/components/TokenCard/TokenCard.tsx msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." -msgstr "" +msgstr "GLV — это токен поставщика ликвидности для хранилищ GMX V2. Состоит из нескольких токенов GM и накапливает комиссии, генерируемые ими." + +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "Сеть" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" -msgstr "" +msgstr "<0>каждые</0> {hours} часов{0}" #: src/components/Referrals/TradersStats.tsx msgid "For trades on V1, this discount will be airdropped to your account every Wednesday. On V2, discounts are applied automatically and will reduce your fees when you make a trade." -msgstr "" +msgstr "Для торгов на V1 эта скидка будет отправлена на ваш аккаунт в виде эйрдропа каждую среду. На V2 скидки применяются автоматически и уменьшат ваши комиссии при совершении сделки." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Fail External Swaps" -msgstr "" +msgstr "Неудача Внешних Обменов" #: src/domain/synthetics/orders/utils.tsx msgid "Swap {fromTokenText} for {toTokenText}" -msgstr "" +msgstr "Обмен {fromTokenText} на {toTokenText}" #: src/components/Exchange/SwapBox.jsx #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap submitted." -msgstr "Обмен подан." +msgstr "Обмен отправлен." #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionSeller.jsx @@ -3582,20 +3632,20 @@ msgstr "PnL" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available using network's native token {0}. Consider using {1} instead." -msgstr "" +msgstr "Экспресс-Торговля недоступна с использованием нативного токена сети {0}. Рассмотрите использование {1} вместо этого." #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx msgid "Market Increase" -msgstr "Увеличение рынка" +msgstr "Рыночное Увеличение" #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims yet" -msgstr "" +msgstr "Пока нет требований" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Cancel Order" -msgstr "" +msgstr "Отменить Ордер" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3611,11 +3661,11 @@ msgstr "Вывод" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Market" -msgstr "" +msgstr "Обновить Стоп-Маркет" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Vested Claimable GMX" -msgstr "" +msgstr "Вестинговый Требуемый GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy {nativeTokenSymbol}" @@ -3623,23 +3673,23 @@ msgstr "Купить {nativeTokenSymbol}" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "View in Explorer" -msgstr "Просмотреть в Проводнике" +msgstr "Просмотреть в Эксплорере" #: src/components/AprInfo/AprInfo.tsx msgid "Bonus APR" -msgstr "" +msgstr "Бонусная Годовая Процентная Ставка" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift request sent" -msgstr "" +msgstr "Запрос на сдвиг отправлен" #: src/pages/Jobs/Jobs.jsx msgid "GMX is not actively looking for new hires at the moment. However, if you think you can contribute to the project, please email <0>jobs@gmx.io</0>." -msgstr "В настоящее время GMX не ведет активного поиска новых сотрудников. Однако, если вы считаете, что можете внести свой вклад в проект, пожалуйста, напишите <0>jobs@gmx.io</0>." +msgstr "GMX в настоящее время не активно ищет новых сотрудников. Однако, если вы считаете, что можете внести вклад в проект, пожалуйста, напишите <0>jobs@gmx.io</0>." #: src/components/Exchange/ConfirmationBox.jsx msgid "You have multiple existing Increase {longOrShortText} {0} limit orders" -msgstr "У вас есть несколько существующих на увеличение {longOrShortText} {0} лимитных ордеров" +msgstr "У вас есть несколько существующих ордеров на увеличение {longOrShortText} {0} лимитных ордеров" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "After you scan, a connection prompt will appear for you to connect your wallet." @@ -3647,35 +3697,34 @@ msgstr "После сканирования появится запрос на #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer AVAX from other networks to Avalanche using any of the below options:" -msgstr "" +msgstr "Вы можете перевести AVAX из других сетей в Avalanche, используя любой из нижеперечисленных вариантов:" #: src/pages/Stake/Vesting.tsx msgid "Unsupported network" -msgstr "" +msgstr "Неподдерживаемая сеть" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Opening..." -msgstr "" +msgstr "Открытие..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche" -msgstr "" +msgstr "Трейдеры, Привлечённые на Avalanche" #: src/components/Exchange/PositionSeller.jsx msgid "Trigger order disabled, pending {0} upgrade" -msgstr "" +msgstr "Триггерный ордер отключён, ожидается обновление {0}" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Funding Fees" -msgstr "Комиссии за финансирование" +msgstr "Комиссии за Финансирование" #: src/domain/tokens/approveTokens.tsx msgid "Approval failed" -msgstr "Не одобрено" +msgstr "Одобрение не удалось" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx @@ -3684,71 +3733,71 @@ msgstr "Открытый Интерес" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Updating settings..." -msgstr "" +msgstr "Обновление настроек..." #: src/components/Exchange/SwapBox.jsx msgid "The position will be opened at {0} USD with a max slippage of {1}%.<0/><1/>The slippage amount can be configured under Settings, found by clicking on your address at the top right of the page after connecting your wallet.<2/><3/><4>Read more</4>." -msgstr "Позиция будет открыта на {0} USD с максимальным скольжением в {1}%.<0/><1/>Сумма скольжения может быть настроена в разделе Настройки, который можно найти, нажав на свой адрес в правом верхнем углу страницы после подключения кошелька.<2/><3/><4>Подробнее</4>." +msgstr "Позиция будет открыта на {0} USD с максимальным скольжением {1}%.<0/><1/>Сумма скольжения может быть настроена в Настройках, нажав на ваш адрес в правом верхнем углу страницы после подключения кошелька.<2/><3/><4>Подробнее</4>." #: src/components/Referrals/TradersStats.tsx msgid "Active Referral Code" -msgstr "Действующий реферальный код" +msgstr "Активный Реферальный Код" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "Save One-Click Trading settings" -msgstr "" +msgstr "Сохранить настройки Торговли в Один Клик" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Please switch your network to Arbitrum." -msgstr "Пожалуйста, переключите свою сеть на Arbitrum." +msgstr "Пожалуйста, переключите сеть на Arbitrum." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "The position would be immediately liquidated upon order execution. Try reducing the size." -msgstr "" +msgstr "Позиция будет немедленно ликвидирована при выполнении ордера. Попробуйте уменьшить размер." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUYABLE" -msgstr "" +msgstr "ПОКУПАЕМО" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP" -msgstr "" +msgstr "Создать TWAP" #: src/components/Exchange/PositionEditor.jsx msgid "Enabling Leverage" -msgstr "" +msgstr "Активация Плеча" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid Receiver Address" -msgstr "Неверный адрес получателя" +msgstr "Недопустимый Адрес Получателя" #: src/components/Exchange/PositionSeller.jsx msgid "Collateral is not enough to cover pending Fees. Please uncheck \"Keep Leverage\" to pay the Fees with the realized PnL." -msgstr "" +msgstr "Залога недостаточно для покрытия ожидающих Комиссий. Пожалуйста, снимите галочку \"Сохранить Плечо\", чтобы оплатить Комиссии реализованным PnL." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have yet to reach the minimum \"Capital Used\" of {0} to qualify for the rankings." -msgstr "" +msgstr "Вы ещё не достигли минимума \"Использованного Капитала\" {0} для квалификации в рейтинге." #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience as GMX Liquidity Provider and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "Мы ценим ваш опыт как Провайдера Ликвидности GMX и приглашаем вас принять участие в анонимном чате один на один." #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "TVL (SUPPLY)" -msgstr "" +msgstr "TVL (ПОСТАВКА)" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the leverage to match the max. allowed leverage." -msgstr "" +msgstr "Уменьшите плечо, чтобы соответствовать макс. допустимому плечу." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Shorts" -msgstr "" +msgstr "Шорты" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Prev" @@ -3756,53 +3805,49 @@ msgstr "Предыдущий" #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 180d" -msgstr "" +msgstr "Последние 180д" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown buy GM order" -msgstr "" +msgstr "Неизвестный ордер на покупку GM" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "" +msgstr "Вы можете отредактировать Допустимое Скольжение по умолчанию в меню настроек в правом верхнем углу страницы.<0/><1/>Обратите внимание, что низкое допустимое скольжение, напр. менее -{0}, может привести к неудачным ордерам, если цены волатильны." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." -msgstr "" +msgstr "Нет влияния цены. Есть единая<0/>цена выполнения для увеличения лонгов или<1/>уменьшения шортов для этого размера." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 days." -msgstr "После подачи заявки токены esGMX будут перечислены на ваш счет в выбранной сети в течение 7 дней." +msgstr "После требования токены esGMX будут сброшены на ваш аккаунт в выбранной сети в течение 7 дней." #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Buy GLV" -msgstr "" +msgstr "Купить GLV" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Part" -msgstr "" +msgstr "Неудачная Часть TWAP" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Impact+Fees" -msgstr "" +msgstr "Влияние+Комиссии" #: src/components/TVChartContainer/constants.ts msgid "TP - Short Dec." -msgstr "" +msgstr "TP - Шорт Уменьш." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs GM Token Dashboard" -msgstr "" +msgstr "Compass Labs Дашборд Токенов GM" #: src/components/Exchange/TradeHistory.jsx msgid "Request increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2} {3} USD" -msgstr "Увеличение запроса {0} {longOrShortText}, +{1} USD, Приемлемая Цена: {2} {3} USD" +msgstr "Запрос на увеличение {0} {longOrShortText}, +{1} USD, Приемлемая Цена: {2} {3} USD" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -3815,27 +3860,27 @@ msgstr "Залог Внесён" #: src/pages/Dashboard/GmCard.tsx msgid "GM Markets" -msgstr "" +msgstr "Рынки GM" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Your opinions and experiences matter to us. Your feedback helps us understand what we are doing well and where we can make enhancements." -msgstr "" +msgstr "Ваши мнения и опыт важны для нас. Ваш отзыв помогает нам понять, что мы делаем хорошо и где мы можем улучшиться." #: src/components/Exchange/UsefulLinks.tsx msgid "Trading guide" -msgstr "Руководство по трейдингу" +msgstr "Руководство по торговле" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Open {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "Открыть {longOrShortText} - {marketIndexName}" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "TRADING Airdrop" -msgstr "" +msgstr "Аирдроп ТОРГОВЛИ" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. This can be useful for delta-neutral strategies to earn funding fees." -msgstr "" +msgstr "Вы будете в шорте {indexSymbol} от вашей шорт позиции, в то время как в лонге {collateralSymbol} от вашего залога {collateralSymbol}. Это может быть полезно для дельта-нейтральных стратегий для заработка комиссий за финансирование." #: src/components/Referrals/TradersStats.tsx msgid "Rebates earned by this account as a trader." @@ -3862,7 +3907,7 @@ msgstr "Подробнее" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "This Year" -msgstr "" +msgstr "Этот Год" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -3870,12 +3915,15 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{actionDisplay} {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} Цена: {3} USD" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Vesting Status" -msgstr "" +msgstr "Статус Вестинга" #: src/components/Exchange/ConfirmationBox.jsx msgid "You have an active Limit Order to Increase {longOrShortText} {sizeInToken} {0} (${1}) at price ${2}" @@ -3883,49 +3931,49 @@ msgstr "У вас есть активный Лимитный Ордер на у #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Claiming Price Impact Rebate..." -msgstr "" +msgstr "Требование Рибейта Влияния Цены..." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Negative funding fees are automatically settled against the collateral and impact the liquidation price. Positive funding fees can be claimed under the claims tab." -msgstr "" +msgstr "Отрицательные комиссии за финансирование автоматически рассчитываются против залога и влияют на цену ликвидации. Положительные комиссии за финансирование можно требовать во вкладке требований." #: src/pages/Stake/Stake.tsx msgid "Unstake esGMX" -msgstr "" +msgstr "Снять стейкинг esGMX" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "The actual trigger price at which order gets filled will depend on fees and price impact at the time of execution to guarantee that you receive the minimum receive amount." -msgstr "" +msgstr "Фактическая триггерная цена, по которой ордер заполняется, будет зависеть от комиссий и влияния цены на момент выполнения, чтобы гарантировать получение минимальной суммы получения." #: src/components/Exchange/PositionDropdown.tsx msgid "Set TP/SL" -msgstr "" +msgstr "Установить TP/SL" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition. The Order will get filled when the condition is met." -msgstr "Цена исполнения не соответствует условиям Допустимой Цены. Ордер будет исполнен, когда условия будут выполнены." +msgstr "Цена Выполнения не соответствует условию Допустимой Цены. Ордер будет заполнен, когда условие будет выполнено." #: src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx msgid "Initial Collateral (Collateral excluding Borrow and Funding Fee)." -msgstr "" +msgstr "Первоначальный Залог (Залог без Комиссии за Заимствование и Финансирование)." #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "Net Rate / 1h" -msgstr "Чистая ставка / 1ч" +msgstr "Чистая Ставка / 1ч" #: src/pages/Stake/ClaimModal.tsx msgid "Claim esGMX Rewards" -msgstr "" +msgstr "Требовать Награды esGMX" #: src/pages/Stake/Stake.tsx msgid "Trading incentives program is live on {avalancheLink}." -msgstr "" +msgstr "Программа стимулов торговли активна на {avalancheLink}." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending sell request" -msgstr "" +msgstr "Отправка запроса на продажу" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx @@ -3935,11 +3983,11 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "NA" -msgstr "" +msgstr "Н/Д" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This action will not apply for that position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "У вас есть существующая позиция с {0} в качестве залога. Это действие не применится к той позиции. <0>Переключиться на залог {1}</0>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3947,7 +3995,7 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Trigger price for the order." -msgstr "Цена триггера для ордера." +msgstr "Триггерная цена для ордера." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4004,24 +4052,24 @@ msgstr "Шорт" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "PnL ($)" -msgstr "" +msgstr "PnL ($)" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "GMX Market Tokens" -msgstr "" +msgstr "Токены Рынка GMX" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is above mark price" -msgstr "" +msgstr "Цена Стоп-Маркета выше маркированной цены" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Txn failed. <0>View</0>." -msgstr "" +msgstr "Транзакция не удалась. <0>Просмотреть</0>." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Affiliate Vault" -msgstr "" +msgstr "Аффилиатское Хранилище" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/trade/utils/validation.ts @@ -4034,12 +4082,12 @@ msgstr "Обновление..." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Increase" -msgstr "Рыночное увеличение не удалось" +msgstr "Неудачное Рыночное Увеличение" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "" +#~ msgid "EIP-4844 Competition" +#~ msgstr "Соревнование EIP-4844" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4053,23 +4101,23 @@ msgstr "" #: src/components/Synthetics/PositionList/PositionList.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Liq. Price" -msgstr "Лик. Цена" +msgstr "Ликв. Цена" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trading Pair Price Alerts" -msgstr "" +msgstr "Оповещения о Ценах Торговых Пар" #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The exact execution price may vary depending on fees at the time the order is executed." -msgstr "Вы получите не менее {0} {1}, если этот ордер будет выполнен. Точная цена исполнения может варьироваться в зависимости от комиссионных сборов на момент исполнения ордера." +msgstr "Вы получите минимум {0} {1}, если этот ордер будет выполнен. Точная цена выполнения может варьироваться в зависимости от комиссий на момент выполнения ордера." #: src/components/Common/SEO.tsx msgid "GMX | Decentralized Perpetual Exchange" -msgstr "" +msgstr "GMX | Децентрализованная Биржа Перпетуалов" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "<0>Botanix</0> currently only supports" -msgstr "" +msgstr "<0>Botanix</0> в настоящее время поддерживает только" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "No position" @@ -4083,20 +4131,20 @@ msgstr "Купить GLP" #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel failed" -msgstr "Отменить не удалось" +msgstr "Отмена не удалась" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "{daysConsidered}d Earned Fees" -msgstr "" +msgstr "{daysConsidered}д Заработанных Комиссий" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Fulfilling order request" -msgstr "" +msgstr "Выполнение запроса ордера" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance to pay for gas" -msgstr "" +msgstr "Недостаточно баланса {0} для оплаты газа" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can currently vest a maximum of {0} esGMX tokens at a ratio of {1} {stakingToken} to 1 esGMX." @@ -4104,19 +4152,19 @@ msgstr "В настоящее время вы можете вестить мак #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy AVAX directly to Avalanche or transfer it there." -msgstr "" +msgstr "Купить AVAX напрямую в Avalanche или перевести туда." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Open Ocean" -msgstr "" +msgstr "Open Ocean" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Single" -msgstr "" +msgstr "Одиночный" #: src/domain/synthetics/orders/prepareOrderTxn.ts msgid "Error preparing transaction. Provider is not defined" -msgstr "" +msgstr "Ошибка подготовки транзакции. Провайдер не определён" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx msgid "Funding fees" @@ -4124,33 +4172,33 @@ msgstr "Комиссии за финансирование" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity in GM Pool" -msgstr "" +msgstr "Недостаточно ликвидности в Пуле GM" #: src/components/Exchange/ExchangeBanner.jsx msgid "Trade on GMX and win <0>$250.000</0> in prizes! Live until November 30th, <1>click here</1> to learn more." -msgstr "Торгуйте на GMX и выиграйте <0>$250.000</0> в качестве призов! Действует до 30 ноября, <1> нажмите здесь</1>, чтобы узнать больше.\"" +msgstr "Торгуйте на GMX и выиграйте <0>$250.000</0> в призах! Действует до 30 ноября, <1>нажмите здесь</1>, чтобы узнать больше." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "tBTC LP incentives" -msgstr "" +msgstr "Стимулы LP tBTC" #: src/components/ModalViews/RedirectModal.tsx msgid "You are leaving GMX.io and will be redirected to a third party, independent website." -msgstr "Вы покидаете сайт GMX.io и будете перенаправлены на сторонний, независимый сайт." +msgstr "Вы покидаете GMX.io и будете перенаправлены на сторонний, независимый сайт." #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Borrow Fee" -msgstr "" +msgstr "Начисленная Комиссия за Заимствование" #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "Read more." -msgstr "" +msgstr "Подробнее." #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "PnL Analysis" -msgstr "" +msgstr "Анализ PnL" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "View Details" @@ -4158,58 +4206,58 @@ msgstr "" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}." -msgstr "" +msgstr "Нет доступного пути обмена. <0>Обмен {0} на {swapToTokenSymbol}</0>, затем на {1}." #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Longs" -msgstr "" +msgstr "Лонги" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit submitted." -msgstr "" +msgstr "Депозит отправлен." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown sell GM order" -msgstr "" +msgstr "Неизвестный ордер на продажу GM" #: src/components/NotifyModal/NotifyModal.tsx msgid "<0>Notifications are provided by Notifi and not affiliated with GMX. By subscribing, you agree that info you provide to Notifi will be governed by its </0><1>Privacy Policy</1><2> and </2><3>Terms of Use</3>." -msgstr "" +msgstr "<0>Уведомления предоставляются Notifi и не связаны с GMX. Подписываясь, вы соглашаетесь, что информация, предоставленная Notifi, регулируется её </0><1>Политикой Конфиденциальности</1><2> и </2><3>Условиями Использования</3>." #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} and {avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} и {avalancheLink} Пулы GLV <0>стимулированы{sparkle}.</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Limit: {0} a long position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} Лонг Лимит: {0} лонг позицию, когда цена ниже триггерной цены." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1} to {2} within GMX.<2/><3/><4>You can buy {3} on 1inch.</4>" -msgstr "" +msgstr "{0} требуется для залога.<0/><1/>Нет пути обмена для {1} на {2} в GMX.<2/><3/><4>Вы можете купить {3} на 1inch.</4>" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "У вас есть существующая позиция в пуле рынка {0}.<0><1>Переключиться на пул рынка {1}</1>.</0>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Capital Used" -msgstr "" +msgstr "Использованный Капитал" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 10 symbols in name" -msgstr "" +msgstr "Макс. 10 символов в имени" #: src/pages/Dashboard/StatsCard.tsx msgid "Users" -msgstr "" +msgstr "Пользователи" #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx msgid "Gas Payment Token" -msgstr "" +msgstr "Токен Оплаты Газа" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -4224,36 +4272,36 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Price Impact" -msgstr "Влияние цены" +msgstr "Влияние Цены" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a token" -msgstr "" +msgstr "Выбрать токен" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Market Traders’ PnL" -msgstr "" +msgstr "Экспозиция к PnL Трейдеров Рынка" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" -msgstr "" +msgstr "Оптимальный" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "UI Fee" -msgstr "" +msgstr "Комиссия UI" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Execute order simulation failed." -msgstr "" +msgstr "Симуляция выполнения ордера не удалась." #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Invalid Transfer Addresses: Please check the url." -msgstr "" +msgstr "Недопустимые Адреса Перевода: Пожалуйста, проверьте URL." #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4262,35 +4310,36 @@ msgstr "Состав Индекса GLP" #: src/domain/synthetics/positions/utils.ts msgid "TP" -msgstr "" +msgstr "TP" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "<0>Claimable Funding Fee.</0>" -msgstr "" +msgstr "<0>Требуемая Комиссия за Финансирование.</0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Log in to your Binance app and tap [Wallets]. Go to [Web3]." -msgstr "Войдите в свое приложение Binance и нажмите [Кошельки]. Перейдите в [Web3]." +msgstr "Войдите в приложение Binance и нажмите [Кошельки]. Перейдите в [Web3]." #: src/components/Synthetics/Claims/ClaimableCard.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Claimable" -msgstr "Заявленный" +msgstr "Требуемый" #: src/components/Exchange/OrdersToa.jsx msgid "Additionally, trigger orders are market orders and are not guaranteed to settle at the trigger price." -msgstr "Кроме того, триггерные ордера являются рыночными и не гарантируют расчет по триггерной цене." +msgstr "Кроме того, триггерные ордера являются рыночными и не гарантируют расчёт по триггерной цене." #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" msgstr "Документация" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Stats" -msgstr "" +msgstr "Статистика Торговли GMX" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx @@ -4301,7 +4350,7 @@ msgstr "Создание Ордера..." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit disabled, pending {0} upgrade" -msgstr "" +msgstr "Депозит отключён, ожидается обновление {0}" #: src/pages/Jobs/Jobs.jsx msgid "Jobs" @@ -4314,19 +4363,15 @@ msgstr "Децентрализованные Опционные Стратеги #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Technical Announcements" -msgstr "" +msgstr "Технические Анонсы GMX" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Market" -msgstr "" +msgstr "Неудачный Стоп-Маркет" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Address copied to your clipboard" -msgstr "" - -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "" +msgstr "Адрес скопирован в буфер обмена" #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4337,34 +4382,34 @@ msgstr "Настройки" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs Trading Simulations" -msgstr "" +msgstr "Симуляции Торговли Compass Labs" #: src/components/Referrals/AffiliatesStats.tsx msgid "Amount of traders you referred." -msgstr "" +msgstr "Количество трейдеров, которых вы пригласили." #: src/components/Exchange/PositionSeller.jsx msgid "GMX V1 only supports closing positions using market orders. For advanced trading features, use GMX V2." -msgstr "" +msgstr "GMX V1 поддерживает только закрытие позиций рыночными ордерами. Для продвинутых функций торговли используйте GMX V2." #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Take Profit" -msgstr "" +msgstr "Take Profit" #: src/components/Exchange/PositionSeller.jsx msgid "Close submitted!" -msgstr "" +msgstr "Закрытие отправлено!" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Hour(s)" -msgstr "" +msgstr "Час(ы)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} liquidity" -msgstr "" +msgstr "Недостаточно ликвидности {0}" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -4373,20 +4418,20 @@ msgstr "Создатель" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Derivatives Portfolio Tracker" -msgstr "" +msgstr "Трекер Портфеля Деривативов" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit" -msgstr "" +msgstr "Создать Лимит" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer already initiated" -msgstr "Перевод уже начат" +msgstr "Перевод уже инициирован" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw submitted." -msgstr "" +msgstr "Вывод отправлен." #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -4395,11 +4440,11 @@ msgstr "Введите код" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "Details" -msgstr "" +msgstr "Детали" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Umami DAO" -msgstr "" +msgstr "Umami DAO" #: src/components/Exchange/OrdersList.jsx #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -4408,10 +4453,10 @@ msgstr "Ордер" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Avalanche" -msgstr "" +msgstr "Стейкано на Avalanche" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" msgstr "Медиа-Кит" @@ -4421,7 +4466,7 @@ msgstr "Снизить Риски Ликвидации" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "UniDex Leverage" -msgstr "" +msgstr "UniDex Плечо" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "collateral" @@ -4442,15 +4487,15 @@ msgstr "Нет открытых ордеров" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche Fuji" -msgstr "" +msgstr "Трейдеры, Привлечённые на Avalanche Fuji" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claim V2 Rebates from your referred Traders." -msgstr "" +msgstr "Требовать V2 Рибейты от ваших привлечённых Трейдеров." #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in GM Pools." -msgstr "" +msgstr "Общая стоимость токенов в Пулах GM." #: src/components/Glp/GlpSwap.jsx msgid "Reserved" @@ -4459,7 +4504,7 @@ msgstr "Зарезервировано" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Botanix" -msgstr "" +msgstr "Botanix" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -4468,134 +4513,135 @@ msgstr "Цена ниже Ликв. Цены" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit / Stop Loss" +msgstr "Take Profit / Stop Loss" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" msgstr "" #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" -msgstr "" +msgstr "Недостаточно {0} на вашем аккаунте в {networkName} для отправки этой транзакции.<0/><1/><2>Купить или Перевести {1} в {networkName}</2>" #: src/components/TVChartContainer/constants.ts msgid "SL - Long Dec." -msgstr "" +msgstr "SL - Лонг Уменьш." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Airdrop" -msgstr "" +msgstr "Аирдроп" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake submitted!" -msgstr "" +msgstr "Снятие стейкинга отправлено!" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "This competition is held on the {0} network. <0>Change your network</0> to participate." -msgstr "" +msgstr "Это соревнование проводится в сети {0}. <0>Измените вашу сеть</0> для участия." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Loss" -msgstr "" +msgstr "Создать Stop Loss" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to generate session" -msgstr "" +msgstr "Не удалось сгенерировать сессию" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "This competition has ended." -msgstr "" +msgstr "Это соревнование завершено." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx msgid "Shorts Net Rate / 1h" -msgstr "Чистая ставка шортов / 1ч" +msgstr "Чистая Ставка Шортов / 1ч" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" -msgstr "" +msgstr "Хранилища GLV" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Portuguese)" -msgstr "" +msgstr "GMX (Португальский)" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Stake GMX</0> and earn {gmxAvgAprText} APR" -msgstr "" +msgstr "<0>Стейкать GMX</0> и зарабатывать {gmxAvgAprText} Годовую Процентную Ставку" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Mozaic Finance" -msgstr "" +msgstr "Mozaic Finance" #: src/pages/Exchange/Exchange.tsx msgid "Withdrew {0} USD from {tokenSymbol} {longOrShortText}." -msgstr "Снял {0} USD с {tokenSymbol} {longOrShortText}." +msgstr "Выведено {0} USD из {tokenSymbol} {longOrShortText}." #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Accrued Funding Fee." -msgstr "" +msgstr "Начисленная Комиссия за Финансирование." #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw failed." -msgstr "" +msgstr "Вывод не удался." #: src/pages/Stake/ClaimModal.tsx msgid "Pending GMX approval" -msgstr "" +msgstr "Ожидание одобрения GMX" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "No markets found." -msgstr "" +msgstr "Рынки не найдены." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "ODOS" -msgstr "" +msgstr "ODOS" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Substack" -msgstr "" +msgstr "GMX Substack" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Positions Bot" -msgstr "" +msgstr "Бот Позиций GMX" #: src/components/Referrals/TradersStats.tsx msgid "Edit Referral Code" -msgstr "Редактирование Реферального Кода" +msgstr "Редактировать Реферальный Код" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Take Profit" -msgstr "" +msgstr "Выполнить Take Profit" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stryke" -msgstr "" +msgstr "Stryke" #: src/components/Errors/errorToasts.tsx msgid "External swap is temporarily disabled. Please try again." -msgstr "" +msgstr "Внешний обмен временно отключён. Пожалуйста, попробуйте позже." #: src/components/Stake/GMXAprTooltip.tsx msgid "GMX APR" -msgstr "" - -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "" +msgstr "Годовая Процентная Ставка GMX" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" -msgstr "" +msgstr "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "У вас есть существующий лимитный ордер в пуле рынка {0}.<0><1>Переключиться на пул рынка {1}</1>.</0>" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" -msgstr "" +msgstr "Уменьшение" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "You have set a high allowed slippage. The current swap impact including fees is {0}." -msgstr "" +msgstr "Вы установили высокое допустимое скольжение. Текущее влияние обмена включая комиссии составляет {0}." #: src/components/Referrals/AffiliatesStats.tsx msgid "Create Referral Code" @@ -4603,7 +4649,7 @@ msgstr "Создать Реферальный Код" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined take profits are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "Комбинированные take profit на максимуме (100%). Уменьшите существующие значения, чтобы добавить больше ордеров." #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks" @@ -4611,7 +4657,7 @@ msgstr "Сети" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: {1}, Price: {priceDisplay}" -msgstr "" +msgstr "{0}: {1}, Цена: {priceDisplay}" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx @@ -4621,19 +4667,19 @@ msgstr "ПУЛ" #: src/components/Header/HomeHeaderLinks.tsx msgid "Voting" -msgstr "" +msgstr "Голосование" #: src/components/Exchange/TradeHistory.jsx msgid "This position was liquidated as the max leverage of 100x was exceeded." -msgstr "Эта позиция была ликвидирована, так как было превышено максимальное кредитное плечо 100x." +msgstr "Эта позиция была ликвидирована, поскольку превышено максимальное плечо 100x." #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "<0>Switch to:</0>" -msgstr "" +msgstr "<0>Переключить на:</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Limit: {0} a short position when the price is above the trigger price." -msgstr "" +msgstr "{typeString} Шорт Лимит: {0} шорт позицию, когда цена выше триггерной цены." #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "No trades match the selected filters" @@ -4646,7 +4692,7 @@ msgstr "Уменьшено" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Updating {orderText}." -msgstr "" +msgstr "Обновление {orderText}." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4661,15 +4707,15 @@ msgstr "Уменьшить" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover collateral below 5 USD" -msgstr "" +msgstr "Остаток залога ниже 5 USD" #: src/lib/legacy.ts msgid "Order cannot be executed as it would reduce the position's leverage below 1" -msgstr "Ордер не может быть выполнен, так как это уменьшит позицию кредитного плеча ниже 1" +msgstr "Ордер не может быть выполнен, так как это уменьшит кредитное плечо позиции ниже 1" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "Existing Executable Trigger Orders" -msgstr "" +msgstr "Существующие исполняемые триггерные ордера" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Weight" @@ -4677,23 +4723,23 @@ msgstr "Вес" #: src/components/Exchange/PositionShare.tsx msgid "Link copied to clipboard." -msgstr "Ссылка копируется в буфер обмена." +msgstr "Ссылка скопирована в буфер обмена." #: src/components/SettingsModal/SettingsModal.tsx msgid "Max slippage precision is -0.01%" -msgstr "" +msgstr "Максимальная точность проскальзывания -0.01%" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Dec." -msgstr "Дец." +msgstr "Дек." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Weekly Updates" -msgstr "Еженедельные Обновления MX" +msgstr "Еженедельные обновления GMX" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} only from your long position." -msgstr "" +msgstr "Вы будете в лонге {indexSymbol} только из вашей длинной позиции." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal}" @@ -4702,16 +4748,15 @@ msgstr "Всего активных: {openTotal}, выполненных: {execu #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h Low" -msgstr "" +msgstr "Минимум за 24ч" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "" +#~ msgid "Chain Icon" +#~ msgstr "Иконка цепочки" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" -msgstr "" +msgstr "Запрос на расчет {0, plural, one {# позиции} other {# позиций}} отправлен" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -4720,77 +4765,78 @@ msgstr "Цена на Arbitrum" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM можно продать за {0} для этого рынка до указанных лимитов продажи. Оставшиеся токены в пуле зарезервированы для текущих открытых позиций." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "REBATE" -msgstr "" +msgstr "ВОЗВРАТ" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." -msgstr "" - -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "" +msgstr "Может не хватить ликвидности для выполнения вашего ордера, когда будет достигнуто минимальное получение." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" -msgstr "" +msgstr "Всего торгов" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Market Composition" -msgstr "" +msgstr "Состав рынка" #: src/components/Errors/errorToasts.tsx msgid "<0>Permit signature is invalid. Please try again.</0>" -msgstr "" +msgstr "<0>Подпись разрешения недействительна. Пожалуйста, попробуйте снова.</0>" #: src/components/NpsModal/NpsModal.tsx msgid "Enter your answer here" -msgstr "" +msgstr "Введите ваш ответ здесь" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Firebird Finance" -msgstr "" +msgstr "Firebird Finance" #: src/pages/Stake/Stake.tsx msgid "Stake GMX" -msgstr "" +msgstr "Стейк GMX" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shifting from <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> to <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" -msgstr "" +msgstr "Переход от <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> к <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TWAP: {0} a long position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} Лонг TWAP: {0} длинную позицию в равномерно распределенных частях за указанное время." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated!" msgstr "Реферальный код обновлен!" +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "СОСТАВ" + #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" -msgstr "" +msgstr "Избранное" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} short capacity" -msgstr "Максимальная {0} вместимость шорта" +msgstr "Максимальная емкость шорта {0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition." -msgstr "Цена исполнения не соответствует условиям Допустимой Цены." +msgstr "Цена исполнения не соответствует условию допустимой цены." #: src/pages/Stake/VesterDepositModal.tsx msgid "Reserve Amount" -msgstr "" +msgstr "Резервная сумма" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling buy request" -msgstr "" +msgstr "Выполнение запроса на покупку" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Reason: {0}" @@ -4798,7 +4844,7 @@ msgstr "Причина: {0}" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Approval nonce expired. Please sign a new approval." -msgstr "" +msgstr "Нонс одобрения One-Click истек. Пожалуйста, подпишите новое одобрение." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -4813,45 +4859,45 @@ msgstr "Доступная ликвидность" #: src/components/Exchange/SwapBox.jsx msgid "A snapshot of the USD value of your {0} collateral is taken when the position is opened." -msgstr "Снимок долларовой стоимости вашего залога {0} делается в момент открытия позиции." +msgstr "Снимок стоимости в USD вашего залога {0} делается при открытии позиции." #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx msgid "All time" -msgstr "Всё время" +msgstr "За все время" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Select your vesting option below then click \"Claim\"." -msgstr "Выберите свой вариант вестинга ниже и нажмите \"Утвердить\"." +msgstr "Выберите вариант вестинга ниже и нажмите \"Запросать\"." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." -msgstr "" +msgstr "Количество частей по умолчанию для ордеров со средневзвешенной ценой по времени (TWAP)." #: src/pages/Home/Home.tsx msgid "Save on Costs" -msgstr "Сэкономь на Расходах" +msgstr "Сэкономьте на расходах" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order cancelled" -msgstr "" +msgstr "Ордер на покупку отменен" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Reserve" -msgstr "" +msgstr "{longShortText} {0} Резерв" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Cancel newly created orders" -msgstr "" +msgstr "Отменить недавно созданные ордера" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegate" -msgstr "" +msgstr "Делегат" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Harmonix" -msgstr "" +msgstr "Harmonix" #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid NFT Address" @@ -4859,39 +4905,39 @@ msgstr "Неверный адрес NFT" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LIQ." -msgstr "" +msgstr "ЛИКВ." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP and GMX autocompounding vaults" -msgstr "" +msgstr "Хранилища с автокомпаундингом GLP и GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "esGMX OTC Market" -msgstr "" +msgstr "Рынок OTC esGMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Leverage Trading Terminal" -msgstr "" +msgstr "Терминал торговли с кредитным плечом" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing shorts and<0/>decreasing longs." -msgstr "" +msgstr "Цены исполнения для увеличения шортов и<0/>уменьшения лонгов." #: src/pages/Stake/Stake.tsx msgid "Deposit <0>GMX</0> and <1>esGMX</1> tokens to earn rewards." -msgstr "" +msgstr "Внесите <0>GMX</0> и <1>esGMX</1> токены, чтобы получать вознаграждения." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "The bonus rebate is an estimate and can be up to {0}% of the open fee. It will be airdropped as {incentivesTokenTitle} tokens on a pro-rata basis. <0><1>Read more</1>.</0>" -msgstr "" +msgstr "Бонусный возврат является оценочным и может составлять до {0}% от комиссии за открытие. Он будет сброшен в виде токенов {incentivesTokenTitle} на пропорциональной основе. <0><1>Подробнее</1>.</0>" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>The order will be executed when the oracle price is {0} {1}.</0><1/><2>Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if the price impact exceeds your acceptable price.</2>" -msgstr "" +msgstr "<0>Ордер будет выполнен, когда цена оракула будет {0} {1}.</0><1/><2>Обратите внимание, что могут быть редкие случаи, когда ордер не может быть выполнен, например, если цепочка не работает и нет отчетов оракула или если влияние цены превышает вашу допустимую цену.</2>" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Market" -msgstr "" +msgstr "Создать стоп-маркет" #: src/components/Exchange/SwapBox.jsx msgid "Swap submitted!" @@ -4899,14 +4945,14 @@ msgstr "Обмен подан!" #: src/components/Exchange/SwapBox.jsx msgid "V1 trading disabled. Switch to V2" -msgstr "" +msgstr "Торговля V1 отключена. Переключитесь на V2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche" -msgstr "" +msgstr "V1 Avalanche" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -4919,27 +4965,27 @@ msgstr "Залог ({0})" #: src/pages/Stake/StakeModal.tsx msgid "You will earn {0}% more rewards with this action." -msgstr "" +msgstr "Вы заработаете {0}% больше вознаграждений с этим действием." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" -msgstr "" +msgstr "Максимальный буфер комиссии сети" #: src/components/Exchange/OrderEditor.jsx msgid "Order updated!" -msgstr "Ордер обновлён!" +msgstr "Ордер обновлен!" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "Вы будете в шорте {indexSymbol} из вашей короткой позиции, в то время как в лонге {collateralSymbol} из вашего залога {collateralSymbol}. Цена ликвидации будет варьироваться в зависимости от цены {collateralSymbol}." #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Market: Swap tokens at the current market price." -msgstr "" +msgstr "Рыночный обмен: Обмен токенов по текущей рыночной цене." #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "TVL/CAP" -msgstr "" +msgstr "TVL/КАП" #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx @@ -4948,11 +4994,11 @@ msgstr "Выберите пул, содержащий {0}, чтобы испол #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Trading Simulations on GMX using DOJO" -msgstr "" +msgstr "Симуляции торговли на GMX с использованием DOJO" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Farming" -msgstr "" +msgstr "Доходное фермерство" #: src/lib/contracts/callContract.tsx msgid "Transaction completed!" @@ -4964,7 +5010,7 @@ msgstr "Одобрение..." #: src/components/Exchange/PositionSeller.jsx msgid "Neither Collateral nor realized PnL is enough to cover pending Fees. Please close a larger position amount." -msgstr "" +msgstr "Ни залог, ни реализованный PnL недостаточны для покрытия ожидающих комиссий. Пожалуйста, закройте большую сумму позиции." #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -4973,14 +5019,15 @@ msgstr "УТИЛИЗАЦИЯ" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "One-Click Settings" -msgstr "" +msgstr "Настройки One-Click" #: src/components/NotifyModal/NotifyModal.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements" -msgstr "" +msgstr "Объявления GMX" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" @@ -4988,45 +5035,45 @@ msgstr "Рефералы" #: src/components/Exchange/PositionSeller.jsx msgid "Max Leverage without PnL: 100x" -msgstr "" +msgstr "Максимальное плечо без PnL: 100x" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Short" -msgstr "Подтвердить Шорт" +msgstr "Подтвердить шорт" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Short Liquidity" -msgstr "" +msgstr "Ликвидность шорта" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Order Type" -msgstr "" +msgstr "Тип ордера" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order executed" -msgstr "" +msgstr "Ордер на продажу выполнен" #: src/domain/synthetics/orders/createStakeOrUnStakeTxn.tsx msgid "Failed to {0}" -msgstr "" +msgstr "Не удалось {0}" #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Affiliate Rewards Claimed" -msgstr "" +msgstr "Вознаграждения аффилиата запрошены" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Order error. Prices are currently volatile for this market, try again by <0>increasing the allowed slippage</0> under the advanced display section." -msgstr "" +msgstr "Ошибка ордера. Цены в настоящее время волатильны для этого рынка, попробуйте снова, <0>увеличив допустимое проскальзывание</0> в разделе расширенного отображения." #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Swap Price Impact for External Swap Threshold" -msgstr "" +msgstr "Влияние цены обмена для порога внешнего обмена" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Limit / Take Profit / Stop Loss" -msgstr "" +msgstr "Лимит / Тейк-профит / Стоп-лосс" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -5036,28 +5083,25 @@ msgstr "Спред" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "This position was liquidated as the max. leverage of {formattedMaxLeverage} was exceeded when taking into account fees." -msgstr "Эта позиция была ликвидирована, так как было превышено максимальное кредитное плечо {formattedMaxLeverage} при учете комиссий." +msgstr "Эта позиция была ликвидирована, так как максимальное кредитное плечо {formattedMaxLeverage} было превышено с учетом комиссий." #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Swap {0}" -msgstr "" +msgstr "Обмен {0}" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order submitted!" -msgstr "Обменный Ордер подан!" +msgstr "Ордер на обмен подан!" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5068,13 +5112,13 @@ msgstr "Обменный Ордер подан!" msgid "Loading..." msgstr "Загрузка..." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" -msgstr "" +msgstr "Включить PnL в отображение плеча" #: src/components/Exchange/PositionsList.jsx msgid "Share" -msgstr "Акции" +msgstr "Поделиться" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -5090,40 +5134,40 @@ msgstr "Торги" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available." -msgstr "" +msgstr "Нет доступного пути обмена." #: src/pages/Ecosystem/Ecosystem.tsx msgid "Telegram Groups" -msgstr "Группы в Телеграмме " +msgstr "Группы в Telegram" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Search Action" -msgstr "" +msgstr "Поиск действия" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" -msgstr "" +msgstr "Показать слайдер плеча" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Cancelling {orderText}." -msgstr "" +msgstr "Отмена {orderText}." #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "" +#~ msgid "CONCLUDED" +#~ msgstr "ЗАВЕРШЕНО" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" -msgstr "" +msgstr "Дельта залога" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "Realized PnL after fees and price impact." -msgstr "" +msgstr "Реализованный PnL после комиссий и влияния цены." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Long Liquidity" -msgstr "" +msgstr "Ликвидность лонга" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -5135,36 +5179,36 @@ msgstr "Цена исполнения ордера." #: src/components/AprInfo/AprInfo.tsx msgid "wstETH APR" -msgstr "" +msgstr "APR wstETH" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group" -msgstr "Группа в Телеграмме" +msgstr "Группа в Telegram" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TP/SL: {0} a long position when the trigger price is reached." -msgstr "" +msgstr "{typeString} Лонг TP/SL: {0} длинную позицию, когда достигнута цена триггера." #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{toTokenIcon}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> в </1>{toTokenIcon}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in any {0}/USD market pools for your order." -msgstr "Недостаточная ликвидность во всех из {0}/USD рыночных пулов для вашего ордера." +msgstr "Недостаточная ликвидность в любых пулах рынка {0}/USD для вашего ордера." #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have not traded during the selected period." -msgstr "" +msgstr "Вы не торговали в выбранный период." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "The trigger price for this order is based on the swap fees and price impact to guarantee that you will receive at least {toMinText} on order execution." -msgstr "" +msgstr "Цена триггера для этого ордера основана на комиссиях обмена и влиянии цены, чтобы гарантировать, что вы получите как минимум {toMinText} при исполнении ордера." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated failed." -msgstr "Обновление реферального кода не прошло" +msgstr "Обновление реферального кода не удалось" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -5182,6 +5226,7 @@ msgstr "Обновление реферального кода не прошло #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5194,54 +5239,49 @@ msgstr "Цена" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing was cancelled" -msgstr "" +msgstr "Подпись разрешения отменена" #: src/components/Exchange/PositionSeller.jsx msgid "Realized PnL insufficient for Fees" -msgstr "" +msgstr "Реализованный PnL недостаточен для комиссий" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending shift request" -msgstr "" +msgstr "Отправка запроса на сдвиг" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Optimizer" -msgstr "" +msgstr "Оптимизатор Yield Yak" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Incorrect Account" -msgstr "Неверный Счет" +msgstr "Неверный аккаунт" #: src/components/Exchange/PositionEditor.jsx msgid "Min residual collateral: 10 USD" -msgstr "" +msgstr "Минимальный остаточный залог: 10 USD" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX & Voting Power" -msgstr "" +msgstr "GMX и сила голосования" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GMX is the utility and governance token. Accrues 30% and 27% of V1 and V2 markets generated fees, respectively." -msgstr "" +msgstr "GMX - это утилитарный и управленческий токен. Накапливает 30% и 27% комиссий рынков V1 и V2 соответственно." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transferring" -msgstr "Передим" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "" +msgstr "Передача" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" -msgstr "" +msgstr "Хранилища с автокомпаундингом GLP" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "TP/SL orders exceed the position" -msgstr "" +msgstr "Ордера TP/SL превышают позицию" #: src/components/Glp/GlpSwap.jsx msgid "Buy failed." @@ -5250,44 +5290,44 @@ msgstr "Покупка не удалась." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "pay" -msgstr "" +msgstr "оплатить" #: src/pages/Dashboard/GmxCard.tsx msgid "Total circulating supply of GMX tokens." -msgstr "" +msgstr "Общий циркулирующий запас токенов GMX." #: src/pages/Dashboard/WeightText.tsx msgid "Target Weight" -msgstr "Целевой Вес" +msgstr "Целевой вес" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "" +#~ msgid "Winners:" +#~ msgstr "Победители:" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." -msgstr "При закрытии позиции вы можете выбрать, в каком токене вы хотели бы получить прибыль." +msgstr "При закрытии позиции вы можете выбрать, в каком токене получать прибыль." #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "You can have up to {allowedAutoCancelOrdersNumber} active auto-cancelable TP/SL orders. Additional orders must be canceled manually, while existing ones will still close automatically with their related position." -msgstr "" +msgstr "У вас может быть до {allowedAutoCancelOrdersNumber} активных автоканцелируемых ордеров TP/SL. Дополнительные ордера должны отменяться вручную, в то время как существующие все равно закроются автоматически с связанной позицией." #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL (%)" -msgstr "" +msgstr "Топ PnL (%)" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met." -msgstr "" +msgstr "Может не хватить ликвидности для выполнения вашего ордера, когда условия цены будут выполнены." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Error submitting coins" -msgstr "" +msgstr "Ошибка отправки монет" #: src/components/Glp/GlpSwap.jsx msgid "WARNING: High Fees" -msgstr "ВНИМАНИЕ: высокие тарифы" +msgstr "ВНИМАНИЕ: Высокие комиссии" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Swap Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Swap Liquidity." @@ -5295,7 +5335,7 @@ msgstr "Недостаточно доступной ликвидности об #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP Swap" -msgstr "" +msgstr "Отменить TWAP обмен" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -5303,6 +5343,10 @@ msgstr "" msgid "Transaction" msgstr "Транзакция" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "Последний год" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5311,31 +5355,31 @@ msgstr "Транзакция" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Invalid liq. price" -msgstr "Неверная цена лик." +msgstr "Неверная цена ликвид." #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized Buy Pressure (BB&D):" -msgstr "" +msgstr "Годовое давление на покупку (BB&D):" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "buy" -msgstr "" +msgstr "купить" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAILABLE LIQ." -msgstr "" +msgstr "ДОСТУПНАЯ ЛИКВ." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized pnl" -msgstr "" +msgstr "Начальный нереализованный PnL" #: src/config/events.tsx msgid "Increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions." -msgstr "" +msgstr "Увеличение позиций (рынок или лимит), добавление залога и обмен на GMX V1 теперь отключены. Вы все еще можете закрывать существующие позиции." #: src/domain/tokens/approveTokens.tsx msgid "Approval submitted! <0>View status.</0>" -msgstr "Одобрение получено! <0>View status.</0>" +msgstr "Одобрение подано! <0>Просмотреть статус.</0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size is 0" @@ -5343,38 +5387,46 @@ msgstr "Размер ордера равен 0" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please reduce the buy size, pick a different GM token, or shift the GM tokens to a different pool and try again." -msgstr "" +msgstr "Достигнут лимит покупки для пула GM: {0} в {1} [{2}]. Пожалуйста, уменьшите размер покупки, выберите другой токен GM или сдвиньте токены GM в другой пул и попробуйте снова." #: src/components/Exchange/PositionSeller.jsx msgid "Close {longOrShortText} {0}" -msgstr "" +msgstr "Закрыть {longOrShortText} {0}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" -msgstr "" +msgstr "Отключить валидацию для тестирования" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited!" -msgstr "" +msgstr "Внесено!" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx msgid "TP/SL" -msgstr "" +msgstr "TP/SL" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Max {0} in" -msgstr "Максимум {0} в" +msgstr "Макс {0} в" + +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "Пока нет элементов" #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" +msgstr "Снижение стоп-лосс" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" msgstr "" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Diff" -msgstr "Раз" +msgstr "Разница" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dashboard for GMX referral stats" @@ -5390,7 +5442,7 @@ msgstr "Действие" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx msgid "Supply" -msgstr "Обеспечение" +msgstr "Поставка" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -5401,35 +5453,43 @@ msgstr "Нет открытых позиций" #: src/components/DepthChart/DepthChart.tsx msgid "Size, $" -msgstr "" +msgstr "Размер, $" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Close {0} {1}{2}" -msgstr "" +msgstr "Закрыть {0} {1}{2}" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GLV" -msgstr "" +msgstr "Продать GLV" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b Retroactive Bonus" -msgstr "" +msgstr "Ретроактивный бонус STIP.b" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right." -msgstr "Попробуйте увеличить \" Допустимое Скольжение\", под меню Настройки в правом верхнем углу" +msgstr "Попробуйте увеличить \"Допустимое проскальзывание\" в меню Настройки в правом верхнем углу." #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy AVAX directly on <0>Avalanche</0> using these options:" -msgstr "" +msgstr "Вы можете купить AVAX напрямую на <0>Avalanche</0> с использованием этих опций:" #: src/components/Exchange/NetValueTooltip.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" +msgstr "Чистая стоимость: Начальный залог + PnL - Комиссия за заем - Комиссия за закрытие" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "30д" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." msgstr "" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" -msgstr "" +msgstr "Запросить вознаграждения аффилиатского хранилища" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select different tokens" @@ -5438,7 +5498,7 @@ msgstr "Выбрать разные токены" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Network Fees" -msgstr "" +msgstr "Высокие комиссии сети" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are very high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -5448,47 +5508,47 @@ msgstr "Комиссии сети в настоящее время очень в msgid "There are more shorts than longs, borrow fees for longing is currently zero" msgstr "Шортов больше, чем лонгов, комиссия за лонг в настоящее время равна нулю." -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" -msgstr "" +msgstr "Последние 90д" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "There is no liquidation price, as the position's collateral value will increase to cover any negative PnL." -msgstr "" +msgstr "Нет цены ликвидации, так как стоимость залога позиции увеличится, чтобы покрыть любой отрицательный PnL." #: src/components/TVChartContainer/DynamicLine.tsx msgid "Edit Order" -msgstr "" +msgstr "Редактировать ордер" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx msgid "Search Pool" -msgstr "" +msgstr "Поиск пула" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Chat" -msgstr "" +msgstr "Чат торговли GMX" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" -msgstr "" +msgstr "24Ч%" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpie" -msgstr "" +msgstr "Perpie" #: src/components/Exchange/UsefulLinks.tsx msgid "Useful Links" -msgstr "Полезные Ссылки" +msgstr "Полезные ссылки" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "Включить внешние обмены" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" -msgstr "" +msgstr "Подтверждения торгов" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -5497,12 +5557,12 @@ msgid "Available" msgstr "Доступно" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "" +#~ msgid "Last 7 days" +#~ msgstr "Последние 7 дней" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" -msgstr "" +msgstr "Solv Finance" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Begin Transfer" @@ -5510,28 +5570,32 @@ msgstr "Начать перевод" #: src/components/RatingToast/RatingToast.tsx msgid "How likely are you to recommend our service to a friend or colleague?" +msgstr "Насколько вероятно, что вы порекомендуете наш сервис другу или коллеге?" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" msgstr "" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" -msgstr "" +msgstr "Недостаточная ликвидность для обмена залога" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx msgid "Market Decrease" -msgstr "Уменьшение рынка" +msgstr "Снижение рынка" #: src/components/NotifyModal/NotifyModal.tsx msgid "Governance Alerts" -msgstr "" +msgstr "Оповещения управления" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for{2} USDG" -msgstr "" +msgstr "Обмен {0} {1} на{2} USDG" #: src/components/Header/HomeHeaderLinks.tsx msgid "Governance" -msgstr "" +msgstr "Управление" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -5547,15 +5611,15 @@ msgstr "Отменить" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} updated." -msgstr "" +msgstr "{orderText} обновлено." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Tradao" -msgstr "" +msgstr "Tradao" #: src/components/Glp/GlpSwap.jsx msgid "Redemption time not yet reached" -msgstr "Срок выкупа еще не наступил" +msgstr "Время выкупа еще не наступило" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -5564,45 +5628,49 @@ msgstr "Недостаточная ликвидность" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Bot" -msgstr "" +msgstr "Telegram бот" #: src/domain/legacy.ts msgid "Order cancelled." -msgstr "Ордер закрыт." +msgstr "Ордер отменен." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Swap Part" -msgstr "" +msgstr "Выполнить часть TWAP обмена" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {seconds} seconds" -msgstr "" +msgstr "<0>каждые</0> {seconds} секунд" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer AVAX to Avalanche" -msgstr "" +msgstr "Купить или перевести AVAX в Avalanche" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "TokenTerminal" +msgstr "TokenTerminal" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for Open Interest on GMX" -msgstr "Telegram бот для Открытого Процента на GMX" +msgstr "Telegram бот для открытого интереса на GMX" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Check the \"Save on Fees\" section below to get the lowest fee percentages." -msgstr "Проверьте раздел \"Экономия на Комиссиях\" ниже, чтобы получить самые низкие проценты комиссионных." +msgstr "Проверьте раздел \"Сэкономьте на комиссиях\" ниже, чтобы получить самые низкие проценты комиссий." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The total realized and unrealized profit and loss for the period, including fees and price impact." -msgstr "" +msgstr "Общий реализованный и нереализованный профит и лосс за период, включая комиссии и влияние цены." #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Ann. Performance" -msgstr "" +msgstr "Годовая производительность" #: src/domain/legacy.ts msgid "The network Fees are very high currently, which may be due to a temporary increase in transactions on the {0} network." @@ -5610,15 +5678,19 @@ msgstr "Комиссии сети в настоящее время очень в #: src/components/Exchange/SwapBox.jsx msgid "Current {0} long" -msgstr "Текущий {0} лонгшезам" +msgstr "Текущий {0} лонг" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{0} orders were not updated as max order limit reached" -msgstr "" +msgstr "{0} ордеров не обновлены, так как достигнут максимальный лимит ордеров" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "90д" #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" -msgstr "" +msgstr "Ордер создан!" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx #: src/domain/synthetics/orders/utils.tsx @@ -5627,27 +5699,27 @@ msgstr "Ликвидация" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Risk Monitoring" -msgstr "" +msgstr "Мониторинг рисков GMX" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GLP tokens before" -msgstr "Получатель не размещал токены GLP ранее" +msgstr "Получатель не стейкал токены GLP ранее" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min collateral: {0}" -msgstr "" +msgstr "Мин залог: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter new amount or price" -msgstr "" +msgstr "Введите новую сумму или цену" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Wins and losses for fully closed positions." -msgstr "" +msgstr "Победы и поражения для полностью закрытых позиций." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "<0>This will claim {formattedRewards} GMX.<1/><2/>After claiming, you can stake these GMX tokens by using the \"Stake\" button in the GMX section of this Earn page.<3/><4/></0>" -msgstr "" +msgstr "<0>Это запросит {formattedRewards} GMX.<1/><2/>После запроса вы можете стейкать эти токены GMX, используя кнопку \"Стейк\" в разделе GMX на этой странице Заработка.<3/><4/></0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Open Binance app" @@ -5661,11 +5733,11 @@ msgstr "Максимальная сумма превышена" #: src/components/Exchange/SwapBox.jsx msgid "Current {0} shorts" -msgstr "Текущий {0} Шорт" +msgstr "Текущие {0} шорты" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "To complete the transfer, you must switch your connected account to {receiver}." -msgstr "Для завершения перевода необходимо переключить подключенный аккаунт на {receiver}." +msgstr "Для завершения перевода вы должны переключить подключенный аккаунт на {receiver}." #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -5682,11 +5754,11 @@ msgstr "Редактировать" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No available leverage found" -msgstr "" +msgstr "Доступное кредитное плечо не найдено" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Only addresses with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "Только адреса с более чем {0} в \"Используемом капитале\" входят в рейтинг." #: src/components/Exchange/ConfirmationBox.jsx msgid "Shorting..." @@ -5694,41 +5766,37 @@ msgstr "Шортинг..." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have a <0>pending transfer</0> to {pendingReceiver}." -msgstr "У вас есть <0>ожидающий переводах</0> на {pendingReceiver}." +msgstr "У вас есть <0>ожидающий перевод</0> на {pendingReceiver}." #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Limit size is required" -msgstr "" +msgstr "Требуется лимит размера" #: src/pages/Buy/Buy.tsx #: src/pages/Home/Home.tsx msgid "Protocol Tokens" -msgstr "" +msgstr "Токены протокола" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Collateral at Liquidation" -msgstr "" +msgstr "Залог при ликвидации" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming you will be able to vest a maximum of {0} esGMX at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "После подачи заявки вы сможете получить максимум {0} esGMX в соотношении {1} {stakingToken} к 1 esGMX." +msgstr "После запроса вы сможете вестить максимум {0} esGMX в соотношении {1} {stakingToken} к 1 esGMX." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Today" -msgstr "" +msgstr "Сегодня" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Receiver Address" -msgstr "Адрес Получателя" - -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "" +msgstr "Адрес получателя" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" -msgstr "" +msgstr "От" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -5742,158 +5810,166 @@ msgstr "Цена триггера ордера" #: src/components/Glp/GlpSwap.jsx msgid "Epoch ending is not acknowledged" -msgstr "" +msgstr "Завершение эпохи не подтверждено" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Increase" -msgstr "" +msgstr "Увеличение лимита" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the edit collateral icon to deposit or withdraw collateral." -msgstr "Используйте иконку редактирования залога для депозита или вывода залога." +msgstr "Используйте иконку редактирования залога для внесения или вывода залога." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing shorts for<4/>this size." -msgstr "" +msgstr "Нет ликвидности для увеличения лонгов для<0/>этого размера. Макс размер лонга: {0}<1/><2/>Нет влияния цены. Есть единая<3/>цена исполнения для уменьшения шортов для<4/>этого размера." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using any token from any network:" -msgstr "" +msgstr "Купить GMX используя любой токен из любой сети:" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume traded by your referred traders." -msgstr "Объем сделок, совершенных привлеченными вами трейдерами." +msgstr "Объем торгов ваших рефералов." #: src/pages/Dashboard/GlpCard.tsx msgid "Stablecoin Percentage" -msgstr "Процент Стабильной монеты" +msgstr "Процент стейблкоина" #: src/domain/synthetics/orders/utils.tsx msgid "Parts of this order will be executed once there is sufficient liquidity." -msgstr "" +msgstr "Части этого ордера будут выполнены, как только появится достаточная ликвидность." #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This Order will not be valid for that Position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "У вас есть существующая позиция с {0} в качестве залога. Этот ордер не будет действителен для этой позиции. <0>Переключиться на залог {1}</0>." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Please only use this for full account transfers.<0/>This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account.<1/>Transfers are only supported if the receiving account has not staked GMX or GLP tokens before.<2/>Transfers are one-way, you will not be able to transfer staked tokens back to the sending account." -msgstr "" +msgstr "Пожалуйста, используйте это только для полных переводов аккаунта.<0/>Это переведет все ваши GMX, esGMX, GLP, очки множителя и силу голосования на новый аккаунт.<1/>Переводы поддерживаются только если аккаунт получателя не стейкал GMX или GLP ранее.<2/>Переводы односторонние, вы не сможете перевести стейканные токены обратно на отправляющий аккаунт." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "SNTL esGMX Market" -msgstr "" +msgstr "Рынок SNTL esGMX" #: src/components/Referrals/TradersStats.tsx msgid "Tier {0} ({currentTierDiscount}% discount)" -msgstr "" +msgstr "Уровень {0} ({currentTierDiscount}% скидка)" #: src/domain/synthetics/orders/utils.tsx msgid "This order using {collateralSymbol} as collateral will not be valid for the existing {longText} position using {symbol} as collateral." -msgstr "" +msgstr "Этот ордер с использованием {collateralSymbol} в качестве залога не будет действителен для существующей позиции {longText} с использованием {symbol} в качестве залога." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Generative Market eXplore - AIGMX Agent" -msgstr "" +msgstr "Генеративный рынок eXplore - AIGMX агент" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dolomite" -msgstr "" +msgstr "Dolomite" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order request sent" -msgstr "" +msgstr "Запрос ордера отправлен" #: src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx msgid "Express Trading is enabled. Enjoy smoother, more reliable trades!" -msgstr "" +msgstr "Экспресс-торговля включена. Наслаждайтесь более плавными и надежными сделками!" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Alternatively, you can select a different \"Collateral In\" token." -msgstr "В качестве альтернативы вы можете выбрать другой токен \"Collateral In\"." +msgstr "В качестве альтернативы вы можете выбрать другой токен \"Залог в\"." #: src/components/NotifyModal/NotifyModal.tsx msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." +msgstr "Получайте оповещения и объявления от GMX, чтобы быть в курсе ваших торгов, риска ликвидации и больше." + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/PageNotFound/PageNotFound.jsx msgid "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" -msgstr "<0>Вернуться к </0><1>Домашняя страница</1> <2>или </2> <3> Торговля</3>" +msgstr "<0>Вернуться к </0><1>Домашней странице</1> <2>или </2> <3>Торговле</3>" #: src/components/Synthetics/BridgingInfo/BridgingInfo.tsx msgid "Bridge {tokenSymbol} to {chainName} with" -msgstr "" +msgstr "Перевести {tokenSymbol} в {chainName} с" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing failed" -msgstr "" +msgstr "Подпись разрешения не удалась" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price below mark price" -msgstr "" +msgstr "Цена стоп-маркета ниже маркированной цены" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Swapped {0} {1} for {2} {3}!" -msgstr "Обмененно {0} {1} на {2} {3}!" +msgstr "Обменяно {0} {1} на {2} {3}!" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "A size percentage is required" -msgstr "" +msgstr "Требуется процент размера" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show more" -msgstr "" +msgstr "Показать больше" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized Fees" -msgstr "" +msgstr "Нереализованные комиссии" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred" -msgstr "Привлеченные Трейдеров" +msgstr "Привлеченные трейдеры" #: src/pages/Stake/StakeModal.tsx msgid "Stake submitted!" -msgstr "" +msgstr "Стейк подан!" #: src/components/Exchange/PositionsList.jsx msgid "Use the \"Close\" button to reduce your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "Используйте кнопку \"Закрыть\", чтобы уменьшить размер позиции или установить ордера тейк-профит / стоп-лосс." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Market)" -msgstr "" +msgstr "Увеличить размер (рынок)" #: src/domain/synthetics/trade/utils/validation.ts msgid "Couldn't find a swap path with enough liquidity" -msgstr "" +msgstr "Не удалось найти путь обмена с достаточной ликвидностью" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdrawn!" -msgstr "" +msgstr "Выведено!" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "3rd Place" +msgstr "3-е место" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." msgstr "" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" -msgstr "" +msgstr "Запрос не удался" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Loss" -msgstr "" +msgstr "Обновить стоп-лосс" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx @@ -5902,7 +5978,7 @@ msgstr "Одобрить {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} long exceeded" -msgstr "Максимальное {0} превышение лонга" +msgstr "Максимальный {0} лонг превышен" #: src/components/Synthetics/OrderItem/OrderItem.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -5913,25 +5989,25 @@ msgstr "Максимальное {0} превышение лонга" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "N/A" -msgstr "" +msgstr "Н/Д" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is below mark price" -msgstr "" +msgstr "Цена стоп-маркета ниже маркированной цены" #: src/components/Exchange/PositionEditor.jsx #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Amount should be greater than zero" -msgstr "" +msgstr "Сумма должна быть больше нуля" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpetuals Aggregator" -msgstr "" +msgstr "Агрегатор перпетуалов" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "" +#~ msgid "LIVE" +#~ msgstr "ЖИВО" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -5952,20 +6028,20 @@ msgstr "Баланс" #: src/pages/Stake/Stake.tsx msgid "Liquidity and trading incentives programs are live on {avalancheLink}." -msgstr "" +msgstr "Программы стимулов ликвидности и торговли активны на {avalancheLink}." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX v2 Telegram & Discord Analytics" -msgstr "" +msgstr "Аналитика GMX v2 Telegram & Discord" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-enable" -msgstr "" +msgstr "Повторно включить" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "I do not want to transfer the Affiliate esGMX tokens" -msgstr "" +msgstr "Я не хочу переводить токены аффилиата esGMX" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and {action}" @@ -5973,68 +6049,68 @@ msgstr "Утрата прибыли и {action}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win/Loss" -msgstr "" +msgstr "Победа/Поражение" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Names could be separated by commas or spaces" -msgstr "" +msgstr "Имена могут быть разделены запятыми или пробелами" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from decentralized exchanges" -msgstr "" +msgstr "Купить GMX на децентрализованных биржах" #: src/components/NotifyModal/NotifyModal.tsx msgid "Powered by" -msgstr "" +msgstr "Работает на" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order executed" -msgstr "" +msgstr "Ордер на покупку выполнен" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the set acceptable price impact. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "Допустимая цена ордера включает установленное допустимое влияние цены. Цена исполнения должна соответствовать этому условию для выполнения ордера." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "This TWAP order will execute {numberOfParts} {0} {type} orders of {1} each over the next {2} for the {3} market." -msgstr "" +msgstr "Этот TWAP ордер выполнит {numberOfParts} {0} {type} ордеров по {1} каждый за следующие {2} для рынка {3}." #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim submitted." -msgstr "" +msgstr "Запрос подан." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "OPEN INTEREST" -msgstr "" +msgstr "ОТКРЫТЫЙ ИНТЕРЕС" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Failed to download trade history CSV." -msgstr "" +msgstr "Не удалось скачать CSV истории торгов." #: src/domain/synthetics/positions/utils.ts msgid "market" -msgstr "" +msgstr "рынок" #: src/components/Referrals/JoinReferralCode.tsx msgid "Same as current active code" -msgstr "Такой же, как и текущий действующий код" +msgstr "Такой же, как текущий активный код" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "The current swap impact including fees is {0}. Consider adding a buffer of 1% to it so the order is more likely to be processed" -msgstr "" +msgstr "Текущее влияние обмена включая комиссии {0}. Рассмотрите добавление буфера 1%, чтобы ордер был более вероятно обработан" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Win / Loss" -msgstr "" +msgstr "Победа / Поражение" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 rebates are airdropped weekly. V2 rebates are automatically applied as fee discounts on each trade and do not show on this table." -msgstr "" +msgstr "Возвраты V1 сбрасываются еженедельно. Возвраты V2 автоматически применяются как скидки на комиссии при каждой торговле и не отображаются в этой таблице." #: src/domain/synthetics/trade/utils/validation.ts msgid "Min position size: {0}" -msgstr "" +msgstr "Мин размер позиции: {0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6042,61 +6118,61 @@ msgstr "" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below mark price" -msgstr "" +msgstr "Цена триггера ниже маркированной цены" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "No delegate found" -msgstr "" +msgstr "Делегат не найден" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Community with NFTs, Trading and Education initiatives" -msgstr "" +msgstr "Сообщество GMX с NFT, торговлей и образовательными инициативами" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Confirmations" -msgstr "" +msgstr "Подтверждения ликвидаций" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the stop market order executes." -msgstr "" +msgstr "Ожидаемая цена исполнения ордера, включая текущее влияние цены, после выполнения стоп-маркет ордера." #: src/components/Glp/GlpSwap.jsx msgid "Acknowledge epoch is ending in {minutes} minutes" -msgstr "" +msgstr "Подтвердить, что эпоха заканчивается через {minutes} минут" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Price Impact" -msgstr "" +msgstr "Высокое влияние цены" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX. For security reasons, we won't contact you first. Please send the message \"I have feedback\" to any of our official accounts:" -msgstr "" +msgstr "Мы хотим ваши insights, чтобы улучшить GMX. По соображениям безопасности мы не свяжемся с вами первыми. Пожалуйста, отправьте сообщение \"У меня есть отзыв\" на любой из наших официальных аккаунтов:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Claim esGMX" -msgstr "Запрос esGMX" +msgstr "Запросить esGMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer ETH to Arbitrum" -msgstr "" +msgstr "Купить или перевести ETH в Arbitrum" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." -msgstr "" +msgstr "Максимальный процент разницы между вашей указанной ценой и ценой исполнения при размещении ордеров." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the limit order executes." -msgstr "" +msgstr "Ожидаемая цена исполнения ордера, включая текущее влияние цены, после выполнения лимитного ордера." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of open fee" -msgstr "" +msgstr "от комиссии открытия" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Pool Amount" -msgstr "Сумма Пула" +msgstr "Сумма пула" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approve GMX" @@ -6104,7 +6180,7 @@ msgstr "Одобрить GMX" #: src/components/Glp/SwapErrorModal.tsx msgid "{0} Capacity Reached" -msgstr "{0} Мощность достигнута" +msgstr "{0} Емкость достигнута" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -6117,15 +6193,15 @@ msgstr "{fromText} в {toExecutionText}" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} Order" -msgstr "Создать {0} Ордер" +msgstr "Создать {0} ордер" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit Swap" -msgstr "Исполнение лимитного обмена" +msgstr "Выполнить лимитный обмен" #: src/pages/BuyGMX/BuyGMX.tsx msgid "To purchase GMX on the {0} blockchain, please <0>change your network</0>." -msgstr "msgstr" +msgstr "Чтобы купить GMX в блокчейне {0}, пожалуйста <0>измените вашу сеть</0>." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx #: src/components/NpsModal/NpsModal.tsx @@ -6136,7 +6212,7 @@ msgstr "Подать" #: src/domain/tokens/approveTokens.tsx msgid "Permit signed!" -msgstr "" +msgstr "Разрешение подписано!" #: src/components/Exchange/TradeHistory.jsx msgid "Request withdrawal from {0} {longOrShortText}" @@ -6148,9 +6224,10 @@ msgstr "Выбрать опцию" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "less than a minute" -msgstr "" +msgstr "меньше минуты" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "Экосистема" @@ -6168,16 +6245,16 @@ msgstr "Создать" #: src/components/Exchange/SwapBox.jsx msgid "Limit order submitted!" -msgstr "Лимитный ордер представлен!" +msgstr "Лимитный ордер подан!" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" -msgstr "" +msgstr "Последние 7д" #: src/components/Synthetics/StatusNotification/StakeNotification.tsx msgid "Swap {fromAmount} for {toAmount}" -msgstr "" +msgstr "Обмен {fromAmount} на {toAmount}" #: src/components/Exchange/PositionShare.tsx msgid "Copy" @@ -6191,24 +6268,24 @@ msgstr "Сумма" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} order" -msgstr "" +msgstr "Создать {0} ордер" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx msgid "Edit {0} {1}{2}" -msgstr "" +msgstr "Редактировать {0} {1}{2}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "No rebates distribution history yet." -msgstr "История распределения возвратов пока отсутствует." +msgstr "Нет истории распределения возвратов." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Governance" -msgstr "" +msgstr "Управление GMX" #: src/domain/synthetics/orders/utils.tsx msgid "trigger price" -msgstr "" +msgstr "цена триггера" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -6220,17 +6297,17 @@ msgstr "" #: src/pages/Stake/TotalRewardsCard.tsx #: src/pages/Stake/Vesting.tsx msgid "Claim" -msgstr "Запрос" +msgstr "Запросить" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Price Impact / Fees" -msgstr "" +msgstr "Влияние цены / Комиссии" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "" +#~ msgid "GMX {versionName} Account" +#~ msgstr "Аккаунт GMX {versionName}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6244,11 +6321,11 @@ msgstr "Цена исполнения ордера учитывает влиян #: src/pages/Buy/Buy.tsx msgid "Buy GLP or GMX" -msgstr "" +msgstr "Купить GLP или GMX" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max Out" -msgstr "" +msgstr "Макс выход" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6272,39 +6349,43 @@ msgstr "Введите сумму" #: src/components/Header/AppHeaderUser.tsx msgid "Connect" -msgstr "Подключение" +msgstr "Подключить" #: src/components/InterviewToast/InterviewToast.tsx msgid "Click here to give us your feedback on GMX." -msgstr "" +msgstr "Нажмите здесь, чтобы оставить отзыв о GMX." #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche Fuji" -msgstr "" +msgstr "V1 Avalanche Fuji" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "1st Place" -msgstr "" +msgstr "1-е место" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "D2.Finance" -msgstr "" +msgstr "D2.Finance" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized:" +msgstr "Годовое:" + +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" msgstr "" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" -msgstr "" +msgstr "Не удалось подписать одобрение" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Starts in" -msgstr "" +msgstr "Начинается через" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are high currently, which may be due to a temporary increase in transactions on the {chainName} network." @@ -6314,21 +6395,17 @@ msgstr "Комиссии сети в настоящее время высоки msgid "Scan the QR code" msgstr "Отсканируйте QR-код" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" -msgstr "" +msgstr "Неизвестный ордер сдвига GM" #: src/components/Exchange/TradeHistory.jsx msgid "Max leverage of 100x was exceeded, the remaining collateral after deducting losses and fees have been sent back to your account:" -msgstr "Максимальное кредитное плечо 100x было превышено, оставшийся залог после вычета убытков и комиссий был отправлен обратно на ваш счет:" +msgstr "Максимальное плечо 100x было превышено, оставшийся залог после вычета убытков и комиссий отправлен обратно на ваш аккаунт:" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Shifting {symbol}..." -msgstr "" +msgstr "Сдвиг {symbol}..." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order." @@ -6340,23 +6417,27 @@ msgstr "Недостаточно доступной ликвидности дл #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above mark price" -msgstr "" +msgstr "Цена триггера выше маркированной цены" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size exceeds position" msgstr "Размер ордера превышает позицию" +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "" + #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" -msgstr "Обновление ордера принято!" +msgstr "Обновление ордера подано!" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw failed." -msgstr "" +msgstr "Включение вывода не удалось." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Explore, analyze, and copy on-chain traders" -msgstr "" +msgstr "Исследуйте, анализируйте и копируйте ончейн трейдеров" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit" @@ -6364,7 +6445,7 @@ msgstr "Утрата прибыли" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Sell Fee" -msgstr "" +msgstr "Комиссия за продажу" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx @@ -6372,49 +6453,49 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Execution Details" -msgstr "" +msgstr "Детали исполнения" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GM Airdrop" -msgstr "" +msgstr "Эйрдроп GM" #: src/components/Glp/GlpSwap.jsx msgid "Save on Fees" -msgstr "Сэкономь на Комиссиях" +msgstr "Сэкономьте на комиссиях" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Take Profit" -msgstr "" +msgstr "Обновить тейк-профит" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Active Orders" -msgstr "Действующие Ордера" +msgstr "Активные ордера" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "You have set a high acceptable price impact. The current price impact is {0}." -msgstr "" +msgstr "Вы установили высокое допустимое влияние цены. Текущее влияние цены {0}." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Lending and Borrowing" -msgstr "" +msgstr "Кредитование и заимствование" #: src/components/Exchange/SwapBox.jsx msgid "Switch to {0} collateral." -msgstr "" +msgstr "Переключить на {0} залог." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GMX Vault" -msgstr "" +msgstr "Хранилище GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Jones DAO" -msgstr "" +msgstr "Jones DAO" #: src/components/Exchange/TradeHistory.jsx msgid "Partially Liquidated" -msgstr "Частично Ликвидировано" +msgstr "Частично ликвидировано" #: src/components/Glp/GlpSwap.jsx msgid "Insufficient GLP balance" @@ -6422,38 +6503,38 @@ msgstr "Недостаточный баланс GLP" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Minute(s)" -msgstr "" +msgstr "Минута(ы)" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized Fees" -msgstr "" +msgstr "Начальные нереализованные комиссии" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "V2 trading" -msgstr "" +msgstr "Торговля V2" #: src/components/Exchange/ConfirmationBox.jsx msgid "view" -msgstr "смотреть" +msgstr "просмотр" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancel failed." -msgstr "" +msgstr "Отмена {orderText} не удалась." #: src/components/Exchange/OrdersToa.jsx msgid "Accept terms to enable orders" -msgstr "Принять условия, чтобы разрешить ордера" +msgstr "Принять условия для включения ордеров" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol analytics" -msgstr "Аналитика протоколов" +msgstr "Аналитика протокола" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer submitted!" -msgstr "Перевод подтверждён!" +msgstr "Перевод подан!" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -6461,6 +6542,9 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"Ликвидировано {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} Цена: {3} USD" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Inc." @@ -6468,28 +6552,28 @@ msgstr "Инк." #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed amount" -msgstr "" +msgstr "Комиссии превышают сумму" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx msgid "Search Type" -msgstr "" +msgstr "Тип поиска" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is below its target weight.<0/><1/>Get lower fees to <2>buy GLP</2> with {1}, and to <3>swap</3> {2} for other tokens." -msgstr "{0} liegt unter der Zielgewichtung.<0/><1/>Erhalte niedrigere Gebühren, um <2>GLP</2> mit {1} zu kaufen und <3>zu tauschen</3> {2} für andere Token." +msgstr "{0} ниже целевого веса.<0/><1/>Получите более низкие комиссии для <2>покупки GLP</2> с {1}, и для <3>обмена</3> {2} на другие токены." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win Rate" -msgstr "" +msgstr "Процент побед" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "Сэкономьте {0} на влиянии цены и комиссиях, <0><1>переключившись на пул {1}</1>.</0>" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" -msgstr "" +msgstr "У вас есть токены esGMX в хранилище аффилиата, вам нужно вывести эти токены, если вы хотите перевести их на новый аккаунт" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Explorer" @@ -6497,7 +6581,7 @@ msgstr "Открыть {0} в Explorer" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} and {1} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} и {1} можно использовать для покупки GM для этого рынка до указанных лимитов покупки." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/StatusNotification/StakeNotification.tsx @@ -6507,23 +6591,23 @@ msgstr "" #: src/pages/Exchange/Exchange.tsx #: src/pages/Exchange/Exchange.tsx msgid "View" -msgstr "" +msgstr "Просмотр" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Market" -msgstr "" +msgstr "Выполнить стоп-маркет" #: src/components/Referrals/TradersStats.tsx msgid "Volume traded by this account with an active referral code." -msgstr "Объем, торгуемый данным счетом с активным реферальным кодом." +msgstr "Объем торгов этого аккаунта с активным реферальным кодом." #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized fees" -msgstr "" +msgstr "Начальные нереализованные комиссии" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Codes" -msgstr "Реферальные Коды" +msgstr "Реферальные коды" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx @@ -6532,39 +6616,44 @@ msgstr "Вестинг GMX не выведен" #: src/components/Glp/GlpSwap.jsx msgid "FEES" -msgstr "СБОРЫ" +msgstr "КОМИССИИ" + +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "Все рынки" #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Open Fee" -msgstr "" +msgstr "Комиссия за открытие" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Looks like you don't have a referral code to share. <0/> Create one now and start earning rebates!" -msgstr "Похоже, у вас нет реферального кода, которым можно поделиться. <0/> Создайте его сейчас и начните получать возвраты!" +msgstr "Похоже, у вас нет реферального кода для分享. <0/> Создайте его сейчас и начните получать возвраты!" #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Update 1CT (One-Click Trading) settings" -msgstr "" +msgstr "Обновить настройки 1CT (One-Click Trading)" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Kudai AI Agent" -msgstr "" +msgstr "Kudai AI агент" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Current Price" -msgstr "" +msgstr "Текущая цена" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT ID" -msgstr "Введите NFT ID" +msgstr "Введите ID NFT" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal failed." -msgstr "" +msgstr "Вывод не удался." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -6573,23 +6662,23 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Limit Price" -msgstr "Предельная Цена" +msgstr "Лимитная цена" #: src/components/AddressView/AddressView.tsx msgid "You" -msgstr "" +msgstr "Вы" #: src/components/Synthetics/GmList/GmList.tsx msgid "Pools providing liquidity to specific GMX markets, supporting single-asset and native asset options." -msgstr "" +msgstr "Пулы, предоставляющие ликвидность конкретным рынкам GMX, поддерживающие опции одного актива и нативных активов." #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivate 1CT (One-Click Trading)" -msgstr "" +msgstr "Деактивировать 1CT (One-Click Trading)" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute deposit into {0} {longOrShortText}" -msgstr "Не удалось выполнить пополнение счета в {0} {longOrShortText}" +msgstr "Не удалось выполнить депозит в {0} {longOrShortText}" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -6602,15 +6691,15 @@ msgstr "Не удалось выполнить пополнение счета #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Deposit" -msgstr "Пополнение" +msgstr "Депозит" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d Est. Fees" -msgstr "" +msgstr "Оценка комиссий за 365д" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below highest limit price" -msgstr "" +msgstr "Цена триггера ниже наивысшей лимитной цены" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -6622,45 +6711,45 @@ msgstr "Допустимая цена" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell request sent" -msgstr "" +msgstr "Запрос на продажу отправлен" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Margin Protocol" -msgstr "" +msgstr "Протокол маржи DeFi" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Enabling Leverage..." -msgstr "Создание Леверидж..." +msgstr "Включение плеча..." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap to the receive token when the price conditions are met." -msgstr "" +msgstr "Может не хватить ликвидности для выполнения обмена на токен получения, когда условия цены будут выполнены." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawn {balanceFormatted} to Main Account" -msgstr "" +msgstr "Выведено {balanceFormatted} на основной аккаунт" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Errors" -msgstr "" +msgstr "Ошибки торгов" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Consider selecting only positions where the accrued funding fee exceeds the {0} gas cost to settle each position." -msgstr "" +msgstr "Рассмотрите выбор только позиций, где накопленная комиссия за финансирование превышает стоимость газа {0} для расчета каждой позиции." #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} using the pay token selected is reached. Please choose a different pool, reduce the buy size, or pick a different composition of tokens." -msgstr "" +msgstr "Достигнут лимит покупки для пула GM: {0} с использованием выбранного токена оплаты. Пожалуйста, выберите другой пул, уменьшите размер покупки или выберите другой состав токенов." #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you use to buy GLP. <0/>Enter the amount of GLP you want to purchase in the order form, then check here to compare fees." -msgstr "Комиссионные могут отличаться в зависимости от того, какой актив вы используете для покупки GLP. <0/>Укажите сумму GLP, которую вы хотите приобрести, в форме ордера, а затем проверьте здесь, чтобы узнать размер комиссионных." +msgstr "Комиссии могут варьироваться в зависимости от актива, используемого для покупки GLP. <0/>Введите сумму GLP, которую хотите купить, в форме ордера, затем проверьте здесь для сравнения комиссий." #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Claim <0>{0}</0>" -msgstr "" +msgstr "Запросить <0>{0}</0>" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6686,22 +6775,24 @@ msgstr "Получить" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "time to liq" -msgstr "время ликвидировать" +msgstr "время до ликв" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Fees" -msgstr "" +msgstr "Реализованные комиссии" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Positions" -msgstr "" +msgstr "Топ позиции" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" -msgstr "" +msgstr "Пулы" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute withdrawal from {0} {longOrShortText}" @@ -6709,41 +6800,41 @@ msgstr "Не удалось выполнить вывод из {0} {longOrShortT #: src/components/Synthetics/GmList/GlvList.tsx msgid "VAULT" -msgstr "" +msgstr "ХРАНИЛИЩЕ" #: src/components/Glp/GlpSwap.jsx msgid "Fees (Rebated)" -msgstr "" +msgstr "Комиссии (возвращенные)" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Your transfer has been completed." -msgstr "Ваш перевод был завершен." +msgstr "Ваш перевод завершен." #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "We Value Your Feedback" -msgstr "" +msgstr "Мы ценим ваш отзыв" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Loss" -msgstr "" +msgstr "Стоп-лосс" #: src/pages/Stake/Stake.tsx msgid "Liquidity incentives program is live on {avalancheLink}." -msgstr "" +msgstr "Программа стимулов ликвидности активна на {avalancheLink}." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could still be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "Эта позиция все еще может быть ликвидирована, исключая любое движение цены, из-за ставок финансирования и комиссий за заем, уменьшающих залог позиции со временем." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Transfer {nativeTokenSymbol}" -msgstr "" +msgstr "Перевести {nativeTokenSymbol}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Meme" -msgstr "" +msgstr "Мем" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx @@ -6752,73 +6843,73 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeboxTransactions.tsx msgid "Error submitting order" -msgstr "" +msgstr "Ошибка при отправке ордера" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Rebates and V1/V2 esGMX are airdropped weekly. V2 Rebates are claimed manually." -msgstr "" +msgstr "Возвраты V1 и esGMX V1/V2 сбрасываются еженедельно. Возвраты V2 запрашиваются вручную." #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Duration" -msgstr "" +msgstr "Продолжительность" #: src/components/Common/SEO.tsx msgid "Trade spot or perpetual BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet on Arbitrum and Avalanche." -msgstr "" +msgstr "Торгуйте спот или перпетуалы BTC, ETH, AVAX и другие топ криптовалюты с плечом до 100x прямо из вашего кошелька на Arbitrum и Avalanche." #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max In" -msgstr "" +msgstr "Макс в" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Myself" -msgstr "" +msgstr "Себе" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" -msgstr "" +msgstr "Поиск адреса" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max GM buyable amount reached" -msgstr "" +msgstr "Достигнута максимальная сумма покупки GM" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Session generated" -msgstr "" +msgstr "Сессия сгенерирована" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" -msgstr "" +msgstr "Купить GMX" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Max {0} Capacity" -msgstr "Максимальная {0} вместимость" +msgstr "Максимальная емкость {0}" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copy error" -msgstr "" +msgstr "Ошибка копирования" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects developed by the GMX community. <0/>Please exercise caution when interacting with any app, apps are fully maintained by community developers." -msgstr "" +msgstr "Проекты, разработанные сообществом GMX. <0/>Пожалуйста, будьте осторожны при взаимодействии с любым приложением, приложения полностью поддерживаются разработчиками сообщества." #: src/domain/synthetics/userFeedback/utils.ts msgid "What areas can we improve to make your experience better?" -msgstr "" +msgstr "В каких областях мы можем улучшить, чтобы сделать ваш опыт лучше?" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Market: {0} a long position at the current price." -msgstr "" +msgstr "{typeString} Лонг рынок: {0} длинную позицию по текущей цене." #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a collateral" -msgstr "" +msgstr "Выбрать залог" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Size per part" -msgstr "" +msgstr "Размер на часть" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -6831,19 +6922,19 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance" -msgstr "Недостаточный {0} баланс" +msgstr "Недостаточный баланс {0}" #: src/domain/synthetics/orders/utils.tsx msgid "limit price" -msgstr "" +msgstr "лимитная цена" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price impact rebates for closing trades are claimable under the claims tab. <0>Read more</0>." -msgstr "" +msgstr "Возвраты влияния цены за закрытие торгов запрашиваются во вкладке запросов. <0>Подробнее</0>." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Sending order request" -msgstr "" +msgstr "Отправка запроса ордера" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Can't execute because of an error" @@ -6851,51 +6942,52 @@ msgstr "Невозможно выполнить из-за ошибки" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Yield Products" -msgstr "" +msgstr "Децентрализованные продукты доходности" #: src/components/Exchange/PositionSeller.jsx msgid "Keep Leverage is not possible" -msgstr "" +msgstr "Сохранение плеча невозможно" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee includes fees for additional orders. It will be sent back in full to your account if they don't trigger and are cancelled. <0>Read more</0>." -msgstr "" +msgstr "Максимальная комиссия сети включает комиссии за дополнительные ордера. Она будет полностью возвращена на ваш аккаунт, если они не сработают и будут отменены. <0>Подробнее</0>." #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Failed to settle" -msgstr "" +msgstr "{positionName} Не удалось рассчитать" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates" -msgstr "" +msgstr "Возвраты" #: src/components/Glp/GlpSwap.jsx msgid "GLP is not sellable" -msgstr "" +msgstr "GLP не продаваем" #: src/pages/BuyGlp/BuyGlp.jsx msgid "GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "Рынки GMX V1 отключены и позволяют только закрытие позиций. GLP постепенно выводится и больше не поддерживает рынки GMX V1." #: src/components/Glp/GlpSwap.jsx msgid "Sell failed." -msgstr "Не удалось продать." +msgstr "Продажа не удалась." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit" -msgstr "" +msgstr "Обновить лимит" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Edit order" -msgstr "Редактирование ордера" +msgstr "Редактировать ордер" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" -msgstr "" +msgstr "Запросы" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6909,7 +7001,7 @@ msgstr "Дата" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using FIAT gateways:" -msgstr "" +msgstr "Купить GMX используя FIAT шлюзы:" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Referral code created!" @@ -6917,7 +7009,7 @@ msgstr "Реферальный код создан!" #: src/components/Exchange/OrderEditor.jsx msgid "Price above Mark Price" -msgstr "Цена выше Маркированной Цены" +msgstr "Цена выше маркированной цены" #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -6931,38 +7023,38 @@ msgstr "Цена триггера" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Sellable" -msgstr "" +msgstr "Продаваемый" #: src/components/Exchange/PositionSeller.jsx msgid "Initial Collateral (Collateral excluding Borrow Fee)." -msgstr "" +msgstr "Начальный залог (залог без комиссии за заем)." #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "COMPETITION Airdrop" -msgstr "" +msgstr "Эйрдроп СОРЕВНОВАНИЯ" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Enter Receiver Address" -msgstr "Введите Адрес Получателя" +msgstr "Введите адрес получателя" #: src/pages/Stake/VesterDepositModal.tsx msgid "Additional reserve required" -msgstr "" +msgstr "Требуется дополнительный резерв" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" -msgstr "Правила и Условия" +msgstr "Правила и условия" #: src/pages/Stake/ClaimModal.tsx msgid "Convert {wrappedTokenSymbol} to {nativeTokenSymbol}" -msgstr "" +msgstr "Конвертировать {wrappedTokenSymbol} в {nativeTokenSymbol}" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available amount to deposit into GLP." -msgstr "Доступная сумма для пополнения GLP." +msgstr "Доступная сумма для депозита в GLP." #: src/components/Exchange/PositionShare.tsx msgid "Download" @@ -6970,52 +7062,56 @@ msgstr "Загрузить" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Swap {0} for {1}" -msgstr "" +msgstr "Обмен {0} на {1}" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity" -msgstr "" +msgstr "Емкость хранилища" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "Глубина" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" -msgstr "Снижение актива: {0}, выполнено: {1}, отменено: {2}" +msgstr "Снижение активных: {0}, выполненных: {1}, отмененных: {2}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 1" -msgstr "" +msgstr "Слой 1" #: src/components/Exchange/TradeHistory.jsx msgid "{0}  {1} {longOrShortText}, -{2} USD, {3} Price: ${4} USD" -msgstr "" +msgstr "{0}  {1} {longOrShortText}, -{2} USD, {3} Цена: ${4} USD" #: src/components/Exchange/PositionSeller.jsx msgid "Keep leverage at {0}x" -msgstr "" +msgstr "Сохранить плечо на уровне {0}x" #: src/pages/Stake/StakeModal.tsx msgid "Staking..." -msgstr "Размещение стакинга..." +msgstr "Стейкинг..." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy request sent" -msgstr "" +msgstr "Запрос на покупку отправлен" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} amount exceeded" -msgstr "" +msgstr "Превышена максимальная сумма {0}" #: src/components/Exchange/PositionSeller.jsx msgid "Position close disabled, pending {0} upgrade" -msgstr "" +msgstr "Закрытие позиции отключено, ожидается обновление {0}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Swapping..." -msgstr "Обмен идет..." +msgstr "Обмен..." #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Realized Base PnL" -msgstr "" +msgstr "Реализованная базовая PnL" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -7023,15 +7119,15 @@ msgstr "" #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap failed." -msgstr "Обмен не выполнен" +msgstr "Обмен не удался." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Failed to withdraw {balanceFormatted} to Main Account" -msgstr "" +msgstr "Не удалось вывести {balanceFormatted} на основной счет" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from swaps for the {0}/{1} market. It is also exposed to {2} and {3} as per the composition displayed." -msgstr "" +msgstr "Этот токен автоматически накапливает комиссии от свопов для рынка {0}/{1}. Он также подвержен воздействию {2} и {3} в соответствии с отображаемым составом." #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -7040,11 +7136,11 @@ msgstr "Страница устарела, пожалуйста, обновит #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals" -msgstr "" +msgstr "Предложения GMX" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUY…" -msgstr "" +msgstr "КУПИТЬ…" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Arbitrum" @@ -7053,27 +7149,27 @@ msgstr "Вестинг GLP на Arbitrum" #: src/components/InterviewModal/InterviewModal.tsx #: src/components/InterviewModal/InterviewModal.tsx msgid "Telegram account" -msgstr "" +msgstr "Аккаунт в Telegram" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "" +#~ msgid "SOON" +#~ msgstr "СКОРО" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" -msgstr "" +msgstr "Продать {operationTokenSymbol}" #: src/components/Exchange/PositionEditor.jsx msgid "Liquidation price would cross mark price." -msgstr "" +msgstr "Цена ликвидации превысит маркированную цену." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perfectswap" -msgstr "" +msgstr "Perfectswap" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Leaderboard for traders on GMX V2." -msgstr "" +msgstr "Таблица лидеров для трейдеров на GMX V2." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Withdraw" @@ -7081,108 +7177,108 @@ msgstr "Вывод не удался" #: src/pages/Referrals/Referrals.tsx msgid "Get fee discounts and earn rebates through the GMX referral program.<0/>For more information, please read the <1>referral program details</1>." -msgstr "" +msgstr "Получайте скидки на комиссии и зарабатывайте рибейты через реферальную программу GMX.<0/>Для получения дополнительной информации прочитайте <1>детали реферальной программы</1>." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Freeze" -msgstr "" +msgstr "Заморозить" #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Express params loading..." -msgstr "" +msgstr "Загрузка параметров Express..." #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "As there is not enough liquidity in GLP to swap {0} to {swapTokenSymbol}, you can use the option below to do so:" -msgstr "Поскольку в GLP недостаточно ликвидности для обмена {0} на {swapTokenSymbol}, вы можете воспользоваться приведенной ниже опцией, чтобы сделать это:" +msgstr "Поскольку в GLP недостаточно ликвидности для обмена {0} на {swapTokenSymbol}, вы можете воспользоваться опцией ниже:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx #: src/pages/Stake/ClaimModal.tsx msgid "Claim completed!" -msgstr "Запрос выполнен!" +msgstr "Заявка выполнена!" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Market" -msgstr "" +msgstr "Стоп-рынок" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Min number of parts: {MIN_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "Минимальное количество частей: {MIN_TWAP_NUMBER_OF_PARTS}" #: src/components/Exchange/PositionSeller.jsx msgid "You can change this in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" +msgstr "Вы можете изменить это в меню настроек в правом верхнем углу страницы.<0/><1/>Обратите внимание, что низкое допустимое проскальзывание, например, менее {0}, может привести к неудачным ордерам при волатильности цен." #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Request Settlement of Funding Fees" -msgstr "Запрос на урегулирование комиссии за финансирование" +msgstr "Запрос на расчет комиссий за финансирование" #: src/pages/Dashboard/WeightText.tsx msgid "Current Weight" -msgstr "Текущая Масса" +msgstr "Текущий вес" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Partnerships and Integrations" -msgstr "Партнерство и Объединения" +msgstr "Партнерства и интеграции" #: src/components/Exchange/PositionEditor.jsx msgid "Leftover Collateral not enough to cover fees" -msgstr "" +msgstr "Оставшийся залог недостаточен для покрытия комиссий" #: src/components/InterviewToast/InterviewToast.tsx #: src/components/InterviewToast/InterviewToast.tsx msgid "As a token of our appreciation, you'll receive a reward of <0>100 <1/></0>." -msgstr "" +msgstr "В знак нашей признательности вы получите вознаграждение в размере <0>100 <1/></0>." #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above limit price" -msgstr "" +msgstr "Триггерная цена выше лимитной цены" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a Pay token" -msgstr "" +msgstr "Выберите токен для оплаты" #: src/components/Exchange/SwapBox.jsx msgid "Swap {0} submitted!" -msgstr "Обмен {0} подан!" +msgstr "Обмен {0} отправлен!" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The available liquidity will be the lesser of the difference between the maximum value and the current value for both the reserve and open interest." -msgstr "" +msgstr "Доступная ликвидность будет меньшей из разниц между максимальным значением и текущим значением как для резерва, так и для открытого интереса." #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral Code does not exist" -msgstr "Реферальный Код не существует" +msgstr "Реферальный код не существует" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "shift" -msgstr "" +msgstr "сдвиг" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GLP to GM Airdrop" -msgstr "" +msgstr "Аирдроп GLP в GM" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Vaults" -msgstr "Доходные Хранилища" +msgstr "Доходные хранилища" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Portuguese)" -msgstr "Группа в Телеграмме (Португальский язык)" +msgstr "Группа в Telegram (португальский)" #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX V2 Actions" -msgstr "" +msgstr "Действия GMX V2" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code has been taken by someone else on {takenNetworkNames}, you will not receive rebates from traders using this code on {takenNetworkNames}." @@ -7192,15 +7288,15 @@ msgstr "Этот код был взят кем-то другим на {takenNetw #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Confirm Claim" -msgstr "" +msgstr "Подтвердить заявку" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX community discussion" -msgstr "Обсуждения в сообществе GMX" +msgstr "Обсуждение сообщества GMX" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} Пулы GLV <0>стимулируются{sparkle}.</0>" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GM" @@ -7208,11 +7304,11 @@ msgstr "Продать GM" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power." -msgstr "" +msgstr "<0>Делегируйте вашу не делегированную {0} GMX DAO</0> голосовую силу." #: src/domain/synthetics/markets/createShiftTxn.ts msgid "Shift error." -msgstr "" +msgstr "Ошибка сдвига." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7278,23 +7374,23 @@ msgstr "Пул" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Venus" -msgstr "" +msgstr "Venus" #: src/pages/Referrals/Referrals.tsx msgid "Referral code creation failed." -msgstr "" +msgstr "Создание реферального кода не удалось." #: src/components/Glp/SwapErrorModal.tsx msgid "<0>The pool's capacity has been reached for {0}. Please use another token to buy GLP.</0><1>Check the \"Save on Fees\" section for tokens with the lowest fees.</1>" -msgstr "<0>Вместимость пула достигла {0}. Пожалуйста, используйте другой токен для покупки GLP.</0><1>Проверьте раздел \"Сэкономьте на комиссии\" для токенов с самыми низкими комиссиями.</1>" +msgstr "<0>Емкость пула достигнута для {0}. Пожалуйста, используйте другой токен для покупки GLP.</0><1>Проверьте раздел \"Сэкономьте на комиссиях\" для токенов с самыми низкими комиссиями.</1>" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX dashboards and analytics." -msgstr "Панели управления GMX и аналитика." +msgstr "Панели управления и аналитика GMX." #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "External Swap {0} to {1}" -msgstr "" +msgstr "Внешний обмен {0} на {1}" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx @@ -7304,123 +7400,123 @@ msgstr "Позиция" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Bonus Rebate" -msgstr "" +msgstr "Бонусный рибейт" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing position in the {0} market pool, but it lacks liquidity for this order." -msgstr "" +msgstr "У вас есть существующая позиция в пуле рынка {0}, но для этого ордера недостаточно ликвидности." #: src/components/Exchange/PositionEditor.jsx msgid "Enable Leverage" -msgstr "Активировать Леверидж" +msgstr "Включить плечо" #: src/components/Exchange/PositionSeller.jsx msgid "Close without profit" -msgstr "" +msgstr "Закрыть без прибыли" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "{title}" -msgstr "" +msgstr "{title}" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Increasing" -msgstr "" +msgstr "Увеличение" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" -msgstr "" +msgstr "Самый быстрый" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Lev." -msgstr "" +msgstr "Средн. плечо" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing longs for<4/>this size." -msgstr "" +msgstr "Ликвидность для увеличения шортов недоступна для<0/>этого размера. Макс. размер шорта: {0}<1/><2/>Нет влияния на цену. Есть единая<3/>цена исполнения для уменьшения лонгов для<4/>этого размера." #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche LP incentives" -msgstr "" +msgstr "Стимулы LP на Avalanche" #: src/components/Stake/GMXAprTooltip.tsx msgid "{nativeTokenSymbol} APR" -msgstr "" +msgstr "{nativeTokenSymbol} APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Chinese)" -msgstr "Группа в Телеграмме (Китайский язык)" +msgstr "Группа в Telegram (китайский)" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for {2} {3}" -msgstr "" +msgstr "Обменять {0} {1} на {2} {3}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "<0>This will withdraw all esGMX tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button.<5/><6/></0>" -msgstr "" +msgstr "<0>Это выведет все токены esGMX, а также приостановит вестинг.<1/><2/>Токены esGMX, конвертированные в GMX, будут заявлены и останутся как токены GMX.<3/><4/>Чтобы заявить токены GMX без вывода, используйте кнопку \"Заявить\".<5/><6/></0>" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "DeFi" -msgstr "" +msgstr "DeFi" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "SNAPSHOT" -msgstr "" +msgstr "SNAPSHOT" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Liquidation Price" -msgstr "" +msgstr "Цена ликвидации" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Voting Power" -msgstr "" +msgstr "Голосовая сила" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The long reserve accounts for the PnL of open positions, while the open interest does not." -msgstr "" +msgstr "Резерв лонгов учитывает PnL открытых позиций, в то время как открытый интерес нет." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Take Profit" -msgstr "" +msgstr "Отменить тейк-профит" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL ($)" -msgstr "" +msgstr "Топ PnL ($)" #: src/pages/AccountDashboard/AccountDashboard.tsx msgid "Invalid address. Please make sure you have entered a valid Ethereum address" -msgstr "" +msgstr "Неверный адрес. Убедитесь, что вы ввели действительный адрес Ethereum" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GMX Vesting Vault" -msgstr "Отправитель вывел все токены из Хранилища GMX Vault" +msgstr "Отправитель вывел все токены из хранилища вестинга GMX" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Failed Settlement of Funding Fees" -msgstr "" +msgstr "Неудачный расчет комиссий за финансирование" #: src/components/Exchange/ConfirmationBox.jsx msgid "Pay Amount" -msgstr "Оплата Суммы" +msgstr "Сумма оплаты" #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GLP is the liquidity provider token for GMX V1 markets. Accrues 70% of the V1 markets generated fees." -msgstr "" +msgstr "GLP — это токен поставщика ликвидности для рынков GMX V1. Накапливает 70% комиссий, генерируемых рынками V1." #: src/domain/synthetics/orders/utils.tsx msgid "{increaseOrDecreaseText} {tokenText} by {sizeText}" -msgstr "" +msgstr "{increaseOrDecreaseText} {tokenText} на {sizeText}" #: src/pages/Stake/UnstakeModal.tsx msgid "{0}<0>You will earn {1}% less rewards with this action.</0>" -msgstr "" +msgstr "{0}<0>Вы заработаете на {1}% меньше наград с этим действием.</0>" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirming..." -msgstr "" +msgstr "Подтверждение..." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7435,7 +7531,7 @@ msgstr "Увеличить" #: src/pages/Stake/ClaimModal.tsx msgid "Claim {wrappedTokenSymbol} Rewards" -msgstr "" +msgstr "Заявить награды {wrappedTokenSymbol}" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/GmxCard.tsx @@ -7443,43 +7539,43 @@ msgstr "" #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Total Supply" -msgstr "Общее количество снабжения" +msgstr "Общее предложение" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Pool Capacity Reached" -msgstr "{0} Достигнута Емкость Пула" +msgstr "Достигнута емкость пула {0}" #: src/components/Glp/GlpSwap.jsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Staked" -msgstr "Стакинг" +msgstr "В стейкинге" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "" +#~ msgid "Leave feedback" +#~ msgstr "Оставить отзыв" #: src/pages/Referrals/Referrals.tsx msgid "Traders" -msgstr "" +msgstr "Трейдеры" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{ordersText} cancelled" -msgstr "" +msgstr "{ordersText} отменено" #: src/domain/synthetics/positions/utils.ts msgid "take profit" -msgstr "" +msgstr "тейк-профит" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Force External Swaps" -msgstr "" +msgstr "Принудить внешние свопы" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}. <0/>{2} is needed for collateral." -msgstr "При обмене с {0} на {1} взимается высокая комиссия. <0/>{2} требуется для обеспечения." +msgstr "Комиссии высоки для обмена {0} на {1}. <0/>{2} требуется для залога." #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "size" @@ -7487,11 +7583,11 @@ msgstr "размер" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit Swap" -msgstr "Создание лимитного обмена" +msgstr "Создать лимитный своп" #: src/components/Errors/errorToasts.tsx msgid "<0>Your wallet is not connected to {0}.</0><1/><2>Switch to {1}</2>" -msgstr "<0>Ваш кошелек не подключен к {0}.</0><1/><2>Перейти на {1}</2>" +msgstr "<0>Ваш кошелек не подключен к {0}.</0><1/><2>Переключиться на {1}</2>" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx @@ -7500,19 +7596,23 @@ msgstr "Транзакция отменена." #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept confirmation of trigger orders" -msgstr "Принять подтверждение триггерного ордера" +msgstr "Принять подтверждение триггерных ордеров" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Choose to buy from decentralized or centralized exchanges." -msgstr "" +msgstr "Выберите покупку на децентрализованных или централизованных биржах." #: src/components/Exchange/TradeHistory.jsx msgid "Min required collateral" -msgstr "" +msgstr "Минимальный требуемый залог" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" -msgstr "Попробуйте увеличить \" Допустимое Скольжение\", под меню Настройки в правом верхнем углу" +msgstr "Попробуйте увеличить \"Допустимое проскальзывание\" в меню Настройки в правом верхнем углу" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." @@ -7520,12 +7620,12 @@ msgstr "Страницы экосистемы GMX." #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GM Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} Пулы GM <0>стимулируются{sparkle}.</0>" #: src/components/Exchange/PositionsList.jsx #: src/lib/legacy.ts msgid "Order size is bigger than position, will only be executable if position increases" -msgstr "Размер ордера больше позиции, будет исполнен только при увеличении позиции." +msgstr "Размер ордера больше позиции, будет исполнен только если позиция увеличится" #: src/components/Header/AppHeaderLinks.tsx msgid "Buy" @@ -7533,138 +7633,133 @@ msgstr "Купить" #: src/config/events.tsx msgid "Incentives are live for <0>Arbitrum</0> and <1>Avalanche</1> GM pools and V2 trading." -msgstr "" +msgstr "Стимулы активны для пулов GM на <0>Arbitrum</0> и <1>Avalanche</1> и торговли V2." #: src/pages/Stake/TotalRewardsCard.tsx msgid "Total Rewards" -msgstr "" +msgstr "Общие награды" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT ID" -msgstr "NFT ID" +msgstr "ID NFT" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Success claimings" -msgstr "" +msgstr "Успешные заявки" #: src/lib/legacy.ts msgid "Decentralized Perpetual Exchange | GMX" -msgstr "" +msgstr "Децентрализованная биржа перпетuals | GMX" #: src/components/Exchange/PositionEditor.jsx msgid "The pending borrow fee will be charged on this transaction." -msgstr "" +msgstr "Ожидаемая комиссия за заем будет взиматься с этой транзакции." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Fees will be shown once you have entered an amount in the order form." -msgstr "Комиссионные будут показаны после того, как вы введете сумму в форму ордера." +msgstr "Комиссии будут показаны после ввода суммы в форму ордера." #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GLP Vault" -msgstr "" +msgstr "Хранилище GLP" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" -msgstr "Реферальные Условия" +msgstr "Условия рефералов" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter unique coins" -msgstr "" +msgstr "Введите уникальные монеты" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Fee APY" -msgstr "" +msgstr "APY комиссий" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." -msgstr "" +msgstr "Нет подходящих рынков." #: src/pages/Stake/Stake.tsx msgid "Stake esGMX" -msgstr "" +msgstr "Стейкать esGMX" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Target Min Amount" -msgstr "Целевой показатель Мин Суммы" +msgstr "Целевая минимальная сумма" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed Pay amount" -msgstr "" +msgstr "Комиссии превышают сумму оплаты" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Swap" -msgstr "Рыночный обмен не удался" +msgstr "Неудачный рыночный своп" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "HoudiniSwap" -msgstr "" +msgstr "HoudiniSwap" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Error occurred. Please try again" -msgstr "" +msgstr "Произошла ошибка. Попробуйте снова" #: src/components/Referrals/referralsHelper.js msgid "Only letters, numbers and underscores are allowed." -msgstr "Допускаются только буквы, цифры и знаки подчеркивания." +msgstr "Допускаются только буквы, цифры и подчеркивания." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling shift request" -msgstr "" +msgstr "Выполнение запроса на сдвиг" #: src/pages/Referrals/Referrals.tsx msgid "Referral code submitted!" -msgstr "" +msgstr "Реферальный код отправлен!" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Transaction failed due to execution fee validation. <0>View</0>.<1/><2/>Please <3>enable Express trading</3> under settings, which should offer a better experience.<4/><5/>Otherwise, try increasing the max network fee buffer to {0} in <6>settings</6>." -msgstr "" +msgstr "Транзакция не удалась из-за проверки комиссии за исполнение. <0>Просмотреть</0>.<1/><2/>Пожалуйста, <3>включите Express trading</3> в настройках, что должно улучшить опыт.<4/><5/>Иначе попробуйте увеличить буфер максимальной сетевой комиссии до {0} в <6>настройках</6>." #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "APY" -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "Последний месяц" +msgstr "APY" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Leave at least {0} {1} for gas" -msgstr "Оставьте не менее {0} {1} для заправки" +msgstr "Оставьте не менее {0} {1} для газа" #: src/pages/Dashboard/GmxCard.tsx msgid "staked" -msgstr "в стейкинги" +msgstr "в стейкинге" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "There is not enough {0} in your account on {1} to send this transaction.<0/><1/><2>Buy or Transfer {2} to {3}</2>" -msgstr "" +msgstr "В вашем аккаунте на {1} недостаточно {0} для отправки транзакции.<0/><1/><2>Купить или перевести {2} на {3}</2>" #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Volume" -msgstr "Общий Объем" +msgstr "Общий объем" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx msgid "Enter new Price" -msgstr "Введите новую Цену" +msgstr "Введите новую цену" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GLP Vault" -msgstr "" +msgstr "Вывод из хранилища GLP" #: src/components/Exchange/PositionShare.tsx msgid "Image generation error, please refresh and try again." @@ -7673,56 +7768,56 @@ msgstr "Ошибка генерации изображения, пожалуйс #: src/components/Synthetics/Claims/ClaimableCardUI.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price Impact Rebates" -msgstr "" +msgstr "Рибейты за влияние на цену" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." -msgstr "" +msgstr "Ордера тейк-профит и стоп-лосс будут автоматически отменены при полном закрытии связанной позиции. Это повлияет только на вновь созданные ордера TP/SL." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Swap Part" -msgstr "" +msgstr "Неудачная часть TWAP свопа" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Open {0} {longOrShortText}" -msgstr "" +msgstr "Открыть {0} {longOrShortText}" #: src/components/InterviewToast/InterviewToast.tsx msgid "Give us your feedback on GMX." -msgstr "" +msgstr "Оставьте отзыв о GMX." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Borrow Fee / Day" -msgstr "" +msgstr "Текущая комиссия за заем / День" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V1" -msgstr "" +msgstr "Рибейты на V1" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token indexToken: \"{0}\" collateralToken: \"{1}\"" -msgstr "Неверный токен индексТокен: \"{0}\" займТокен: \"{1}\"" +msgstr "Неверный токен indexToken: \"{0}\" collateralToken: \"{1}\"" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Header/AppHeaderLinks.tsx msgid "Alerts" -msgstr "" +msgstr "Оповещения" #: src/components/Exchange/OrdersList.jsx msgid "<0>The price that orders can be executed at may differ slightly from the chart price, as market orders update oracle prices, while limit/trigger orders do not.</0><1>This can also cause limit/triggers to not be executed if the price is not reached for long enough. <2>Read more</2>.</1>" -msgstr "" +msgstr "<0>Цена исполнения ордеров может немного отличаться от цены на графике, поскольку рыночные ордера обновляют цены оракула, а лимитные/триггерные — нет.</0><1>Это также может привести к неисполнению лимитных/триггерных ордеров, если цена не достигнута достаточно долго. <2>Подробнее</2>.</1>" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Portfolio Tracker" -msgstr "Отслеживание Портфеля DeFi" +msgstr "Трекер портфеля DeFi" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Funding Fee / Day" -msgstr "" +msgstr "Текущая комиссия за финансирование / День" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d estimate based on past {daysConsidered}d APY." -msgstr "" +msgstr "Оценка на 365 дней на основе прошлых {daysConsidered} дней APY." #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum APR:" @@ -7730,7 +7825,7 @@ msgstr "Arbitrum APR:" #: src/pages/Jobs/Jobs.jsx msgid "Job Openings" -msgstr "" +msgstr "Вакансии" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects integrated with GMX." @@ -7738,7 +7833,7 @@ msgstr "Проекты, интегрированные с GMX." #: src/components/Stake/GMXAprTooltip.tsx msgid "Escrowed GMX APR" -msgstr "Эскроуированный GMX APR" +msgstr "APR эскроуированного GMX" #: src/components/Exchange/TradeHistory.jsx msgid "Initial collateral" @@ -7746,11 +7841,11 @@ msgstr "Первоначальный залог" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Activate 1CT (One-Click Trading)" -msgstr "" +msgstr "Активировать 1CT (торговля в один клик)" #: src/components/AprInfo/AprInfo.tsx msgid "The Bonus APR will be airdropped as {airdropTokenTitle} tokens. <0>Read more</0>." -msgstr "" +msgstr "Бонусный APR будет аирдропнут как токены {airdropTokenTitle}. <0>Подробнее</0>." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -7762,19 +7857,19 @@ msgstr "" #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Wallet" -msgstr "Кошелёк" +msgstr "Кошелек" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You have a pending transfer from {sender}." -msgstr "У вас есть незавершенный перевод от {отправителя}." +msgstr "У вас есть ожидающий перевод от {sender}." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the stop price, the order will attempt to execute." -msgstr "" +msgstr "Как только маркированная цена достигнет стоп-цены, ордер попытается исполниться." #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a trigger price" -msgstr "" +msgstr "Введите триггерную цену" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GLP not withdrawn" @@ -7782,7 +7877,7 @@ msgstr "Вестинг GLP не выведен" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {minutes} minutes{0}" -msgstr "" +msgstr "<0>каждые</0> {minutes} минут{0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -7796,110 +7891,112 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBoxRows/EntryPriceRow.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Entry Price" -msgstr "Входная Цена" +msgstr "Цена входа" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Price change to Liq." -msgstr "" +msgstr "Изменение цены до ликвидации" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b LP incentives" -msgstr "" +msgstr "Стимулы LP STIP.b" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Loss" -msgstr "" +msgstr "Отменить стоп-лосс" #: src/components/Exchange/PositionsList.jsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size if needed." -msgstr "" +msgstr "Нажмите на позицию, чтобы выбрать ее рынок, затем используйте торговый бокс для увеличения размера позиции, если нужно." #: src/domain/synthetics/orders/utils.tsx msgid "Limit Decrease" -msgstr "" +msgstr "Лимитное уменьшение" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stabilize Protocol" -msgstr "" +msgstr "Протокол Stabilize" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a valid coin names" -msgstr "" - -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "" +msgstr "Введите действительные имена монет" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." -msgstr "" +msgstr "Ликвидация лонга" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GBC Kudai AI Agent" -msgstr "" +msgstr "GBC Kudai AI Agent" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You have {0} esGMX (IOU) tokens." -msgstr "У вас есть {0} токенов esGMX." +msgstr "У вас есть {0} токенов esGMX (IOU)." #: src/domain/synthetics/orders/utils.tsx msgid "There is currently a high swap price impact for the order swap path." -msgstr "" +msgstr "В настоящее время высокое влияние на цену свопа для пути свопа ордера." #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Stop Market)" +msgstr "Увеличить размер (стоп-рынок)" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" -msgstr "" +msgstr "PnL стоп-лосса" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing {balanceFormatted} to Main Account" -msgstr "" +msgstr "Вывод {balanceFormatted} на основной счет" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settling..." -msgstr "" +msgstr "Расчет..." #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" msgstr "Таблица лидеров" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be enough liquidity to execute parts of this order when the time conditions are met." -msgstr "" +msgstr "Может не хватить ликвидности для исполнения частей этого ордера при выполнении временных условий." #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The PnL ($) compared to the capital used.<0/><1/>The capital used is calculated as the highest value of [<2>sum of collateral of open positions - realized PnL + period start pending PnL</2>]." -msgstr "" +msgstr "PnL ($) по сравнению с использованным капиталом.<0/><1/>Использованный капитал рассчитывается как наивысшее значение [<2>сумма залога открытых позиций - реализованная PnL + ожидаемая PnL на начало периода</2>]." #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued" -msgstr "" +msgstr "Начислено" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Liquidation price is influenced by fees and collateral value." -msgstr "" +msgstr "Цена ликвидации зависит от комиссий и стоимости залога." #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "No data available" -msgstr "" +msgstr "Данные недоступны" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{prefix} <0>{text}</0>" -msgstr "" +msgstr "{prefix} <0>{text}</0>" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to update settings" -msgstr "" +msgstr "Не удалось обновить настройки" #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Positive Price Impact / Fees" -msgstr "" +msgstr "Положительное влияние на цену / Комиссии" #: src/components/Exchange/PositionShare.tsx msgid "Tweet" @@ -7907,57 +8004,57 @@ msgstr "Твитнуть" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELL…" -msgstr "" +msgstr "ПРОДАТЬ…" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Swap" -msgstr "Подтвердить Обмен" +msgstr "Подтвердить своп" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage is not available as Position exceeds max. allowed leverage. <0>Read more</0>." -msgstr "" +msgstr "Сохранение плеча недоступно, поскольку позиция превышает макс. допустимое плечо. <0>Подробнее</0>." #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add {0} to Metamask" -msgstr "Добавить {0} в MetaMask" +msgstr "Добавить {0} в Metamask" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Loss" -msgstr "" +msgstr "Неудачный стоп-лосс" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Profit" -msgstr "" +msgstr "Ежедневная прибыль" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX tokens can be staked or vested at any time." -msgstr "Токены esGMX могут быть размещены или наделены правами в любое время." +msgstr "Токены esGMX можно стейкать или вестить в любое время." #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy ETH directly on Arbitrum or transfer it there." -msgstr "" +msgstr "Купите ETH напрямую на Arbitrum или переведите его туда." #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 110 symbols exceeded" -msgstr "" +msgstr "Превышено максимум 110 символов" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "Transaction failed" -msgstr "Транзакция не прошла" +msgstr "Транзакция не удалась" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "COLLATERAL" -msgstr "" +msgstr "ЗАЛОГ" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued price impact rebates. They will become claimable after approximately ten days.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "Начисленные рибейты за влияние на цену. Они станут доступны для заявки примерно через десять дней.<0/><1/><2>Подробнее</2>." #: src/components/Exchange/PositionEditor.jsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Depositing..." -msgstr "Пополнение..." +msgstr "Внесение..." #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx @@ -7968,41 +8065,46 @@ msgstr "Чистая ставка" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "2nd Place" -msgstr "" +msgstr "2-е место" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" -msgstr "" +msgstr "ПОСЛЕДНЯЯ ЦЕНА" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-sign" -msgstr "" +msgstr "Переподписать" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" -msgstr "" +msgstr "Ордера ({ordersCount})" #: src/components/TVChartContainer/constants.ts msgid "Limit - Long Inc." -msgstr "" +msgstr "Лимит - Увеличение лонга" #: src/pages/Stake/ClaimModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0>voting power before claiming." -msgstr "" +msgstr "<0>Делегируйте вашу не делегированную {0} GMX DAO</0> голосовую силу перед заявкой." #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." -msgstr "" +msgstr "Вы будете в лонге {indexSymbol} из вашей лонг позиции, а также из вашего залога {collateralSymbol}. Цена ликвидации выше по сравнению с использованием стейблкоина в качестве залога, поскольку стоимость залога изменяется с его ценой." + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<0>{0}</0> токенов конвертированы в GMX из <1>{1}</1> esGMX, внесенных для вестинга." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" -msgstr "" +msgstr "Ордер на продажу отменен" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "" +#~ msgid "Last 30 days" +#~ msgstr "Последние 30 дней" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8012,11 +8114,7 @@ msgstr "Цена исполнения" #: src/components/Exchange/OrdersList.jsx msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." -msgstr "Цена, по которой может быть исполнен ордер, может немного отличаться от цены на графике, поскольку рыночные ордера могут изменять цену, а лимитные/триггерные ордера - нет." - -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "" +msgstr "Цена исполнения ордера может немного отличаться от цены на графике, поскольку рыночные ордера могут изменять цену, а лимитные/триггерные — нет." #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8025,136 +8123,141 @@ msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "About" -msgstr "О проекте" +msgstr "О нас" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued positive funding fees in positions not yet claimable.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "Начисленные положительные комиссии за финансирование в позициях, еще не доступные для заявки.<0/><1/>Они становятся доступными после модификации позиции путем увеличения или уменьшения, внесения или вывода залога или расчета комиссий с помощью кнопки \"Расчет\"." #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "Fee values do not include incentives." +msgstr "Значения комиссий не включают стимулы." + +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" msgstr "" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Generate Referral Code" -msgstr "Сгенерировать Реферальный Код" +msgstr "Сгенерировать реферальный код" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Price Impact" -msgstr "" +msgstr "Высокое влияние на цену свопа" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Swap" -msgstr "Обмен" +msgstr "Своп" #: src/domain/synthetics/orders/utils.tsx msgid "long" -msgstr "" +msgstr "лонг" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h High" -msgstr "" +msgstr "Макс. за 24ч" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code is not yet registered on {nonTakenNetworkNames}, you will not receive rebates there.<0/><1/>Switch your network to create this code on {nonTakenNetworkNames}." -msgstr "Этот код еще не зарегистрирован на {nonTakenNetworkNames}, вы не будете получать рибейты там.<0/><1/>Переключите свою сеть, чтобы создать этот код на {nonTakenNetworkNames}." +msgstr "Этот код еще не зарегистрирован на {nonTakenNetworkNames}, вы не будете получать рибейты там.<0/><1/>Переключите сеть, чтобы создать этот код на {nonTakenNetworkNames}." #: src/components/Exchange/TradeHistory.jsx msgid "Deposit {0} USD into {1} {longOrShortText}" -msgstr "Внести {0} USD на {1} {longOrShortText}" +msgstr "Внести {0} USD в {1} {longOrShortText}" #: src/pages/Dashboard/GmxCard.tsx msgid "Distribution" -msgstr "" +msgstr "Распределение" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "Язык" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Transfer" -msgstr "Завершить Перевод" +msgstr "Завершить перевод" #: src/pages/Home/Home.tsx msgid "Total Users" -msgstr "Всего Пользователей" +msgstr "Общее количество пользователей" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee" -msgstr "" +msgstr "Чистая стоимость: Первоначальный залог + PnL - Комиссия за заем - Отрицательная комиссия за финансирование - Комиссия за закрытие" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below lowest limit price" -msgstr "" +msgstr "Триггерная цена ниже минимальной лимитной цены" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Exchange/PositionShare.tsx msgid "Share Position" -msgstr "Позиция Акции" +msgstr "Поделиться позицией" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Min leverage: 1.1x" -msgstr "Минимальное кредитное плечо: 1.1x" +msgstr "Мин. плечо: 1.1x" #: src/components/Exchange/FeesTooltip.tsx msgid "Deposit Fee" -msgstr "" +msgstr "Комиссия за депозит" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter a new size or price" -msgstr "" +msgstr "Введите новый размер или цену" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount exceeded" -msgstr "" +msgstr "Превышена максимальная сумма пула" #: src/components/Exchange/SwapBox.jsx msgid "The borrow fee is calculated as (assets borrowed) / (total assets in pool) * 0.01% per hour." -msgstr "Комиссия за заем рассчитывается как (заемные активы) / (общая сумма активов в пуле) * 0,01% в час." +msgstr "Комиссия за заем рассчитывается как (заемные активы) / (общие активы в пуле) * 0,01% в час." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Unknown order" -msgstr "" +msgstr "Неизвестный ордер" #: src/pages/Jobs/Jobs.jsx msgid "No open positions at GMX currently" -msgstr "На данный момент на GMX нет открытых позиций" +msgstr "На данный момент нет открытых позиций на GMX" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Max Action Count Reached. <0>Click here</0> to update." -msgstr "" +msgstr "Достигнуто максимальное количество действий. <0>Нажмите здесь</0> для обновления." #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Price: {executionPriceDisplay} USD" -msgstr "" +msgstr "Исполнить ордер: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Цена: {executionPriceDisplay} USD" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "{column}" -msgstr "" +msgstr "{column}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You do not have any eligible trade during the competition window." -msgstr "" +msgstr "У вас нет подходящих сделок в окне соревнования." #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing longs and<0/>decreasing shorts." -msgstr "" +msgstr "Цены исполнения для увеличения лонгов и<0/>уменьшения шортов." -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" -msgstr "" +msgstr "Последние 30д" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Dashboards" @@ -8162,41 +8265,44 @@ msgstr "Панели" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create TWAP {0} order" -msgstr "" +msgstr "Создать TWAP {0} ордер" #: src/domain/synthetics/trade/utils/validation.ts msgid "Leftover collateral below {0} USD" -msgstr "" +msgstr "Оставшийся залог ниже {0} USD" #: src/domain/synthetics/positions/utils.ts msgid "trigger" -msgstr "" +msgstr "триггер" #: src/components/Glp/GlpSwap.jsx msgid "Please <0>read here</0> for more information." -msgstr "" +msgstr "Пожалуйста, <0>прочитайте здесь</0> для дополнительной информации." + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "7д" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" -msgstr "" +msgstr "Rage Trade" #: src/pages/Home/Home.tsx msgid "Trade BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet" -msgstr "" +msgstr "Торгуйте BTC, ETH, AVAX и другими топовыми криптовалютами с плечом до 100x прямо из вашего кошелька" #: src/pages/Stake/ClaimModal.tsx msgid "Claim GMX Rewards" -msgstr "" +msgstr "Заявить награды GMX" #: src/components/Referrals/JoinReferralCode.tsx #: src/components/Referrals/JoinReferralCode.tsx msgid "Enter Referral Code" -msgstr "Введите Реферальный Код" +msgstr "Введите реферальный код" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" -msgstr "" +msgstr "EIP-4844, 20-27 марта" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8206,7 +8312,7 @@ msgstr "Перевод не удался." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit amount is insufficient to bring leverage below the max allowed leverage of 100x" -msgstr "" +msgstr "Сумма депозита недостаточна для снижения плеча ниже максимального допустимого 100x" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -8225,7 +8331,7 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Mark Price" -msgstr "Отмеченная Цена" +msgstr "Маркированная цена" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Open {marketName} in Explorer" @@ -8233,45 +8339,46 @@ msgstr "Открыть {marketName} в Explorer" #: src/components/Exchange/TradeHistory.jsx msgid "Partial Liquidation" -msgstr "Частичная Ликвидация" +msgstr "Частичная ликвидация" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" -msgstr "24ч Объём" +msgstr "Объем за 24ч" #: src/pages/Dashboard/DashboardV2.tsx msgid "Total Stats" -msgstr "" +msgstr "Общая статистика" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Frequency" -msgstr "" +msgstr "Частота" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit sent." -msgstr "" +msgstr "Включение депозита отправлено." #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Withdrawing {0} from {positionText}" -msgstr "" +msgstr "Вывод {0} из {positionText}" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community Projects" -msgstr "Общественные Проекты" +msgstr "Общественные проекты" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/domain/synthetics/orders/utils.tsx msgid "Limit Swap" -msgstr "" +msgstr "Лимитный своп" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>Execution prices for decreasing shorts." -msgstr "" +msgstr "Ликвидность для увеличения лонгов недоступна для<0/>этого размера. Макс. размер лонга: {0}<1/><2/>Цены исполнения для уменьшения шортов." #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H VOL." -msgstr "" +msgstr "ОБЪЕМ ЗА 24Ч." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -8280,23 +8387,23 @@ msgstr "Продать за {0}" #: src/components/Exchange/PositionSeller.jsx msgid "Fees are higher than Collateral" -msgstr "" +msgstr "Комиссии выше залога" #: src/components/Referrals/TradersStats.tsx msgid "You will receive a {currentTierDiscount}% discount on opening and closing fees." -msgstr "" +msgstr "Вы получите скидку {currentTierDiscount}% на комиссии за открытие и закрытие." #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX team" -msgstr "" +msgstr "Анонимный чат с командой GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Market Token Price Chart" -msgstr "" +msgstr "График цены токена рынка GMX" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Addresses" -msgstr "" +msgstr "Топ адреса" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8305,35 +8412,35 @@ msgstr "Продолжить" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily and Cumulative PnL" -msgstr "" +msgstr "Ежедневная и кумулятивная PnL" #: src/components/Exchange/PositionEditor.jsx msgid "Edit {longOrShortText} {0}" -msgstr "" +msgstr "Редактировать {longOrShortText} {0}" #: src/domain/synthetics/orders/utils.tsx msgid "short" -msgstr "" +msgstr "шорт" #: src/components/RatingToast/RatingToast.tsx msgid "Very likely" -msgstr "" +msgstr "Очень вероятно" #: src/components/Exchange/ConfirmationBox.jsx msgid "I am aware of the trigger orders" -msgstr "Я осведомлён о запуске ордера" +msgstr "Я осведомлен о триггерных ордерах" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{count, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{count, plural, one {Ордер} other {# Ордеров}}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V1" -msgstr "" +msgstr "Объем на V1" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche trading incentives" -msgstr "" +msgstr "Стимулы торговли на Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Decrease" @@ -8342,18 +8449,22 @@ msgstr "Запрос на рыночное уменьшение" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max. Leverage exceeded" -msgstr "" +msgstr "Превышено макс. плечо" #: src/components/Exchange/OrderEditor.jsx msgid "Price is above Mark Price" -msgstr "Цена выше Маркированной Цены" +msgstr "Цена выше маркированной цены" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "Эта позиция может быть ликвидирована, исключая любое движение цены, из-за ставок комиссий за финансирование и заем, снижающих залог позиции со временем." -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "Ваш кошелек, ваши ключи. Вы подписываете каждую транзакцию оффчейн. Торговля использует премиум RPC, спонсированные GMX, для надежности даже при перегрузке сети. Оплата газа в USDC или WETH." + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8376,19 +8487,19 @@ msgstr "Цена исполнения ордера" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Slippage is too high" -msgstr "" +msgstr "Проскальзывание слишком высокое" #: src/components/Synthetics/MarketsList/NetFeeHeaderTooltipContent.tsx msgid "Net rate combines funding and borrowing fees but excludes open, swap or impact fees.<0/><1/>Funding fees help to balance longs and shorts and are exchanged between both sides. <2>Read more</2>.<3/><4/>Borrowing fees help ensure available liquidity. <5>Read more</5>." -msgstr "Чистая ставка объединяет финансовые и заемные комиссии, но исключает открытые, обменные или комиссии за влияние.<0/><1/>Финансовые комиссии помогают балансировать лонги и шорты и обмениваются между обеими сторонами. <2>Подробнее</2>.<3/><4/>Комиссии за заем помогают обеспечить доступную ликвидность. <5>Подробнее</5>." +msgstr "Чистая ставка объединяет комиссии за финансирование и заем, но исключает комиссии за открытие, своп или влияние.<0/><1/>Комиссии за финансирование помогают балансировать лонги и шорты и обмениваются между сторонами. <2>Подробнее</2>.<3/><4/>Комиссии за заем помогают обеспечить ликвидность. <5>Подробнее</5>." #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx msgid "Accrued Price Impact Rebates" -msgstr "" +msgstr "Начисленные рибейты за влияние на цену" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Yesterday" -msgstr "" +msgstr "Вчера" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Deposit" @@ -8396,35 +8507,35 @@ msgstr "Запрос на депозит" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit not enough to cover fees" -msgstr "" +msgstr "Депозит недостаточен для покрытия комиссий" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Number of Parts" -msgstr "" +msgstr "Количество частей" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Cancelling {ordersText}" -msgstr "" +msgstr "Отмена {ordersText}" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivated" -msgstr "" +msgstr "Деактивировано" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Ecosystem Projects" -msgstr "" +msgstr "Проекты экосистемы" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in ..." -msgstr "" +msgstr "Рыночный ордер можно будет отменить через ..." #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Price Impact Rebate Claimed" -msgstr "" +msgstr "Заявлен рибейт за влияние на цену" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX" -msgstr "" +msgstr "Анонимный чат с GMX" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx @@ -8436,35 +8547,35 @@ msgstr "" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/positions/utils.ts msgid "Limit" -msgstr "Ограничение" +msgstr "Лимит" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "You will receive at least {toAmountText} if this order is executed. This price is being updated in real time based on swap fees and price impact." -msgstr "" +msgstr "Вы получите не менее {toAmountText}, если этот ордер будет исполнен. Эта цена обновляется в реальном времени на основе комиссий свопа и влияния на цену." #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Acceptable price does not apply to stop loss orders, as they will be executed regardless of any price impact." -msgstr "" +msgstr "Приемлемая цена не применяется к ордерам стоп-лосс, поскольку они будут исполнены независимо от влияния на цену." #: src/components/InterviewModal/InterviewModal.tsx msgid "We'll then schedule a chat or interview with you. As a thank you, you'll receive <0>100 <1/></0> for providing your feedback." -msgstr "" +msgstr "Затем мы назначим чат или интервью с вами. В знак благодарности вы получите <0>100 <1/></0> за ваш отзыв." #: src/domain/synthetics/positions/utils.ts msgid "limit" -msgstr "" +msgstr "лимит" #: src/components/SettingsModal/SettingsModal.tsx msgid "Trading Settings" -msgstr "" +msgstr "Настройки торговли" #: src/components/Exchange/OrdersToa.jsx msgid "<0>Insufficient liquidity to execute the order</0><1>The mark price which is an aggregate of exchange prices did not reach the specified price</1><2>The specified price was reached but not long enough for it to be executed</2><3>No keeper picked up the order for execution</3>" -msgstr "<0>Недостаточная ликвидность для выполнения заказа</0><1>Цена маркировки, которая представляет собой средневзвешенную биржевую стоимость, не достигла указанной цены</1><2>Указанная цена была достигнута, но недостаточно долго для ее выполнения</2><3>Ни один держатель не взял заказ для исполнения</3>" +msgstr "<0>Недостаточная ликвидность для исполнения ордера</0><1>Маркированная цена, которая является агрегацией биржевых цен, не достигла указанной цены</1><2>Указанная цена была достигнута, но недостаточно долго для исполнения</2><3>Ни один кипер не взял ордер для исполнения</3>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Your position's collateral after deducting fees:" -msgstr "Обеспечение вашей позиции после вычета комиссий:" +msgstr "Залог вашей позиции после вычета комиссий:" #: src/components/Glp/GlpSwap.jsx msgid "Selling..." @@ -8472,7 +8583,7 @@ msgstr "Продажа..." #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute as the max. allowed leverage is exceeded. Consider decreasing the order's leverage by editing and decreasing its size. <0>Read more</0>." -msgstr "" +msgstr "Ордер может не исполниться, поскольку превышено макс. допустимое плечо. Рассмотрите уменьшение плеча ордера путем редактирования и уменьшения его размера. <0>Подробнее</0>." #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx @@ -8503,28 +8614,28 @@ msgstr "Лонг позиции" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Depositing {0} to {positionText}" -msgstr "" +msgstr "Внесение {0} в {positionText}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee" -msgstr "" +msgstr "Макс. сетевая комиссия" #: src/domain/tokens/approveTokens.tsx msgid "Approval was cancelled" -msgstr "Одобрение было отменено" +msgstr "Одобрение отменено" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee and pay a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "Позиции {longOrShort} не платят комиссию за финансирование и платят комиссию за заем {borrowRate} в час." #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Increase active: {0}, executed: {1}, cancelled: {2}" -msgstr "Увеличение активно: {0}, выполнено: {1}, отменено: {2}" +msgstr "Увеличение активных: {0}, исполнено: {1}, отменено: {2}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does not impact your collateral." -msgstr "" +msgstr "Максимальная сетевая комиссия, выплачиваемая сети. Это стоимость блокчейна, не специфичная для GMX, и она не влияет на ваш залог." #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX Pages" @@ -8532,58 +8643,58 @@ msgstr "Страницы GMX" #: src/components/Exchange/SwapBox.jsx msgid "{0} is required for collateral." -msgstr "{0} требуется для обеспечения залога." +msgstr "{0} требуется для залога." #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Options Protocol" -msgstr "Децентрализованный Протокол Опционов" +msgstr "Децентрализованный протокол опционов" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Swap Part" -msgstr "" +msgstr "Обновить часть TWAP свопа" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Part" -msgstr "" +msgstr "Обновить часть TWAP" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Complete Account Transfer" -msgstr "Завершить Перевод по Счету" +msgstr "Завершить перевод аккаунта" #: src/pages/Stake/ClaimModal.tsx msgid "Claim Rewards" -msgstr "" +msgstr "Заявить награды" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Copy Address" -msgstr "Копировать Адрес" +msgstr "Копировать адрес" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Pending Transfer Approval" -msgstr "" +msgstr "Ожидание одобрения перевода" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{0}{toTokenIcon}{1}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> на </1>{0}{toTokenIcon}{1}" #: src/components/DepthChart/DepthChart.tsx msgid "ORACLE PRICE" -msgstr "" +msgstr "ЦЕНА ОРАКУЛА" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "" +#~ msgid "For detailed stats:" +#~ msgstr "Для детальной статистики:" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "Total Earned Fees" -msgstr "" +msgstr "Общие заработанные комиссии" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a ratio" -msgstr "" +msgstr "Введите соотношение" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Proof of Reserves" @@ -8591,32 +8702,32 @@ msgstr "Доказательство резервов" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "General Performance Details" -msgstr "" +msgstr "Общие детали производительности" #: src/pages/Stake/VesterWithdrawModal.tsx msgid "<0>This will withdraw and unreserve all tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button under the Total Rewards section.<5/><6/></0>" -msgstr "" +msgstr "<0>Это выведет и снимет резерв со всех токенов, а также приостановит вестинг.<1/><2/>Токены esGMX, конвертированные в GMX, будут заявлены и останутся как токены GMX.<3/><4/>Чтобы заявить токены GMX без вывода, используйте кнопку \"Заявить\" в разделе Общие награды.<5/><6/></0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Price conditions are met" -msgstr "Ценовые условия выполнены" +msgstr "Условия цены выполнены" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Backing Composition" -msgstr "" +msgstr "Состав обеспечения" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeBank" -msgstr "" +msgstr "DeBank" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "You have {balanceFormatted} remaining in your old version 1CT subaccount." -msgstr "" +msgstr "У вас осталось {balanceFormatted} в старой версии субаккаунта 1CT." #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Unstake GMX" -msgstr "" +msgstr "Анстейкать GMX" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit failed!" -msgstr "" +msgstr "Депозит не удался!" diff --git a/src/locales/zh/messages.po b/src/locales/zh/messages.po index d4cbbe236c..1a5bfe7571 100644 --- a/src/locales/zh/messages.po +++ b/src/locales/zh/messages.po @@ -15,7 +15,7 @@ msgstr "" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Unrealized Base PnL" -msgstr "" +msgstr "未实现基础盈亏" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/NftWallet/NftWallet.jsx @@ -24,11 +24,11 @@ msgstr "钱包未连接" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pear Protocol" -msgstr "" +msgstr "Pear Protocol" #: src/components/RatingToast/RatingToast.tsx msgid "Not likely" -msgstr "" +msgstr "不太可能" #: src/pages/Home/Home.tsx msgid "Available on your preferred network" @@ -41,64 +41,64 @@ msgstr "去中心化交易协议" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/ClaimModal.tsx msgid "Claim submitted!" -msgstr "送出领取" +msgstr "领取已提交!" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Disconnect" -msgstr "连线中断" +msgstr "断开连接" #: src/components/Glp/GlpSwap.jsx msgid "Buy GM tokens before the epoch resets in {0} to be eligible for the Bonus Rebate. Alternatively, wait for the epoch to reset to redeem GLP and buy GM within the same epoch." -msgstr "" +msgstr "在周期重置前 {0} 内购买 GM 代币,以获得奖金返利资格。或者,等待周期重置后,在同一周期内赎回 GLP 并购买 GM。" #: src/components/Glp/GlpSwap.jsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx -#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "PRICE" -msgstr "价钱" +msgstr "价格" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "receive" -msgstr "" +msgstr "接收" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Referrals Dashboard" -msgstr "" +msgstr "GMX 推荐仪表板" #: src/pages/Stake/ClaimModal.tsx msgid "Stake GMX Rewards" -msgstr "" +msgstr "质押 GMX 奖励" #: src/components/Glp/SwapErrorModal.tsx msgid "There is not enough liquidity in a single token for your size. Please check the Save on Fees section and consider splitting your order into several different ones" -msgstr "没有足够的单一代币流动资金。请检查节省费用,并考虑将您的订单分成几个不同的订单" +msgstr "没有足够的单一代币流动性。请检查节省费用部分,并考虑将您的订单拆分成几个不同的订单" #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx msgid "Decrease the withdraw size to match the max. <0>Read more</0>.<1/><2/><3>Set max withdrawal</3>" -msgstr "" +msgstr "减少提款规模以匹配最大值。<0>阅读更多</0>。<1/><2/><3>设置最大提款</3>" #: src/domain/synthetics/userFeedback/utils.ts msgid "What would have made your rating a 9 or 10?" -msgstr "" +msgstr "什么能让您的评分达到 9 或 10?" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" -msgstr "{existingTriggerOrderLength, plural, one {You have an active trigger order that might execute immediately after you open this position. Please cancel the order or accept the confirmation to continue.} other {You have # active trigger orders that might execute immediately after you open this position. Please cancel the orders or accept the confirmation to continue.}}" +msgstr "{existingTriggerOrderLength, plural, one {您有一个活跃的触发订单,可能在您开仓后立即执行。请取消订单或接受确认以继续。} other {您有 # 个活跃的触发订单,可能在您开仓后立即执行。请取消订单或接受确认以继续。}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Show debug values" -msgstr "" +msgstr "显示调试值" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Loss" -msgstr "" +msgstr "执行止损" #: src/pages/Exchange/Exchange.tsx msgid "Could not decrease {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." -msgstr "无法降低{tokenSymbol} {longOrShortText} 在可接受的滑点内, 您可在页面右上方的设定中调整可接受滑点" +msgstr "无法在允许滑点范围内减少 {tokenSymbol} {longOrShortText},您可以在页面右上角的设置中调整允许滑点。" #: src/components/ModalViews/RedirectModal.tsx msgid "Agree" @@ -106,38 +106,42 @@ msgstr "同意" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "BonsaiDAO" -msgstr "" +msgstr "BonsaiDAO" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Approval signed" +msgstr "批准已签名" + +#: src/components/Footer/Footer.tsx +msgid "Leave Feedback" msgstr "" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Loss" -msgstr "" +msgstr "每日损失" #: src/pages/Home/Home.tsx msgid "GMX is currently live on Arbitrum and Avalanche." -msgstr "GMX目前在Arbitrum和Avalanche上线" +msgstr "GMX 目前在 Arbitrum 和 Avalanche 上线" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP Swap" -msgstr "" +msgstr "创建 TWAP 交换" #: src/components/Glp/GlpSwap.jsx msgid "Max Pool Capacity" -msgstr "池子高上限" +msgstr "池子最大容量" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizer on Avalanche" -msgstr "Avalanche上的产量优化器" +msgstr "Avalanche 上的产量优化器" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum" -msgstr "" +msgstr "Arbitrum" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -149,11 +153,11 @@ msgstr "订单 ({0})" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "You have not deposited any tokens for vesting." -msgstr "" +msgstr "您尚未存入任何代币用于归属。" #: src/domain/synthetics/positions/utils.ts msgid "stop loss" -msgstr "" +msgstr "止损" #: src/components/Exchange/OrdersList.jsx #: src/components/Referrals/AffiliatesStats.tsx @@ -162,40 +166,40 @@ msgstr "" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Type" -msgstr "种类" +msgstr "类型" #: src/components/Exchange/PositionSeller.jsx msgid "Order submitted!" -msgstr "" +msgstr "订单已提交!" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Updating {updateOrdersCount} TP/SL order(s)" -msgstr "" +msgstr "更新 {updateOrdersCount} 个 TP/SL 订单" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "RabbitHole" -msgstr "" +msgstr "RabbitHole" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is above its target weight.<0/><1/>Get lower fees to <2>swap</2> tokens for {1}." -msgstr "{0}高于其目标重量。<0/><1/>获取较低的费用,以<2>交换</2> 代币成 {1}" +msgstr "{0} 高于其目标权重。<0/><1/>获取较低费用,以 <2>交换</2> 代币为 {1}。" #: src/domain/synthetics/markets/createGlvWithdrawalTxn.ts #: src/domain/synthetics/markets/createWithdrawalTxn.ts msgid "Withdrawal error." -msgstr "" +msgstr "提款错误。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit" -msgstr "" +msgstr "限价失败" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Performance" -msgstr "" +msgstr "表现" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized return of the pool or vault over the selected period, compared to a benchmark that follows Uniswap V2–style rebalancing of the backing tokens in the same GM pool or GLV vault.<0/><1/>Annualized figures based on short periods may be distorted by short-term volatility.<2/><3/>For detailed stats and comparisons, see the <4>GMX V2 LP Dashboard</4>." -msgstr "" +msgstr "池子或金库在选定期间的年化回报,与遵循 Uniswap V2 风格再平衡同一 GM 池或 GLV 金库中支持代币的基准相比。<0/><1/>基于短期数据的年化数字可能因短期波动而扭曲。<2/><3/>有关详细统计和比较,请参阅 <4>GMX V2 LP 仪表板</4>。" #: src/pages/Home/Home.tsx msgid "Decentralized<0/>Perpetual Exchange" @@ -203,52 +207,51 @@ msgstr "去中心化<0/>永续交易所" #: src/pages/Stake/VesterDepositModal.tsx msgid "Current Reserved" -msgstr "" +msgstr "当前保留" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Arbitrum" -msgstr "" +msgstr "V2 Arbitrum" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 13-20 Mar" -msgstr "" +msgstr "EIP-4844, 3 月 13-20 日" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Total size" -msgstr "" +msgstr "总规模" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express Trading" -msgstr "" +msgstr "尝试快速交易" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if there is not enough available liquidity." -msgstr "" +msgstr "请注意,在极少数情况下,订单可能无法执行,例如,如果链条中断且没有预言机报告生成,或者如果没有足够的可用流动性。" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Buy {gasPaymentTokensText}" -msgstr "" +msgstr "购买 {gasPaymentTokensText}" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Show error" -msgstr "" +msgstr "显示错误" #: src/components/Exchange/SwapBox.jsx msgid "Trigger orders, increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions using market orders." -msgstr "" +msgstr "GMX V1 上的触发订单、增加仓位(市场或限价)、添加抵押品和交换现已禁用。您仍可以使用市场订单关闭现有仓位。" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} 可用于为此市场购买 GM,直至指定的购买上限。" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High TWAP Network Fee" -msgstr "" +msgstr "高 TWAP 网络费用" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Market Swap" @@ -256,12 +259,12 @@ msgstr "执行市场交换" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit submitted!" -msgstr "" +msgstr "存款已提交!" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Volume" -msgstr "" +msgstr "交易量" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit Swap" @@ -269,15 +272,15 @@ msgstr "取消限价交换" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{seconds}s" -msgstr "" +msgstr "{seconds}秒" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Required" -msgstr "{0} 需要的" +msgstr "{0} 所需" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "No incentives distribution history yet." -msgstr "" +msgstr "尚无激励分配历史。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -297,82 +300,82 @@ msgstr "费用" #: src/lib/contracts/callContract.tsx msgid "View status." -msgstr "查看状况" +msgstr "查看状态" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Buyable" -msgstr "" +msgstr "可购买" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "TWAP Number of Parts" -msgstr "" +msgstr "TWAP 部分数量" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee - UI Fee" -msgstr "" +msgstr "净值:初始抵押品 + 盈亏 - 借款费用 - 负资金费用 - 关闭费用 - UI 费用" #: src/components/Exchange/ConfirmationBox.jsx msgid "The spread is > 1%, please ensure the trade details are acceptable before confirming" -msgstr "" +msgstr "价差 > 1%,请在确认前确保交易细节可接受" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}<0/><1/>Please mint GLP using another token" -msgstr "已达到{0}<0/><1/>池的最大容量,请使用另一个代币铸币GLP" +msgstr "已达到 {0}<0/><1/> 池的最大容量,请使用另一个代币铸造 GLP" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a value" -msgstr "" +msgstr "输入值" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT Address" -msgstr "输入NFT地址" +msgstr "输入 NFT 地址" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "AVAILABLE" -msgstr "可用的" +msgstr "可用" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "@username" -msgstr "" +msgstr "@用户名" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Short Inc." -msgstr "" +msgstr "止损市场 - 空头增加" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Take Profit" -msgstr "" +msgstr "止盈失败" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Confirm Settle" -msgstr "" +msgstr "确认结算" #: src/domain/synthetics/markets/createDepositTxn.ts #: src/domain/synthetics/markets/createGlvDepositTxn.ts msgid "Deposit error." -msgstr "" +msgstr "存款错误。" #: src/pages/Exchange/Exchange.tsx msgid "Increased {tokenSymbol} {longOrShortText}, +{0} USD." -msgstr "已增加 {tokenSymbol} {longOrShortText}, +{0} USD" +msgstr "增加 {tokenSymbol} {longOrShortText}, +{0} USD。" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{updateOrdersCount} TP/SL order(s) updated" -msgstr "" +msgstr "{updateOrdersCount} 个 TP/SL 订单已更新" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price above mark price" -msgstr "" +msgstr "止损市场价格高于标记价格" #: src/pages/Stake/StakeModal.tsx msgid "Pending {stakingTokenSymbol} approval" -msgstr "" +msgstr "待处理 {stakingTokenSymbol} 批准" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions" -msgstr "" +msgstr "开仓位" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstaking..." @@ -380,33 +383,33 @@ msgstr "解除质押中..." #: src/components/Exchange/SwapBox.jsx msgid "You can change the \"Collateral In\" token above to find lower fees" -msgstr "您可更改\"Collateral In\"上述的代币来找寻较低的费用 " +msgstr "您可以更改上面的“抵押品输入”代币以找到较低费用" #: src/domain/synthetics/trade/utils/validation.ts msgid "The sellable cap for the pool GM: {0} [{1}] has been reached, as the tokens are reserved by traders. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "池 GM: {0} [{1}] 的可售上限已达到,因为代币已被交易者保留。请选择不同的池、减少售卖规模,或从多个池拆分提款。" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap TWAP: Swap tokens in evenly distributed parts over a specified time." -msgstr "" +msgstr "TWAP 交换:在指定时间内均匀分布部分交换代币。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} short exceeded" -msgstr "超过了最大{0}做空范围" +msgstr "超过最大 {0} 做空" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GM balance" -msgstr "" +msgstr "GM 余额不足" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token is a vault of automatically rebalanced GM tokens that accrue fees from leverage trading and swaps from the included markets. Backed by {0} and {1}." -msgstr "" +msgstr "此代币是一个自动再平衡 GM 代币的金库,从包含的市场杠杆交易和交换中累积费用。由 {0} 和 {1} 支持。" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool USD exceeded" -msgstr "" +msgstr "超过池最大 USD" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -414,49 +417,51 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price below mark price" -msgstr "" +msgstr "限价低于标记价格" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "sell" -msgstr "" +msgstr "售卖" #: src/components/Exchange/SwapBox.jsx #: src/config/events.tsx msgid "Please migrate your positions to GMX V2." -msgstr "" +msgstr "请将您的仓位迁移到 GMX V2。" +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Positions" msgstr "仓位" #: src/domain/synthetics/trade/utils/validation.ts msgid "{0} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{0} 无法发送到智能合约地址。请选择另一个代币。" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts msgid "Funding Claimed" -msgstr "" +msgstr "资金费用已领取" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please enable <2>Express trading</2> under settings, which should offer a better experience." -msgstr "" +msgstr "由于 RPC 错误,交易失败。<0/><1/>请在设置下启用 <2>快速交易</2>,这应该提供更好的体验。" #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code added!" -msgstr "添加了推荐代码" +msgstr "推荐代码已添加!" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELLABLE" -msgstr "" +msgstr "可售卖" #: src/pages/Dashboard/StatsCard.tsx msgid "Treasury" -msgstr "" +msgstr "国库" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap {0} to {1} on 1inch" -msgstr "交易{0} 成 {1}在1inch" +msgstr "在 1inch 上交换 {0} 为 {1}" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx @@ -464,24 +469,22 @@ msgstr "交易{0} 成 {1}在1inch" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "No pools matched." -msgstr "" - -#: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx -#~ msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}" -#~ msgstr "" +msgstr "没有匹配的池。" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/AccountDashboard/HistoricalLists.tsx +#: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders" msgstr "订单" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Increased {positionText}, +{0}" -msgstr "" +msgstr "增加 {positionText}, +{0}" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -489,87 +492,88 @@ msgid "Funding Fee" msgstr "资金费用" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "{0} 市场池流动性不足。请为此市场选择不同的池。选择不同的池将打开与现有仓位不同的新仓位。<0><1>切换到 {1} 市场池</1>。</0>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Limit Order" -msgstr "" +msgstr "确认限价订单" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirm Withdraw" -msgstr "" +msgstr "确认提款" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized PnL" -msgstr "" +msgstr "已实现盈亏" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX V2 Data Analytics within Telegram" -msgstr "" +msgstr "Telegram 内的 GMX V2 数据分析" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer ETH from other networks to Arbitrum using any of the below options:" -msgstr "您可以使用以下任何一种方式将ETH从其他网络转移到Arbitrum:" +msgstr "您可以使用以下任何选项将 ETH 从其他网络转移到 Arbitrum:" #: src/components/Exchange/SwapBox.jsx msgid "Created limit order for {0} {1}: {2} USD!" -msgstr "为{0} {1}: {2} USD!创建限量的指令" +msgstr "为 {0} {1}: {2} USD 创建限价订单!" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" -msgstr "无效代币从代币: \"{0}\" 代币: \"{toTokenAddress}\\" +msgstr "无效代币 fromToken: \"{0}\" toToken: \"{toTokenAddress}\"" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Dashboard/DashboardV2.tsx #: src/pages/Dashboard/StatsCard.tsx msgid "Stats" -msgstr "统计数据" +msgstr "统计" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Price Impact Rebates" -msgstr "" +msgstr "领取价格影响返利" #: src/pages/Stake/VesterDepositModal.tsx msgid "Max Capacity" -msgstr "" +msgstr "最大容量" #: src/domain/synthetics/orders/utils.tsx msgid "Market Swap" msgstr "市场交换" -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "Trade History" -msgstr "交易历史" - #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Tabs/NestedTab.tsx msgid "More" -msgstr "" +msgstr "更多" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} short position size, the collateral value will increase to cover any negative PnL, so there is no liquidation price." +msgstr "由于您的仓位抵押品为 {symbol},初始价值高于 {indexName} 空头仓位规模,抵押品价值将增加以覆盖任何负盈亏,因此没有清算价格。" + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Global" msgstr "" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{actionsCount, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{actionsCount, plural, one {订单} other {# 个订单}}" #: src/config/bridging.tsx msgid "Buy APE on Arbitrum with <0>Camelot</0>." -msgstr "" +msgstr "使用 <0>Camelot</0> 在 Arbitrum 上购买 APE。" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You will need to be on this page to accept the transfer, <0>click here</0> to copy the link to this page if needed." -msgstr "你需要在此页面上接受转让,<0>点击这里</0>,若需要,可复制链接至此页面" +msgstr "您需要在此页面接受转移,<0>点击这里</0>复制链接到此页面(如需要)。" #: src/components/ModalViews/RedirectModal.tsx msgid "Don't show this message again for 30 days." -msgstr "30天内不要再显示此信息" +msgstr "30 天内不再显示此消息。" #: src/components/Exchange/ConfirmationBox.jsx msgid "hide" @@ -579,6 +583,10 @@ msgstr "隐藏" msgid "in liquidity" msgstr "流动性中" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winner" +msgstr "" + #: src/components/Exchange/SwapBox.jsx msgid "Exit Price" msgstr "退出价格" @@ -586,66 +594,66 @@ msgstr "退出价格" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Enter Price" -msgstr "輸入價錢" +msgstr "输入价格" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V2" -msgstr "" +msgstr "V2 返利" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives are airdropped weekly." -msgstr "" +msgstr "激励每周空投。" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "Acceptable Price Impact" -msgstr "" +msgstr "可接受价格影响" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add to Metamask" -msgstr "添加到Metamask" +msgstr "添加到 Metamask" #: src/pages/Stake/VesterDepositModal.tsx msgid "Insufficient staked tokens" -msgstr "" +msgstr "质押代币不足" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Telegram contact (optional)" -msgstr "" +msgstr "Telegram 联系方式(可选)" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in {minutesText}{seconds}s." -msgstr "" +msgstr "市场订单将在 {minutesText}{seconds}秒 内可取消。" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "providing liquidity" -msgstr "" +msgstr "提供流动性" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Tap [Create Wallet] to start using your Web3 Wallet." -msgstr "点击[创建钱包]开始使用您的Web3钱包" +msgstr "点击[创建钱包]开始使用您的 Web3 钱包。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Plutus" -msgstr "" +msgstr "Plutus" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Pairs Trading" -msgstr "" +msgstr "对交易" #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX {versionName} {networkName} actions for all accounts." -msgstr "" +msgstr "所有账户的 GMX {versionName} {networkName} 操作。" #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel submitted" -msgstr "送出取消" +msgstr "取消已提交" #: src/components/Exchange/PositionSeller.jsx msgid "Please uncheck \"Keep Leverage\", or close a larger position amount." -msgstr "" +msgstr "请取消选中“保持杠杆”,或关闭更大的仓位金额。" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx @@ -654,7 +662,7 @@ msgstr "编辑抵押品" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} 多头止损市场:当价格低于触发价格时 {0} 空头仓位。" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -662,7 +670,11 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Limit price above mark price" -msgstr "" +msgstr "限价高于标记价格" + +#: src/components/Synthetics/TVChart/ChartHeader.tsx +msgid "Open Interest (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" +msgstr "开仓利息 (<0>{longOIPercentage}</0>/<1>{shortOIPercentage}</1>)" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Create or Import a Wallet" @@ -670,71 +682,64 @@ msgstr "创建或导入钱包" #: src/pages/Stake/ClaimModal.tsx msgid "Stake esGMX Rewards" -msgstr "" +msgstr "质押 esGMX 奖励" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks and Settings" -msgstr "网络和设定" +msgstr "网络和设置" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max network fee buffer precision is 0.01%" -msgstr "" +msgstr "最大网络费用缓冲精度为 0.01%" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Max. Leverage Exceeded" -msgstr "" +msgstr "超过最大杠杆" -#: src/components/SearchInput/SearchInput.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "Search Token" msgstr "搜索代币" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeltaPrime" -msgstr "" +msgstr "DeltaPrime" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using Decentralized Exchange Aggregators:" -msgstr "" +msgstr "使用去中心化交易所聚合器购买 GMX:" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Min. Required Collateral" -msgstr "" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} tokens have been converted to GMX from the {1} esGMX deposited for vesting." -msgstr "" +msgstr "最低所需抵押品" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Rank" -msgstr "" +msgstr "排名" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average position size." -msgstr "" +msgstr "平均仓位规模。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/TradeHistoryRow.tsx msgid "{0} <0/><1> to </1>{1} <2/>" -msgstr "" +msgstr "{0} <0/><1> 到 </1>{1} <2/>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Market: {0} a short position at the current price." -msgstr "" +msgstr "{typeString} 空头市场:以当前价格 {0} 空头仓位。" #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "Claim {totalUsd}" -msgstr "" +msgstr "领取 {totalUsd}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Swap" -msgstr "" +msgstr "Yield Yak 交换" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Vaultka" -msgstr "" +msgstr "Vaultka" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -745,24 +750,24 @@ msgstr "市场" #: src/domain/synthetics/userFeedback/utils.ts msgid "What did you like the most about our service?" -msgstr "" +msgstr "您最喜欢我们服务的哪些方面?" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Paraswap" -msgstr "" +msgstr "Paraswap" #: src/components/TVChartContainer/constants.ts msgid "TP - Long Dec." -msgstr "" +msgstr "止盈 - 多头减少" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claimable Rebates" -msgstr "" +msgstr "可领取返利" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount reached" -msgstr "" +msgstr "达到池最大金额" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Market Orders" @@ -770,23 +775,23 @@ msgstr "市场订单" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we address your concerns and improve your experience?" -msgstr "" +msgstr "我们如何解决您的担忧并改善您的体验?" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value locked takes into account:" -msgstr "" +msgstr "锁定的总价值考虑:" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending buy request" -msgstr "" +msgstr "发送购买请求" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can check your claim history <0>here</0>." -msgstr "你可以在这里查看你的提领历史<0></0>" +msgstr "您可以在这里查看您的领取历史 <0></0>。" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable positive funding fees.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "可领取正资金费用。<0/><1/>通过增加或减少仓位、存入或提取抵押品,或使用“结算”按钮结算费用后,它们变得可用。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -795,83 +800,84 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "Acceptable price for the order." -msgstr "订单的可接受价格" +msgstr "订单的可接受价格。" #: src/components/TVChartContainer/DynamicLine.tsx msgid "The order could not be updated" -msgstr "" +msgstr "订单无法更新" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Cross-chain one-click deposits into GM" -msgstr "" +msgstr "跨链一键存款到 GM" #: src/pages/Home/Home.tsx msgid "Open positions through a simple swap interface. Conveniently swap from any supported asset into the position of your choice." -msgstr "通过简单的互换界面开立头寸。方便地从任何币值换成你选择的头寸" +msgstr "通过简单的交换界面开仓。从任何支持的资产方便地交换到您选择的仓位。" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Incentives Distribution History" -msgstr "" +msgstr "激励分配历史" + +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx +msgid "No markets matched" +msgstr "没有匹配的市场" -#: src/components/BuyInputSection/BuyInputSection.tsx -#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/InputSection/InputSection.jsx #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "MAX" -msgstr "最大值" +msgstr "最大" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid slippage value" -msgstr "无效的滑点值" +msgstr "无效滑点值" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx msgid "{0} price" -msgstr "{0}价格" +msgstr "{0} 价格" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} buyable amount exceeded" -msgstr "" +msgstr "超过最大 {0} 可购买金额" #: src/components/Glp/GlpSwap.jsx msgid "Sell submitted!" -msgstr "出售提交" +msgstr "售卖已提交!" #: src/components/Exchange/PositionSeller.jsx msgid "Closing..." -msgstr "" +msgstr "关闭中..." #: src/components/Referrals/AddAffiliateCode.jsx msgid "Code already taken" -msgstr "已采取的代码" +msgstr "代码已被使用" #: src/components/TVChartContainer/constants.ts msgid "SL - Short Dec." -msgstr "" +msgstr "止损 - 空头减少" #: src/components/SettingsModal/SettingsModal.tsx msgid "Slippage should be less than -5%" -msgstr "" +msgstr "滑点应小于 -5%" #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Acceptable Swap Impact" -msgstr "" +msgstr "可接受交换影响" -#: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx -msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" -msgstr "" +#~ msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up" +#~ msgstr "如果您同意被联系进行快速跟进,请留下您的 Telegram" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized PnL" -msgstr "" +msgstr "未实现盈亏" #: src/pages/Dashboard/OverviewCard.tsx msgid "This value may be higher on other websites due to the collateral of positions being included in the calculation." -msgstr "" +msgstr "由于仓位抵押品包含在计算中,此值在其他网站上可能更高。" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/pages/Stake/GlpCard.tsx @@ -881,7 +887,7 @@ msgstr "奖励" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Liq. {0} {longOrShortText}" -msgstr "" +msgstr "清算 {0} {longOrShortText}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -901,139 +907,139 @@ msgstr "支付" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Governance Page" -msgstr "GMX治理页面" +msgstr "GMX 治理页面" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Money Market" -msgstr "" +msgstr "去中心化货币市场" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Stop Price" -msgstr "" +msgstr "止损价格" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "using GLV and GM tokens. Buying or staking GMX, or using referrals, is not supported at this time." -msgstr "" +msgstr "使用 GLV 和 GM 代币。目前不支持购买或质押 GMX,或使用推荐。" #: src/pages/AccountDashboard/HistoricalLists.tsx msgid "Positions ({positionsCount})" -msgstr "" +msgstr "仓位 ({positionsCount})" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Trade GMX</0>" -msgstr "" +msgstr "<0>交易 GMX</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "As network fees have increased, an additional network fee is needed." -msgstr "" +msgstr "由于网络费用增加,需要额外网络费用。" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited" -msgstr "" +msgstr "已存款" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Limit: Swap tokens when the trigger price is reached." -msgstr "" +msgstr "交换限价:当达到触发价格时交换代币。" #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP have been reserved for vesting." -msgstr "{0}GLP已被保留用于授权" +msgstr "{0} GLP 已保留用于归属。" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Selling {symbol}..." -msgstr "" +msgstr "售卖 {symbol}..." #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Buy with {0}" -msgstr "以{0}购买" +msgstr "使用 {0} 购买" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Asset Management" -msgstr "" +msgstr "资产管理" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding..." -msgstr "添加中" +msgstr "添加中..." #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX {VERSION_NAME} {networkName} actions for all accounts." -msgstr "" +msgstr "所有账户的 GMX {VERSION_NAME} {networkName} 操作。" #: src/components/Exchange/ConfirmationBox.jsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met" -msgstr "当价格条件得到满足时,可能没有足够的流动性来执行您的订单" +msgstr "当价格条件满足时,可能没有足够的流动性来执行您的订单" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow <0>BTCUSD</0> price in real-time, along with other currency pair rates. The interactive charts offer advanced tools and a user-friendly interface for easier market analysis and decision-making." -msgstr "" +msgstr "GMX 使用 TradingView 提供实时加密货币图表,因此您可以轻松实时跟踪 <0>BTCUSD</0> 价格以及其他货币对汇率。交互式图表提供高级工具和用户友好界面,便于市场分析和决策。" #: src/components/Glp/SwapErrorModal.tsx msgid "Swap on 1inch" -msgstr "在1inch上交易" +msgstr "在 1inch 上交换" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Coingecko" -msgstr "" +msgstr "在 Coingecko 中打开 {0}" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buy {operationTokenSymbol}" -msgstr "" +msgstr "购买 {operationTokenSymbol}" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy GM: {0}" -msgstr "" +msgstr "购买 GM: {0}" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx #: src/pages/Dashboard/GmxCard.tsx msgid "Market Cap" -msgstr "标记上限" +msgstr "市值" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settled" -msgstr "" +msgstr "{positionName} 费用已结算" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Average leverage used." -msgstr "" +msgstr "平均使用杠杆。" #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/TotalRewardsCard.tsx msgid "Escrowed GMX" -msgstr "" +msgstr "托管 GMX" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX for Liquidity Providers. For security reasons, we won't contact you first. Please send the message \"I’m a Liquidity Provider\" to our official telegram account:" -msgstr "" +msgstr "我们希望您的见解帮助改善 GMX 的流动性提供者。为安全起见,我们不会先联系您。请将消息“我是流动性提供者”发送到我们的官方 Telegram 账户:" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Insufficient Liquidity" -msgstr "" +msgstr "流动性不足" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "The max network fee is overestimated, including by the buffer set under settings. Upon execution, any excess network fee is sent back to your account." -msgstr "" +msgstr "最大网络费用被高估,包括设置下的缓冲。执行后,任何多余网络费用将退回您的账户。" #: src/components/Synthetics/GmList/GmListItem.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "TVL (Supply)" -msgstr "" +msgstr "TVL (供应)" #: src/components/ModalViews/RedirectModal.tsx msgid "Alternative links can be found in the <0>docs</0>.<1/><2/>By clicking Agree you accept the <3>T&Cs</3> and <4>Referral T&Cs</4>.<5/><6/>" -msgstr "其他选项链接可在<0>docs</0>.<1/><2/>点选同意接受<3>相关条款</3> 以及 <4>以及推荐条款</4>.<5/><6/>后获得" +msgstr "可在 <0>文档</0> 中找到替代链接。<1/><2/>点击同意即接受 <3>条款与条件</3> 和 <4>推荐条款与条件</4>。<5/><6/>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "All Time" -msgstr "" +msgstr "所有时间" #: src/components/Referrals/referralsHelper.js msgid "The referral code can't be more than {MAX_REFERRAL_CODE_LENGTH} characters." -msgstr "推荐代码不能超过{MAX_REFERRAL_CODE_LENGTH}符号" +msgstr "推荐代码不能超过 {MAX_REFERRAL_CODE_LENGTH} 个字符。" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx @@ -1042,32 +1048,32 @@ msgstr "触发订单" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX fundamentals" -msgstr "GMX基础" +msgstr "GMX 基础" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Code" msgstr "推荐代码" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx msgid "Charts by TradingView" -msgstr "" +msgstr "TradingView 图表" #: src/pages/Stake/TotalRewardsCard.tsx msgid "GMX Staked Rewards" -msgstr "" +msgstr "GMX 质押奖励" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Staked Tokens" -msgstr "" +msgstr "质押代币" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Beefy" -msgstr "" +msgstr "Beefy" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake completed!" -msgstr "" +msgstr "解除质押完成!" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1077,32 +1083,32 @@ msgstr "最低接收" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Estimated Fee Refund" -msgstr "估计的费用退款" +msgstr "估计费用退款" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Swaps" -msgstr "" +msgstr "GMX 交换" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivating..." -msgstr "" +msgstr "停用中..." #: src/components/Header/HomeHeaderLinks.tsx msgid "Protocol" -msgstr "" +msgstr "协议" #: src/pages/Dashboard/OverviewCard.tsx msgid "Overview" -msgstr "总览" +msgstr "概述" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Allow all my tokens to be transferred to a new account" -msgstr "" +msgstr "允许将我的所有代币转移到新账户" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche Max. APY: {0}" -msgstr "" +msgstr "Avalanche 最大 APY: {0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrdersList.jsx @@ -1120,24 +1126,24 @@ msgstr "抵押品" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Market" -msgstr "" +msgstr "取消止损市场" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Limit" -msgstr "" +msgstr "执行限价" #: src/components/AprInfo/AprInfo.tsx msgid "Base APY" -msgstr "" +msgstr "基础 APY" #: src/components/TokenCard/TokenCard.tsx msgid "GMX V1 markets are disabled. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "GMX V1 市场已禁用。GLP 正在逐步淘汰,不再支持 GMX V1 市场。" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx msgid "WARNING: This position has a low amount of collateral after deducting borrowing fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "警告:该仓位在扣除借款费用后,抵押品数量较少,请存入更多的抵押品,以降低该仓位的清算风险" +msgstr "警告:扣除借款费用后,此仓位抵押品金额较低,请存入更多抵押品以降低仓位清算风险。" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -1146,115 +1152,117 @@ msgstr "警告:该仓位在扣除借款费用后,抵押品数量较少,请 #: src/pages/BuyGlp/BuyGlp.jsx #: src/pages/Stake/GlpCard.tsx msgid "Sell GLP" -msgstr "出售GLP" +msgstr "售卖 GLP" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Since your position's collateral is in {symbol}, with an initial value higher than the {indexName} long position size, the collateral value will cover any negative PnL, so there is no liquidation price." -msgstr "" +msgstr "由于您的仓位抵押品为 {symbol},初始价值高于 {indexName} 多头仓位规模,抵押品价值将覆盖任何负盈亏,因此没有清算价格。" + +#: src/components/Synthetics/Claims/ClaimsHistory.tsx +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "CSV" +msgstr "CSV" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Short Liq." -msgstr "" +msgstr "空头清算" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Time limit expired." -msgstr "" +msgstr "一键交易已禁用。时间限制已过期。" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {composition} as per the composition displayed." -msgstr "" +msgstr "此代币从 {0} 市场的杠杆交易和交换中自动累积费用。它还根据显示的组成暴露于 {composition}。" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Buy Fee" -msgstr "" +msgstr "购买费用" #: src/pages/Dashboard/DashboardPageTitle.tsx +#: src/pages/Dashboard/DashboardV2.tsx msgid "Tokens" msgstr "代币" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Withdraw" -msgstr "要求提款" +msgstr "请求提款" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "1inch" -msgstr "" - -#: src/pages/PoolsDetails/PoolsDetails.tsx -msgid "Composition" -msgstr "" +msgstr "1inch" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copied" -msgstr "" +msgstr "已复制" #: src/components/Exchange/PositionEditor.jsx msgid "Requested deposit of {0} {1} into {2} {longOrShortText}." -msgstr "" +msgstr "请求将 {0} {1} 存款到 {2} {longOrShortText}。" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid TWAP number of parts value" -msgstr "" +msgstr "无效 TWAP 部分数量值" #: src/components/SettingsModal/SettingsModal.tsx msgid "Invalid network fee buffer value" -msgstr "" +msgstr "无效网络费用缓冲值" #: src/components/Exchange/TradeHistory.jsx msgid "Request deposit into {0} {longOrShortText}" -msgstr "要求将存款存入 {0} {longOrShortText}" +msgstr "请求存款到 {0} {longOrShortText}" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "0x" -msgstr "" +msgstr "0x" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "FUNDING FEE" -msgstr "" +msgstr "资金费用" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Markets" -msgstr "" +msgstr "市场" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Real-time rants about GMX Trades" -msgstr "" +msgstr "GMX 交易的实时吐槽" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "The total realized and unrealized profit and loss for the period, considering price impact and fees but excluding swap fees." -msgstr "" +msgstr "期间的总已实现和未实现盈亏,考虑价格影响和费用,但不包括交换费用。" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V2" -msgstr "" +msgstr "V2 交易量" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show less" -msgstr "" +msgstr "显示更少" #: src/pages/Stake/Vesting.tsx msgid "Vest" -msgstr "" +msgstr "归属" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in the GLP pools." -msgstr "" +msgstr "GLP 池中代币的总价值。" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Select pool" -msgstr "选择池子" +msgstr "选择池" #: src/pages/Dashboard/MarketsListV1.tsx msgid "WEIGHT" -msgstr "重量" +msgstr "权重" #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "APR" -msgstr "年利率" +msgstr "年化收益率" #: src/pages/NftWallet/NftWallet.jsx msgid "Tranferring..." @@ -1275,20 +1283,20 @@ msgstr "总计" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Swap active: {0}, executed: {1}, cancelled: {2}" -msgstr "交易启动:{0}执行{1}已取消{2}" +msgstr "交换活跃:{0},执行:{1},取消:{2}" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Buy token on:" -msgstr "" +msgstr "购买代币于:" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Price Impact" -msgstr "" +msgstr "已实现价格影响" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Limit Swap" @@ -1296,209 +1304,218 @@ msgstr "限价交换失败" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Liq. {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "清算 {longOrShortText} - {marketIndexName}" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "Actions" +msgstr "操作" #: src/components/Exchange/ConfirmationBox.jsx msgid "Longing..." -msgstr "做多中" +msgstr "做多中..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Rebates" -msgstr "返利总额" +msgstr "总返利" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {0} market. It is also exposed to {1} and {2} as per the composition displayed." -msgstr "" +msgstr "此代币从 {0} 市场的杠杆交易和交换中自动累积费用。它还根据显示的组成暴露于 {1} 和 {2}。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min order: {0}" -msgstr "" +msgstr "最小订单:{0}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Wallet is not connected" -msgstr "钱包未被连接" +msgstr "钱包未连接" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "TWAP Swap" -msgstr "" +msgstr "TWAP 交换" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GM is the liquidity provider token for GMX V2 markets. Accrues 63% of the V2 markets generated fees." -msgstr "" +msgstr "GM 是 GMX V2 市场的流动性提供者代币。累积 V2 市场生成费用的 63%。" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider adding a buffer of 0.30% to it so the order is more likely to be processed." -msgstr "" +msgstr "当前价格影响为 {0}。考虑添加 0.30% 的缓冲,使订单更可能被处理。" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Hide error" -msgstr "" +msgstr "隐藏错误" #: src/components/Referrals/TradersStats.tsx msgid "The owner of this Referral Code has set a custom discount of {currentTierDiscount}% instead of the standard {0}% for Tier {1}." -msgstr "" +msgstr "此推荐代码的所有者设置了自定义折扣 {currentTierDiscount}%,而非 Tier {1} 的标准 {0}%。" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." +#~ msgstr "您的钱包,您的密钥。您使用自己的 RPC(通常由钱包提供)在链上签名每个交易。Gas 支付使用 ETH。" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover position below 10 USD" -msgstr "" +msgstr "剩余仓位低于 10 USD" #: src/config/bridging.tsx msgid "Mint tBTC using BTC with <0>Threshold</0>." -msgstr "" +msgstr "使用 BTC 与 <0>Threshold</0> 铸造 tBTC。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Price Impact" -msgstr "" +msgstr "交换价格影响" #: src/domain/synthetics/userFeedback/utils.ts msgid "What issues did you encounter that led to your rating?" -msgstr "" +msgstr "您遇到了哪些问题导致您的评分?" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Address" -msgstr "NFT地址" +msgstr "NFT 地址" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancelled." -msgstr "" +msgstr "{orderText} 已取消。" #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} GLV 池被 <0>激励{sparkle}。</0>" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Set Max Leverage" -msgstr "" +msgstr "设置最大杠杆" #: src/components/Exchange/PositionSeller.jsx msgid "Insufficient Available Liquidity to swap to {0}:" -msgstr "" +msgstr "交换到 {0} 的可用流动性不足:" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Created At" -msgstr "" +msgstr "创建于" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Symbiosis" -msgstr "" +msgstr "Symbiosis" #: src/components/TokenSelector/TokenSelector.tsx msgid "No tokens matched." -msgstr "" +msgstr "没有匹配的代币。" #: src/components/Exchange/TradeHistory.jsx msgid "Withdraw {0} USD from {1}{longOrShortText}" -msgstr "" +msgstr "从 {1}{longOrShortText} 提取 {0} USD" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "{orderTypeLabel} {positionText}, -{0}" -msgstr "" +msgstr "{orderTypeLabel} {positionText}, -{0}" #: src/pages/PageNotFound/PageNotFound.jsx #: src/pages/PageNotFound/PageNotFound.jsx msgid "Page not found" -msgstr "没有找到页面" +msgstr "页面未找到" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX position updates" -msgstr "更新GMX仓位的Telegram机器人" +msgstr "GMX 仓位更新的 Telegram 机器人" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "account" -msgstr "帐户" +msgstr "账户" + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "EIP-4844" +msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Keep leverage at {0}" -msgstr "" +msgstr "保持杠杆为 {0}" #: src/components/Exchange/SwapBox.jsx msgid "If you have an existing position, the position will be closed at {0} USD.<0/><1/>This exit price will change with the price of the asset.<2/><3/><4>Read more</4>." -msgstr "如果你有一个现有的头寸,它将在{0}美元被关闭。<0/><1/>这个退出价格将随着资产的价格所变化。<2/><3/><4>阅读更多</4>" +msgstr "如果您有现有仓位,该仓位将在 {0} USD 关闭。<0/><1/>此退出价格将随资产价格变化。<2/><3/><4>阅读更多</4>。" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAIL. LIQ." -msgstr "" +msgstr "可用流动性" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer Submitted" -msgstr "送出转移" +msgstr "转移已提交" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Trading is disabled. Action limit exceeded." -msgstr "" +msgstr "一键交易已禁用。操作限制已超过。" #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Shift GM" -msgstr "" +msgstr "转移 GM" #: src/components/Exchange/PositionEditor.jsx msgid "Requested withdrawal of {0} USD from {1} {longOrShortText}." -msgstr "" +msgstr "请求从 {1} {longOrShortText} 提取 {0} USD。" #: src/pages/Exchange/Exchange.tsx msgid "Could not increase {tokenSymbol} {longOrShortText} within the allowed slippage, you can adjust the allowed slippage in the settings on the top right of the page." -msgstr "无法增加 {tokenSymbol} {longOrShortText} 在可接受的滑点内, 您可在页面右上方的设定中调整可接受滑点" +msgstr "无法在允许滑点范围内增加 {tokenSymbol} {longOrShortText},您可以在页面右上角的设置中调整允许滑点。" #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swapped {0} for {1}" -msgstr "" +msgstr "交换 {0} 为 {1}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Tier {0} ({currentRebatePercentage}% rebate)" -msgstr "" +msgstr "Tier {0} ({currentRebatePercentage}% 返利)" #: src/components/NotifyModal/NotifyModal.tsx msgid "Discover GMX Alerts" -msgstr "" +msgstr "发现 GMX 警报" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Price on Avalanche" -msgstr "Avalanche上的价格" +msgstr "Avalanche 上的价格" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order creation failed." -msgstr "创建交易订单失败" +msgstr "交换订单创建失败。" #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Chart positions" -msgstr "图表位置" +msgstr "图表仓位" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Unknown Order" -msgstr "" +msgstr "未知订单" #: src/components/Exchange/ConfirmationBox.jsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity" -msgstr "该订单只在满足价格条件并有足够的流动性时才会执行" +msgstr "仅当满足价格条件且有足够流动性时,订单才会执行" #: src/components/Exchange/FeesTooltip.tsx msgid "Swap Fee" -msgstr "" +msgstr "交换费用" #: src/components/Glp/GlpSwap.jsx msgid "GLP sell disabled, pending {0} upgrade" -msgstr "GLP售卖已禁止,等待{0}升级" +msgstr "GLP 售卖已禁用,待 {0} 升级" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient receive token liquidity" -msgstr "" +msgstr "接收代币流动性不足" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements and Updates" -msgstr "GMX公告和更新" +msgstr "GMX 公告和更新" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit Swap" @@ -1513,34 +1530,34 @@ msgstr "费用" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche Fuji" -msgstr "" +msgstr "V2 Avalanche Fuji" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order cancelled" -msgstr "" +msgstr "转移订单已取消" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order executed" -msgstr "" +msgstr "订单已执行" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Select Positions" -msgstr "" +msgstr "选择仓位" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "您将从多头仓位做多 {indexSymbol},同时从 {collateralSymbol} 抵押品做多 {collateralSymbol}。清算价格将根据 {collateralSymbol} 的价格变化。" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "Failed to update order(s)" -msgstr "" +msgstr "更新订单失败" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V2 Avalanche" -msgstr "" +msgstr "V2 Avalanche" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Decrease" @@ -1548,19 +1565,19 @@ msgstr "市场减少失败" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Full market" -msgstr "" +msgstr "完整市场" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT Wallet" -msgstr "NFT钱包" +msgstr "NFT 钱包" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals Voting page" -msgstr "GMX提案投票页面" +msgstr "GMX 提案投票页面" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy ETH directly on <0>Arbitrum</0> using these options:" -msgstr "" +msgstr "您可以使用这些选项直接在 <0>Arbitrum</0> 上购买 ETH:" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx @@ -1584,7 +1601,7 @@ msgstr "DEX 聚合器" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the order." -msgstr "标记订单价格。" +msgstr "订单的标记价格。" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx @@ -1598,80 +1615,89 @@ msgstr "净值" #: src/components/Synthetics/TableMarketFilter/MarketFilterBase.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Search Market" -msgstr "" +msgstr "搜索市场" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the current price impact and set allowed slippage. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "订单的可接受价格包括当前价格影响和设置的允许滑点。执行价格必须满足此条件才能执行订单。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be higher than the limit price." -msgstr "" +msgstr "一旦标记价格达到限价,订单将尝试执行,保证可接受价格,包括设置的可接受价格影响。请注意,如果有负价格影响,标记价格可能需要高于限价。" #: src/components/Synthetics/Claims/ClaimsHistory.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Transaction ID" -msgstr "交易ID" +msgstr "交易 ID" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx msgid "Borrow Fee / Day" -msgstr "借款费用/天" +msgstr "借款费用 / 天" #: src/components/SettingsModal/SettingsModal.tsx msgid "Number of parts must be between {MIN_TWAP_NUMBER_OF_PARTS} and {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "部分数量必须介于 {MIN_TWAP_NUMBER_OF_PARTS} 和 {MAX_TWAP_NUMBER_OF_PARTS} 之间" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Chinese)" -msgstr "" +msgstr "GMX (中文)" + +#: src/components/SearchInput/SearchInput.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +msgid "Search" +msgstr "搜索" #: src/components/Exchange/OrderEditor.jsx msgid "Price is below Mark Price" -msgstr "价格低于标价" +msgstr "价格低于标记价格" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GMX Vault" -msgstr "" +msgstr "从 GMX 金库提取" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal submitted." -msgstr "" +msgstr "提款已提交。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Referral Discount" -msgstr "" +msgstr "推荐折扣" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee or a borrow fee." -msgstr "" +msgstr "{longOrShort} 仓位不支付资金费用或借款费用。" #: src/pages/Dashboard/OverviewCard.tsx msgid "Fees for the past" -msgstr "" +msgstr "过去的费用" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Optimizations" -msgstr "" +msgstr "产量优化" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive (Approximate)" -msgstr "" +msgstr "接收(近似)" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "No swap path found" -msgstr "" +msgstr "未找到交换路径" + +#: src/components/Synthetics/TradeHistory/TradeHistory.tsx +msgid "RPnL" +msgstr "已实现盈亏" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined stop losses are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "组合止损已达到最大 (100%)。减少现有值以添加更多订单。" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "4-18 Places" -msgstr "" +msgstr "4-18 名" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "MARKETS" @@ -1680,55 +1706,55 @@ msgstr "市场" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Max {0}" -msgstr "" +msgstr "最大 {0}" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "This token automatically accrues fees from leverage trading and swaps for the {marketName} market. It is also exposed to {exposedToLabel} as per the composition displayed." -msgstr "" +msgstr "此代币从 {marketName} 市场的杠杆交易和交换中自动累积费用。它还根据显示的组成暴露于 {exposedToLabel}。" #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Withdrew {0} from {positionText}" -msgstr "" +msgstr "从 {positionText} 提取 {0}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Create Order" -msgstr "创建指令" +msgstr "创建订单" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Utilization" -msgstr "使用情况" +msgstr "利用率" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {0} for {1}" -msgstr "" +msgstr "{orderTypeText} {0} 为 {1}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GLP Vesting Vault" -msgstr "发送者已从GLP授权金库中撤回所有代币" +msgstr "发送者已从 GLP 归属金库提取所有代币" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Profit Fee" -msgstr "" +msgstr "高交换利润费用" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "WARNING: This position has a low amount of collateral after deducting fees, deposit more collateral to reduce the position's liquidation risk." -msgstr "" +msgstr "警告:扣除费用后,此仓位抵押品金额较低,请存入更多抵押品以降低仓位清算风险。" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} long capacity" -msgstr "最大{0}做多限制" +msgstr "最大 {0} 多头容量" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "" +msgstr "输入价格" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Account" -msgstr "帐户" +msgstr "账户" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available for wrapping or unwrapping native token {0}." -msgstr "" +msgstr "快速交易不可用于包装或解包原生代币 {0}。" #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1736,71 +1762,70 @@ msgstr "" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Close Fee" -msgstr "" +msgstr "关闭费用" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Airdrop" -msgstr "" +msgstr "V1 空投" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX" -msgstr "" +msgstr "GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Uniswap or directly on GMX (make sure to select Arbitrum):" -msgstr "" +msgstr "从 Uniswap 购买 GMX 或直接在 GMX 上购买(确保选择 Arbitrum):" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Close to execution price" -msgstr "关闭执行价格" +msgstr "接近执行价格" #: src/components/ExpressTradingOutOfGasBanner.ts/ExpressTradingOutOfGasBanner.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express and One-Click Trading are unavailable due to insufficient gas balance." -msgstr "" +msgstr "由于 Gas 余额不足,快速和一键交易不可用。" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Global Leaderboard" -msgstr "" +#~ msgid "Global Leaderboard" +#~ msgstr "全球排行榜" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min size per part: {0}" -msgstr "" +msgstr "每个部分最小规模:{0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above liq. price" -msgstr "" +msgstr "触发价格高于清算价格" #: src/pages/Home/Home.tsx msgid "Simple Swaps" -msgstr "简易交易" +msgstr "简单交换" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "No results found" -msgstr "" +msgstr "未找到结果" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Pair" -msgstr "" +msgstr "对" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Synthetics/SwapCard/SwapCard.tsx msgid "Max {0} out" -msgstr "最高{0}以外" +msgstr "最大 {0} 输出" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing shorts or<1/>decreasing longs for this size." -msgstr "" +msgstr "没有价格影响。对于增加空头或减少多头,此规模有单一<0/>执行价格。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Option-based Vaults" -msgstr "" +msgstr "基于期权的金库" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -1813,19 +1838,19 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Mark" -msgstr "" +msgstr "标记" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage at {keepLeverageAtValue}" -msgstr "" +msgstr "保持杠杆为 {keepLeverageAtValue}" #: src/pages/Dashboard/GmxCard.tsx msgid "not staked" -msgstr "未质押的" +msgstr "未质押" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 2" -msgstr "" +msgstr "Layer 2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -1835,19 +1860,20 @@ msgstr "返利分配历史" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Negative Funding Fee" -msgstr "" +msgstr "累积负资金费用" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit not checked" -msgstr "未检查没收利润" +msgstr "未选中没收利润" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx +#: src/pages/Dashboard/GmCard.tsx msgid "Buy GM" -msgstr "" +msgstr "购买 GM" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of close fee" -msgstr "" +msgstr "关闭费用之" #: src/components/Exchange/TradeHistory.jsx msgid "Increase {0} {longOrShortText}, +{1} USD, {2} Price: {3} USD" @@ -1855,68 +1881,68 @@ msgstr "增加 {0} {longOrShortText}, +{1} USD, {2} 价格: {3} USD" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The address of the esGMX (IOU) token is {esGmxIouAddress}." -msgstr "esGMX(IOU)代币的地址是{esGmxIouAddress}" +msgstr "esGMX (IOU) 代币的地址是 {esGmxIouAddress}。" #: src/components/NotifyModal/NotifyModal.tsx msgid "GMX Alerts" -msgstr "" +msgstr "GMX 警报" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Show details" -msgstr "" +msgstr "显示详情" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "To reduce fees, select a different asset to pay with." -msgstr "为了减少费用,请选择不同的资产来支付" +msgstr "为减少费用,请选择不同的资产支付。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the limit price, the order will attempt to execute, guaranteeing the acceptable price, which includes the set acceptable price impact. Note that if there is a negative price impact, the mark price may need to be lower than the limit price." -msgstr "" +msgstr "一旦标记价格达到限价,订单将尝试执行,保证可接受价格,包括设置的可接受价格影响。请注意,如果有负价格影响,标记价格可能需要低于限价。" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Buy {0}" -msgstr "" +msgstr "购买 {0}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "USD Value may not be accurate since the data does not contain prices for {0}" -msgstr "" +msgstr "USD 值可能不准确,因为数据不包含 {0} 的价格" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Blueberry Club" -msgstr "" +msgstr "GMX Blueberry Club" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Cumulative PnL" -msgstr "" +msgstr "累积盈亏" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum Max. APY:" -msgstr "" +msgstr "Arbitrum 最大 APY:" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity for your Account:" -msgstr "" +msgstr "您账户的金库容量:" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/pages/Exchange/Exchange.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "{0, plural, one {Cancel order} other {Cancel # orders}}" -msgstr "" +msgstr "{0, plural, one {取消订单} other {取消 # 个订单}}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Display PnL After Fees" -msgstr "" +msgstr "显示费用后盈亏" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol risk explorer and stats" -msgstr "" +msgstr "协议风险浏览器和统计" #: src/components/Exchange/PositionShareCard.tsx msgid "Generating shareable image..." -msgstr "生成可分享的图像中..." +msgstr "生成可分享图像中..." #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx @@ -1932,24 +1958,25 @@ msgstr "借款费用" #: src/components/Glp/GlpSwap.jsx msgid "Buy submitted." -msgstr "送出购买" +msgstr "购买已提交。" #: src/pages/Stake/Stake.tsx msgid "Incentives & Prizes" -msgstr "" +msgstr "激励与奖品" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you sell GLP for. <0/>Enter the amount of GLP you want to redeem in the order form, then check here to compare fees." -msgstr "费用决于你出售GLP的资产可能有所不同。<0/>在订单中输入你要取回的GLP数量,然后在此查看以比较费用。" +msgstr "费用可能因您售卖 GLP 的资产而异。<0/>在订单表单中输入您要赎回的 GLP 金额,然后在此检查以比较费用。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{txnTypeText} {0} order for" -msgstr "" +msgstr "{txnTypeText} {0} 订单为" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "The fees' USD value is calculated at the time they are earned and does not include incentives." -msgstr "" +msgstr "费用的 USD 值在赚取时计算,不包括激励。" +#: src/components/BuyInputSection/BuyInputSection.tsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -1959,63 +1986,64 @@ msgstr "" #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max" -msgstr "" +msgstr "最大" #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/JoinReferralCode.tsx msgid "Checking code..." -msgstr "检查代码..." +msgstr "检查代码中..." #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/OverviewCard.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GM Pools" -msgstr "" +msgstr "GM 池" #: src/components/Exchange/SwapBox.jsx msgid "There is a \"Close\" button on each position row, clicking it will display the option to close positions via market orders." -msgstr "" +msgstr "每个仓位行都有“关闭”按钮,点击它将显示通过市场订单关闭仓位的选项。" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will only execute if the price conditions are met and there is sufficient liquidity." -msgstr "" +msgstr "仅当满足价格条件且有足够流动性时,订单才会执行。" #: src/pages/Referrals/Referrals.tsx msgid "Affiliates" -msgstr "" +msgstr "附属" #: src/pages/Stake/Vesting.tsx msgid "Convert esGMX tokens to GMX tokens.<0/>Please read the <1>vesting details</1> before using the vaults." -msgstr "" +msgstr "将 esGMX 代币转换为 GMX 代币。<0/>在使用金库前,请阅读 <1>授权详情</1>。" #: src/components/OneClickPromoBanner/OneClickPromoBanner.tsx msgid "Try Express" -msgstr "" +msgstr "尝试快速" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to deactivate" -msgstr "" +msgstr "停用失败" #: src/lib/legacy.ts msgid "No open position, order cannot be executed unless a position is opened" -msgstr "没有未结头寸,除非有头寸,否则订单不能被执行" +msgstr "没有开仓,订单无法执行,除非开仓" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "Short Positions" -msgstr "做空仓位" +msgstr "空头仓位" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Buying {symbol}..." -msgstr "" +msgstr "购买 {symbol}..." #: src/components/Exchange/TradeHistory.jsx msgid "Could not increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}  USD" -msgstr "" +msgstr "无法增加 {0} {longOrShortText}, +{1} USD,可接受价格:{2} USD" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX on {chainName}" -msgstr "" +msgstr "在 {chainName} 上购买 GMX" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2039,8 +2067,9 @@ msgstr "规模" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience and insights and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "我们重视您的经验和见解,并邀请您参与匿名一对一聊天。" +#: src/components/AppHeader/AppHeaderUser.tsx #: src/components/Glp/GlpSwap.jsx #: src/components/Header/AppHeaderUser.tsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -2059,106 +2088,102 @@ msgstr "连接钱包" #: src/components/Exchange/OrdersToa.jsx msgid "Enabling Orders..." -msgstr "启用指令中..." +msgstr "启用订单中..." #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Avalanche" -msgstr "在Avalanche上授权GLP" +msgstr "在 Avalanche 上归属 GLP" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "No esGMX to claim" -msgstr "没有esGMX可供索取" +msgstr "没有 esGMX 可领取" #: src/components/Exchange/SwapBox.jsx msgid "Requested increase of {tokenSymbol} {longOrShortText} by {0} USD." -msgstr "要求增加{tokenSymbol} {longOrShortText} 由 {0} USD" +msgstr "请求增加 {tokenSymbol} {longOrShortText} {0} USD。" #: src/pages/Home/Home.tsx msgid "Enter and exit positions with minimal spread and low price impact. Get the optimal price without incurring additional costs." -msgstr "" +msgstr "以最小价差和低价格影响进入和退出仓位。获得最佳价格而不产生额外成本。" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b trading incentives" -msgstr "" +msgstr "STIP.b 交易激励" #: src/components/Exchange/ConfirmationBox.jsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last 365d" -msgstr "" +msgstr "您可以在页面右上角的设置菜单中编辑默认允许滑点。<0/><1/>请注意,低允许滑点(如小于 {0})可能导致订单失败,如果价格波动。" #: src/components/Exchange/FeesTooltip.tsx msgid "<0>Read more</0> about fees." -msgstr "<0>阅读更多</0>关于费用" +msgstr "<0>阅读更多</0> 关于费用。" #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The execution price may vary depending on swap fees at the time the order is executed." -msgstr "如果该订单被执行,您将至少收到{0} {1} 确切的执行价格可能会根据订单执行时的交易费用而变化" +msgstr "如果此订单执行,您将至少收到 {0} {1}。执行价格可能因订单执行时的交换费用而异。" #: src/components/Exchange/SwapBox.jsx msgid "Limit order creation failed." -msgstr "限价订单创建失败" +msgstr "限价订单创建失败。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics" -msgstr "" +msgstr "Dune Analytics" #: src/domain/synthetics/trade/utils/validation.ts msgid "There isn't enough GM: {0} [{1}] liquidity in GLV to fulfill your sell request. Please choose a different pool, reduce the sell size, or split your withdrawal from multiple pools." -msgstr "" +msgstr "GLV 中没有足够的 GM: {0} [{1}] 流动性来满足您的售卖请求。请选择不同的池、减少售卖规模,或从多个池拆分提款。" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx msgid "Approving {0}..." -msgstr "核准中" +msgstr "批准 {0}..." #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Deposited {0} into {positionText}" -msgstr "" +msgstr "存款 {0} 到 {positionText}" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "您的钱包,您的密钥。GMX 为您执行交易而无需单独签名,提供无缝的类似 CEX 体验。交易使用 GMX 赞助的优质 RPC 以确保可靠性,即使在网络拥堵时。Gas 支付使用 USDC 或 WETH。" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimCollateralHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Claim Funding Fees" -msgstr "" +msgstr "领取资金费用" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates are airdropped weekly." -msgstr "回扣将在每周空投一次" +msgstr "返利每周空投。" #: src/components/SettingsModal/SettingsModal.tsx msgid "Display Settings" -msgstr "" +msgstr "显示设置" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "Total:" -msgstr "总数:" +msgstr "总计:" #: src/domain/tokens/approveTokens.tsx msgid "{0} Approved!" -msgstr "{0} 通过!" +msgstr "{0} 已批准!" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to STBTC</0> to use {1} as collateral." -msgstr "" +msgstr "没有可用交换路径。<0>交换 {0} 到 STBTC</0> 以使用 {1} 作为抵押品。" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Provide liquidity</0> and earn {gmxMarketApyDataText} APY" -msgstr "" +msgstr "<0>提供流动性</0> 并赚取 {gmxMarketApyDataText} APY" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Address" -msgstr "" +msgstr "地址" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winner:" -msgstr "" +#~ msgid "Winner:" +#~ msgstr "获胜者:" #: src/pages/Home/Home.tsx msgid "Total Trading Volume" @@ -2167,19 +2192,19 @@ msgstr "总交易量" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSpreadRow.tsx msgid "Collateral Spread" -msgstr "" +msgstr "抵押品价差" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing limit order with {symbol} as collateral. <0>Switch to {symbol} collateral</0>." -msgstr "" +msgstr "您有一个以 {symbol} 作为抵押品的现有限价订单。<0>切换到 {symbol} 抵押品</0>。" #: src/components/Header/Header.tsx msgid "Trade on GMX V2 in Arbitrum and win 280,000 ARB (> $500k) in prizes in <0>two weekly</0> competitions. Live from March 13th to 27th." -msgstr "" +msgstr "在 Arbitrum 的 GMX V2 上交易,赢得 280,000 ARB (> $500k) 奖品,在 <0>两个每周</0> 比赛中。从 3 月 13 日到 27 日直播。" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Index" -msgstr "索引" +msgstr "指数" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Finance Dashboard" @@ -2187,28 +2212,28 @@ msgstr "去中心化金融仪表板" #: src/components/Glp/GlpSwap.jsx msgid "GLP buy disabled, pending {0} upgrade" -msgstr "GLP购买已禁止,等待{0}升级" +msgstr "GLP 购买已禁用,待 {0} 升级" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "<0>Error submitting order.</0><1/><2>Signer address does not match receiver address.</2><3/><4>Please reload the page and try again.</4>" -msgstr "" +msgstr "<0>提交订单错误。</0><1/><2>签名者地址与接收者地址不匹配。</2><3/><4>请重新加载页面并重试。</4>" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Trading Mode" -msgstr "" +msgstr "交易模式" #: src/components/Errors/errorToasts.tsx msgid "Transaction failed due to RPC error.<0/><1/>Please try changing the RPC url in your wallet settings with the help of <2>chainlist.org</2>.<3/><4/><5>Read more</5>." -msgstr "" +msgstr "由于 RPC 错误,交易失败。<0/><1/>请尝试在钱包设置中更改 RPC URL,使用 <2>chainlist.org</2> 的帮助。<3/><4/><5>阅读更多</5>。" #: src/components/Exchange/PositionSeller.jsx msgid "You have an active order to decrease {longOrShortText} {sizeInToken} {0} (${1}) at {prefix} {2}" -msgstr "" +msgstr "您有一个活跃订单来减少 {longOrShortText} {sizeInToken} {0} (${1}) 在 {prefix} {2}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} sellable amount exceeded" -msgstr "" +msgstr "超过最大 {0} 可售卖金额" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -2217,19 +2242,19 @@ msgstr "代币" #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer NFT" -msgstr "转移NFT" +msgstr "转移 NFT" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit failed." -msgstr "" +msgstr "启用存款失败。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GMX tokens before" -msgstr "收款人未质押过GMX代币" +msgstr "接收者之前未质押 GMX 代币" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for GMX Swaps monitoring" -msgstr "" +msgstr "GMX 交换监控的 Telegram 机器人" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "LIQUIDITY" @@ -2240,7 +2265,7 @@ msgstr "流动性" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Swaps" -msgstr "交易" +msgstr "交换" #: src/components/ApproveTokenButton/ApproveTokenButton.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx @@ -2250,29 +2275,29 @@ msgstr "交易" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Allow {0} to be spent" -msgstr "" +msgstr "允许花费 {0}" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order created!" -msgstr "创建了交易订单" +msgstr "交换订单已创建!" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "POSITION" -msgstr "" +msgstr "仓位" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Trading Volume" -msgstr "" +msgstr "交易量" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing limit order in the {0} market pool but it lacks liquidity for this order." -msgstr "" +msgstr "您在 {0} 市场池中有现有限价订单,但该订单缺乏流动性。" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Reserved for Vesting" -msgstr "" +msgstr "保留用于归属" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/JoinReferralCode.tsx @@ -2283,43 +2308,48 @@ msgstr "更新" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DODO" -msgstr "" +msgstr "DODO" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Your transfer has been initiated." -msgstr "你的转汇已启动" +msgstr "您的转移已启动。" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Estimated annualized fees generated by trading activity (open, close, borrow, liquidations, swaps) over the selected period. Does not include backing token price changes, trading PnL, or funding fees.<0/><1/>For detailed stats and comparisons, see the <2>GMX V2 LP Dashboard</2>." -msgstr "" +msgstr "选定期间交易活动(开仓、平仓、借款、清算、交换)生成的估计年化费用。不包括支持代币价格变化、交易盈亏或资金费用。<0/><1/>有关详细统计和比较,请参阅 <2>GMX V2 LP 仪表板</2>。" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Risk Alerts" -msgstr "" +msgstr "清算风险警报" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Fees settling" -msgstr "" +msgstr "{positionName} 费用结算" #: src/components/Exchange/ConfirmationBox.jsx msgid "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" -msgstr "{existingTriggerOrderLength, plural, one {You have an active trigger order that could impact this position.} other {You have # active trigger orders that could impact this position.}}" +msgstr "{existingTriggerOrderLength, plural, one {您有一个活跃的触发订单可能会影响此仓位。} other {您有 # 个活跃的触发订单可能会影响此仓位。}}" + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> GMX tokens can be claimed, use the options under the Total Rewards section to claim them." +msgstr "可以领取 <0>{0}</0> 个 GMX 代币,使用总奖励部分下的选项领取它们。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift order executed" -msgstr "" +msgstr "转移订单已执行" #: src/pages/Stake/VesterDepositModal.tsx msgid "You need a total of at least {0} {stakeTokenLabel} to vest {1} esGMX." -msgstr "" +msgstr "您至少需要总计 {0} {stakeTokenLabel} 来授权 {1} esGMX。" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} USDG for{1} {2}" -msgstr "" +msgstr "将 {0} USDG 交换为{1} {2}" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "{0} will be swapped to {1} on order execution." -msgstr "" +msgstr "{0} 将在订单执行时交换为 {1}。" #. Button to clear the filter selection #: src/components/Synthetics/TableOptionsFilter/TableOptionsFilter.tsx @@ -2328,24 +2358,24 @@ msgstr "清除选择" #: src/domain/synthetics/orders/utils.tsx msgid "The order will not be executed as its trigger price is beyond the position's liquidation price." -msgstr "" +msgstr "该订单将不会执行,因为其触发价格超出仓位的清算价格。" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Failed to cancel {ordersText}" -msgstr "" +msgstr "取消 {ordersText} 失败" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Stop Market: {0} a short position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} 做空止损市价:当价格低于触发价格时 {0} 一个做空仓位。" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "The mark price has changed, consider increasing your Allowed Slippage by clicking on the \"...\" icon next to your address." -msgstr "标价已改变, 请考虑点击你地址旁的 \"...\" 图示来增加你的允许滑点" +msgstr "标记价格已更改,请考虑通过点击您地址旁的 \"...\" 图标来增加您的允许滑点。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Default Allowed Slippage" -msgstr "" +msgstr "默认允许滑点" #. Total Value Locked #: src/components/Synthetics/MarketsList/MarketsList.tsx @@ -2355,29 +2385,29 @@ msgstr "TVL" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Shift Fee" -msgstr "" +msgstr "转移费用" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "GLP Pool" -msgstr "GLP池" +msgstr "GLP 池" #: src/domain/legacy.ts #: src/pages/Exchange/Exchange.tsx msgid "Cancel submitted." -msgstr "送出取消" +msgstr "取消已提交。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from Traderjoe:" -msgstr "" +msgstr "从 Traderjoe 购买 GMX:" #: src/pages/Actions/ActionsRouter.tsx msgid "V1 is not supported on {chainName}. Please switch to Arbitrum to use V1." -msgstr "" +msgstr "V1 不支持 {chainName}。请切换到 Arbitrum 以使用 V1。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Saulius GMX Analytics" -msgstr "" +msgstr "Saulius GMX 分析" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -2386,29 +2416,29 @@ msgstr "" #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx msgid "{0} Price" -msgstr "{0} 价钱" +msgstr "{0} 价格" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized services" -msgstr "" +msgstr "从中心化服务购买 GMX" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Bridge and swap" -msgstr "" +msgstr "桥接和交换" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above lowest limit price" -msgstr "" +msgstr "触发价格高于最低限价" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Borrow Fee Rate" -msgstr "" +msgstr "借贷费用率" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max number of parts: {MAX_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "最大部分数量:{MAX_TWAP_NUMBER_OF_PARTS}" #: src/components/Header/AppHeaderUser.tsx #: src/components/Header/AppHeaderUser.tsx @@ -2419,19 +2449,27 @@ msgstr "启动应用程序" #: src/pages/Exchange/Exchange.tsx msgid "Deposited {0} USD into {tokenSymbol} {longOrShortText}" -msgstr "已存取{0} USD 至 {tokenSymbol} {longOrShortText}" +msgstr "已存入 {0} USD 到 {tokenSymbol} {longOrShortText}" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has staked GMX/GLP before" -msgstr "" +msgstr "接收者之前已质押 GMX/GLP" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling sell request" -msgstr "" +msgstr "履行卖出请求" #: src/components/Exchange/TradeHistory.jsx msgid "{actionDisplay} Order" -msgstr "{actionDisplay} 指令" +msgstr "{actionDisplay} 订单" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +msgstr "" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Market Graph" +msgstr "市场图表" #: src/components/Exchange/SwapBox.jsx msgid "There are more longs than shorts, borrow fees for shorting is currently zero" @@ -2439,81 +2477,85 @@ msgstr "多头比空头多,做空的借贷费用目前为零" #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche APR:" -msgstr "Avalanche年利率" +msgstr "Avalanche 年化收益率:" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dune Analytics for GMX" -msgstr "" +msgstr "GMX 的 Dune Analytics" #: src/components/Exchange/TradeHistory.jsx msgid "Could not decrease {0} {longOrShortText}, +{1} USD, Acceptable Price: {2}" -msgstr "无法降低 {0} {longOrShortText}, +{1} USD, 能接受的价钱: {2}" +msgstr "无法减少 {0} {longOrShortText}, +{1} USD,可接受价格:{2}" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "NET RATE / 1 H" -msgstr "净率/1小时" +msgstr "净率 / 1 小时" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Avalanche" -msgstr "在Avalanche上授权GMX" +msgstr "在 Avalanche 上授权 GMX" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "点击仓位以选择其市场,然后使用交易框增加您的仓位规模,或设置止盈/止损订单。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Relayer request failed" -msgstr "" +msgstr "中继器请求失败" #: src/components/Exchange/TradeHistory.jsx msgid "Request decrease {0} {longOrShortText}, -{1} USD, Acceptable Price: {2} {3} USD" -msgstr "要求减少 {0} {longOrShortText}, -{1} USD, 可接受的价格: {2} {3} USD" +msgstr "请求减少 {0} {longOrShortText}, -{1} USD,可接受价格:{2} {3} USD" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "settings updated" -msgstr "" +msgstr "设置已更新" #: src/components/Exchange/SwapBox.jsx msgid "You have an existing position with {0} as collateral." -msgstr "您有一个现有仓位,抵押品为{0}" +msgstr "您有一个现有仓位,抵押品为 {0}。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Transfer Account" msgstr "转移账户" +#: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +msgid "Winners" +msgstr "" + #: src/pages/Actions/ActionsRouter.tsx #: src/pages/Actions/ActionsV1/ActionsV1.tsx msgid "GMX V1 Actions" -msgstr "" +msgstr "GMX V1 操作" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Part" -msgstr "" +msgstr "执行 TWAP 部分" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap Profit Fee" -msgstr "" +msgstr "交换利润费用" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Amount to claim" -msgstr "取回金额" +msgstr "可领取金额" #: src/pages/Jobs/Jobs.jsx msgid "Job openings at GMX." -msgstr "GMX的职位空缺" +msgstr "GMX 的职位空缺。" #: src/components/Exchange/OrderEditor.jsx msgid "Price below Mark Price" -msgstr "价格低于标价" +msgstr "价格低于标记价格" #: src/components/Stake/GMXAprTooltip.tsx msgid "APRs are updated weekly on Wednesday and will depend on the fees collected for the week." -msgstr "年利率每周三更新一次,具体数量取决于当周收取的费用" +msgstr "年化收益率每周三更新,具体取决于当周收取的费用。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Fees (Incl. Swap)" -msgstr "" +msgstr "费用(包括交换)" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -2522,24 +2564,24 @@ msgstr "{fromText} 到 {toMinText}" #: src/components/Errors/errorToasts.tsx msgid "Otherwise, try changing the RPC url in your wallet settings with the help of <0>chainlist.org</0>." -msgstr "" +msgstr "否则,请尝试在您的钱包设置中更改 RPC URL,可借助 <0>chainlist.org</0>。" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Price above Liq. Price" -msgstr "价格高于流动资金价格" +msgstr "价格高于清算价格" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the pay token to collateral token swap when the price conditions are met." -msgstr "" +msgstr "当价格条件满足时,可能没有足够的流动性来执行支付代币到抵押代币的交换。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "User Quests" -msgstr "" +msgstr "用户任务" #: src/components/Glp/GlpSwap.jsx msgid "{0} pool exceeded, try different token" -msgstr "{0}池超量,请尝试不同的代币" +msgstr "{0} 池已超出,请尝试不同的代币" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx @@ -2549,11 +2591,11 @@ msgstr "触发" #: src/pages/Exchange/Exchange.tsx msgid "Positions ({0})" -msgstr "仓位({0})" +msgstr "仓位 ({0})" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake failed." -msgstr "" +msgstr "解除质押失败。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx @@ -2562,11 +2604,15 @@ msgstr "订单已取消" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Swap Liquidity to fill the Order." -msgstr "没有足够的可用交换流动性来填补订单。" +msgstr "没有足够的可用交换流动性来填充订单。" #: src/pages/Stake/Stake.tsx msgid "Earn prizes by participating in GMX Trading Competitions." -msgstr "" +msgstr "通过参与 GMX 交易竞赛赚取奖品。" + +#: src/components/SideNav/SideNav.tsx +msgid "Collapse" +msgstr "折叠" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Long" @@ -2574,27 +2620,27 @@ msgstr "确认做多" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Arbitrum" -msgstr "" +msgstr "在 Arbitrum 上推荐的交易者" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "PnL After Fees" -msgstr "扣除费用后的PnL" +msgstr "扣除费用后的 PnL" #: src/lib/contracts/callContract.tsx #: src/lib/contracts/callContract.tsx #: src/lib/contracts/callContract.tsx msgid "Transaction sent." -msgstr "交易送出" +msgstr "交易已发送。" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter up to 10 coins" -msgstr "" +msgstr "输入最多 10 个币种" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Backing Tokens" -msgstr "" +msgstr "对支撑代币的敞口" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Creating..." @@ -2604,158 +2650,158 @@ msgstr "创建中..." #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing from Subaccount" -msgstr "" +msgstr "从子账户提取" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settling Position Fees" -msgstr "" +msgstr "结算仓位费用" #: src/components/Exchange/OrderEditor.jsx msgid "Minimum received" -msgstr "最低已接收" +msgstr "最低收到" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available amount to withdraw from GLP. Funds not utilized by current open positions." -msgstr "可提取的GLP数量. 资金未被当前开仓所使用." +msgstr "可从 GLP 提取的可用金额。当前未被开仓使用的资金。" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Enter your feedback here" -msgstr "" +msgstr "在此输入您的反馈" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Impact on Collateral" -msgstr "" +msgstr "对抵押品的高影响" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "and" -msgstr "" +msgstr "和" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient GLV liquidity" -msgstr "" +msgstr "GLV 流动性不足" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Invalid price, see warning" -msgstr "无效的价格,请参阅警告" +msgstr "无效价格,请参阅警告" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} only from your short position." -msgstr "" +msgstr "您将仅从您的做空仓位做空 {indexSymbol}。" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Signing approval..." -msgstr "" +msgstr "签署批准中..." #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "The current price impact is {0}. Consider using -0.30% acceptable price impact so the order is more likely to be processed." -msgstr "" +msgstr "当前价格影响为 {0}。考虑使用 -0.30% 的可接受价格影响,以便订单更可能被处理。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Auto-Cancel TP/SL" -msgstr "" +msgstr "自动取消 TP/SL" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Funding Fee Rate" -msgstr "" +msgstr "资金费用率" #: src/components/Exchange/PositionSeller.jsx msgid "Requested decrease of {0} {longOrShortText} by {sizeDeltaUsd} USD." -msgstr "" +msgstr "请求减少 {0} {longOrShortText} {sizeDeltaUsd} USD。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Returned Collateral" -msgstr "" +msgstr "返回抵押品" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "You need to select {swapTokenSymbol} as the \"Pay\" token to use it for collateral to initiate this trade." -msgstr "你需要选择 {swapTokenSymbol} 作为 \"Pay\" 代币 以将它作为抵押品来启动这个交易" +msgstr "您需要选择 {swapTokenSymbol} 作为“支付”代币,以将其用作抵押品来启动此交易。" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "There are issues in the TP/SL orders." -msgstr "" +msgstr "TP/SL 订单存在问题。" #: src/components/Glp/GlpSwap.jsx msgid "The Bonus Rebate is an estimate and will be airdropped as ARB tokens when migrating this liquidity to GM pools within the same epoch. <0>Read more</0>." -msgstr "" +msgstr "奖金回扣为估算值,并在同一时期将此流动性迁移到 GM 池时以 ARB 代币空投。<0>阅读更多</0>。" #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP sold for {1} {2}!" -msgstr "{0}GLP以{1}{2}售出 !" +msgstr "{0} GLP 以 {1} {2} 售出!" #: src/components/TVChartContainer/constants.ts msgid "Stop Market - Long Inc." -msgstr "" +msgstr "止损市价 - 做多增加" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Failed to Claim Price Impact Rebate" -msgstr "" +msgstr "领取价格影响回扣失败" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Only positions with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "仅“资本使用”超过 {0} 的仓位被排名。" #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept minimum and {action}" -msgstr "接受最小值并且 {action}" +msgstr "接受最小值并 {action}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Withdraw from Affiliate Vault" -msgstr "" +msgstr "从联盟金库提取" #: src/components/Glp/GlpSwap.jsx msgid "Current Pool Amount" -msgstr "当前池子里的金额" +msgstr "当前池金额" #: src/domain/legacy.ts #: src/pages/Exchange/Exchange.tsx msgid "Cancel failed." -msgstr "取消失败" +msgstr "取消失败。" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "The order will be executed if there is sufficient liquidity and the execution price guarantees that you will receive the minimum receive amount." -msgstr "" +msgstr "如果有足够的流动性且执行价格保证您收到最低收到金额,则订单将被执行。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Transacting with a depegged stable coin is subject to spreads reflecting the worse of current market price or $1.00, with transactions involving multiple stablecoins may have multiple spreads." -msgstr "" +msgstr "使用脱锚稳定币交易需承受反映当前市场价格或 1.00 美元中较差的价差,涉及多个稳定币的交易可能有多个价差。" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the \"Close\" button to reduce your Position Size." -msgstr "" +msgstr "使用“关闭”按钮减少您的仓位规模。" #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Limit)" -msgstr "" +msgstr "增加规模(限价)" #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute at the desired {priceText} as its acceptable price impact is set to {formattedOrderAcceptablePriceImpact}, which is lower than the current market price impact of {formattedCurrentAcceptablePriceImpact}. It can be edited using the \"Edit\" button." -msgstr "" +msgstr "该订单可能不会以期望的 {priceText} 执行,因为其可接受价格影响设置为 {formattedOrderAcceptablePriceImpact},低于当前市场价格影响 {formattedCurrentAcceptablePriceImpact}。可以使用“编辑”按钮编辑。" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Liquidation Fee" -msgstr "" +msgstr "清算费用" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settle" -msgstr "" +msgstr "结算" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TWAP: {0} a short position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} 做空 TWAP:在指定时间内均匀分布部分 {0} 一个做空仓位。" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap when the min. receive conditions are met." -msgstr "" +msgstr "当最低收到条件满足时,可能没有足够的流动性来执行交换。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "{fromText} to" -msgstr "" +msgstr "{fromText} 到" #: src/components/Exchange/PositionDropdown.tsx msgid "Select Market" @@ -2763,7 +2809,11 @@ msgstr "选择市场" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "Open positions: {0}<0/>Under risk: {1}" -msgstr "未结头寸: {0}<0/>风险之下: {1}" +msgstr "开仓:{0}<0/>风险中:{1}" + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "Cumulative PnL <0>{0}</0>" +msgstr "" #: src/components/Exchange/UsefulLinks.tsx msgid "Speed up page loading" @@ -2771,56 +2821,56 @@ msgstr "加速页面加载" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: Swap {amountInDisplay}{1} for{minOutDisplay} {2}, Price:{3} USD" -msgstr "" +msgstr "{0}:将 {amountInDisplay}{1} 交换为{minOutDisplay} {2},价格:{3} USD" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "(Rebated)" -msgstr "" +msgstr "(回扣)" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from centralized exchanges:" -msgstr "" +msgstr "从中心化交易所购买 GMX:" #: src/pages/BuyGMX/BuyGMX.tsx msgid "GMX bonds can be bought on Bond Protocol with a discount and a small vesting period:" -msgstr "" +msgstr "GMX 债券可在 Bond Protocol 上以折扣和小授权期购买:" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above highest limit price" -msgstr "" +msgstr "触发价格高于最高限价" #: src/components/Exchange/OrdersToa.jsx msgid "Note that orders are not guaranteed to be executed.<0/><1/>This can occur in a few situations including but not exclusive to:" -msgstr "请注意,订单不保证被执行。<0/><1/>可能发生在几种情况下,包括但不限于:" +msgstr "请注意,订单不保证执行。<0/><1/>这可能发生在几种情况下,包括但不限于:" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Open Positions with Orders" -msgstr "" +msgstr "带有订单的开仓" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Copin" -msgstr "" +msgstr "Copin" #: src/components/Exchange/PositionSeller.jsx msgid "{nativeTokenSymbol} can not be sent to smart contract addresses. Select another token." -msgstr "" +msgstr "{nativeTokenSymbol} 无法发送到智能合约地址。请选择另一个代币。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "This swap is routed through several GM pools for the lowest possible fees and price impact." -msgstr "" +msgstr "此交换通过多个 GM 池路由,以实现最低费用和价格影响。" #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "{0}" -msgstr "" +msgstr "{0}" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Liquidity." -msgstr "没有足够的可用流动性来填补订单。当条件满足并且有足够的可用流动性时,订单将被填充。" +msgstr "没有足够的可用流动性来填充订单。当条件满足且有足够的可用流动性时,订单将被填充。" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized data based on the past 7 days." -msgstr "" +msgstr "基于过去 7 天的年化数据。" #: src/components/Exchange/OrdersToa.jsx #: src/components/Exchange/OrdersToa.jsx @@ -2829,51 +2879,53 @@ msgstr "启用订单" #: src/components/Glp/GlpSwap.jsx msgid "Max pool capacity reached for {0}. Please mint GLP using another token" -msgstr "已达到{0}池的最大容量。请使用另一个代币挖GLP" +msgstr "{0} 的最大池容量已达到。请使用另一个代币铸造 GLP" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>Execution prices for decreasing longs." -msgstr "" +msgstr "没有流动性可用于增加此规模的做空。<0/>最大做空规模:{0}<1/><2/>减少做多的执行价格。" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Trade" msgstr "交易" #: src/components/Referrals/JoinReferralCode.tsx msgid "Adding referral code failed." -msgstr "添加推荐代码失败" +msgstr "添加推荐代码失败。" #: src/components/Exchange/PositionEditor.jsx msgid "Max leverage without PnL: {0}x" -msgstr "" +msgstr "无 PnL 的最大杠杆:{0}x" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "V2 doesn't currently support this network" -msgstr "" +msgstr "V2 当前不支持此网络" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Arbitrum" -msgstr "" +msgstr "V1 Arbitrum" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Avalanche" -msgstr "" +msgstr "Avalanche" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Fee APR" -msgstr "" +msgstr "费用年化收益率" #: src/domain/synthetics/positions/utils.ts msgid "SL" -msgstr "" +msgstr "SL" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx #: src/pages/Stake/Stake.tsx @@ -2890,49 +2942,49 @@ msgstr "质押" #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx msgid "Allow {tokenSymbol} to be spent" -msgstr "" +msgstr "允许 {tokenSymbol} 被支出" #: src/components/NpsModal/NpsModal.tsx msgid "Help us improve" -msgstr "" +msgstr "帮助我们改进" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Invalid Liquidation Price" -msgstr "" +msgstr "无效清算价格" #: src/pages/Home/Home.tsx msgid "An aggregate of high-quality price feeds determine when liquidations occur. This keeps positions safe from temporary wicks." -msgstr "高质量价格供给的总和决定了清算时间。使头寸不受暂时波动的影响" +msgstr "高质量价格馈送的聚合决定了清算发生的时间。这使仓位免受临时波动的影响。" #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} available liquidity. Choose a different \"Receive\" token." -msgstr "" +msgstr "从 {0} 到 {1} 的交换金额超过 {2} 可用流动性。选择不同的“接收”代币。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Take Profit" -msgstr "" +msgstr "创建止盈" #: src/components/Exchange/OrderEditor.jsx msgid "Update Order" -msgstr "更新指令" +msgstr "更新订单" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP" -msgstr "" +msgstr "取消 TWAP" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Mark price for the liquidation." -msgstr "清算的市场价格。" +msgstr "清算的标记价格。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Selling {0}{1}<1>{poolName}</1></0>" -msgstr "" +msgstr "<0>出售 {0}{1}<1>{poolName}</1></0>" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Max close amount exceeded" -msgstr "" +msgstr "最大关闭金额超出" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -2942,84 +2994,89 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max leverage: {0}x" -msgstr "" +msgstr "最大杠杆:{0}x" #: src/domain/synthetics/positions/utils.ts msgid "T" -msgstr "" +msgstr "T" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Please enter the names of the coins you'd like to see added:" -msgstr "" +msgstr "请输入您希望添加的币种名称:" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and Short" -msgstr "没收收益并做空" +msgstr "放弃利润并做空" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Arbitrum" -msgstr "" +msgstr "在 Arbitrum 上质押" #: src/components/Exchange/PositionSeller.jsx msgid "Order creation failed." -msgstr "" +msgstr "订单创建失败。" #: src/components/TokenCard/TokenCard.tsx msgid "Sell token on:" -msgstr "" +msgstr "出售代币于:" #: src/components/Synthetics/MissedCoinsHint/MissedCoinsHint.tsx msgid "Can’t find the coin you need? Let us know" -msgstr "" +msgstr "找不到您需要的币种?告诉我们" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegated to" -msgstr "" +msgstr "委托给" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} update failed." -msgstr "" +msgstr "{orderText} 更新失败。" #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: Swap {fromAmountDisplay} {0} for {toAmountDisplay} {1}" -msgstr "执行指令: 交换 {fromAmountDisplay} {0} 为 {toAmountDisplay} {1}" +msgstr "执行订单:将 {fromAmountDisplay} {0} 交换为 {toAmountDisplay} {1}" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Buy {swapTokenSymbol} on 1inch" -msgstr "在1inch {swapTokenSymbol}上购买 " +msgstr "在 1inch 上购买 {swapTokenSymbol}" + +#: src/components/NpsModal/NpsModal.tsx +#: src/components/UserFeedbackModal/UserFeedbackModal.tsx +msgid "Leave your Telegram if you’re okay with being contacted for a quick follow-up." +msgstr "" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "PnL (%)" -msgstr "" +msgstr "PnL (%)" #: src/domain/synthetics/userFeedback/utils.ts msgid "How can we continue to meet your expectations?" -msgstr "" +msgstr "我们如何继续满足您的期望?" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another address to claim if you'd like." -msgstr "esGMX(IOU)代币是可以转让的,如果你愿意,你可以把代币加入你的钱包,并把它发送到另一个地址" +msgstr "esGMX (IOU) 代币是可转移的。如果您愿意,可以将代币添加到您的钱包并发送到另一个地址进行领取。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Self-transfer not supported" -msgstr "不支持自行转让" +msgstr "不支持自我转移" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Generating session..." -msgstr "" +msgstr "生成会话中..." #: src/pages/Exchange/Exchange.tsx msgid "Decreased {tokenSymbol} {longOrShortText}, -{0} USD." -msgstr "已减少{tokenSymbol} {longOrShortText}, -{0} USD" +msgstr "减少 {tokenSymbol} {longOrShortText}, -{0} USD。" #: src/components/Exchange/PositionEditor.jsx msgid "Leave at least {0} ETH for gas" -msgstr "" +msgstr "至少留下 {0} ETH 用于 gas" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders failed." -msgstr "启用指令失败" +msgstr "启用订单失败。" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx @@ -3027,18 +3084,18 @@ msgstr "启用指令失败" #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Total Staked" -msgstr "质押总额" +msgstr "总质押" #: src/components/Exchange/FeesTooltip.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Network Fee" -msgstr "网络费" +msgstr "网络费用" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact." -msgstr "" +msgstr "订单的预期执行价格,包括当前价格影响。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3056,16 +3113,16 @@ msgstr "杠杆" #: src/pages/Exchange/Exchange.tsx msgid "Enable orders sent." -msgstr "启用指令发送" +msgstr "启用订单已发送。" #: src/components/Exchange/PositionEditor.jsx #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing..." -msgstr "" +msgstr "提取中..." #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims match the selected filters" -msgstr "" +msgstr "没有符合选定筛选条件的领取" #: src/components/Exchange/SwapBox.jsx #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx @@ -3087,86 +3144,81 @@ msgstr "市场" #: src/components/Exchange/PositionSeller.jsx msgid "Swap amount from {0} to {1} exceeds {2} acceptable amount. Can only receive {3}." -msgstr "" +msgstr "从 {0} 到 {1} 的交换金额超过 {2} 可接受金额。只能接收 {3}。" #: src/pages/Stake/Stake.tsx msgid "Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2." -msgstr "" +msgstr "通过购买 GM 代币或在 GMX V2 中交易赚取 {incentivesToken} 代币激励。" #: src/components/Exchange/PositionEditor.jsx msgid "Withdraw disabled, pending {0} upgrade" -msgstr "" +msgstr "提取禁用,待 {0} 升级" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Read the rules" -msgstr "" +msgstr "阅读规则" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Lev." -msgstr "" +msgstr "杠杆" #: src/pages/Stake/StakeModal.tsx msgid "Stake failed." -msgstr "" +msgstr "质押失败。" #: src/components/NpsModal/NpsModal.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Submitting..." -msgstr "" +msgstr "提交中..." #: src/components/Header/HomeHeaderLinks.tsx msgid "App" -msgstr "" +msgstr "应用程序" #: src/components/Synthetics/GmList/GlvList.tsx msgid "Yield-optimized vaults supplying liquidity across multiple GMX markets." -msgstr "" +msgstr "跨多个 GMX 市场提供流动性的收益优化金库。" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Add {marketName} to Wallet" -msgstr "" +msgstr "将 {marketName} 添加到钱包" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Annualized Performance" -msgstr "" +msgstr "年化表现" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" -msgstr "" +msgstr "<0>{0}</0> <1><2>{indexName}</2><3>[{poolName}]</3></1>" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap {0} to {1}" -msgstr "" +msgstr "将 {0} 交换为 {1}" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}." -msgstr "从{0}换到{1}的费用较高" +msgstr "从 {0} 交换到 {1} 的费用较高。" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Debug values are not available" -msgstr "" +msgstr "调试值不可用" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below liq. price" -msgstr "" +msgstr "触发价格低于清算价格" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx #: src/pages/Stake/ClaimModal.tsx msgid "Claim failed." -msgstr "领取失败" - -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Positions{0}" -msgstr "" +msgstr "领取失败。" #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Unknown Error" -msgstr "" +msgstr "未知错误" #: src/components/Glp/GlpSwap.jsx msgid "Buying..." @@ -3174,60 +3226,60 @@ msgstr "购买中..." #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a new ratio or allowed slippage" -msgstr "" +msgstr "输入新比率或允许滑点" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Swap UI Fee" -msgstr "" +msgstr "交换 UI 费用" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the size to match the max. allowed leverage:" -msgstr "" +msgstr "减少规模以匹配最大允许杠杆:" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Positive Funding Fee" -msgstr "" +msgstr "累积正资金费用" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from Affiliate Vesting Vault" -msgstr "" +msgstr "发送者已从联盟授权金库提取所有代币" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/keys.ts #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx msgid "Liquidated" -msgstr "清偿完毕" +msgstr "已清算" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Blueberry Pulse" -msgstr "" +msgstr "Blueberry Pulse" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "Please switch to the <0><1/><2>Arbitrum</2></0> or <3><4/><5>Avalanche</5></3> deployment for those features." -msgstr "" +msgstr "请切换到 <0><1/><2>Arbitrum</2></0> 或 <3><4/><5>Avalanche</5></3> 部署以使用这些功能。" #: src/components/NetworkDropdown/LanguagePopupHome.tsx -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Select Language" msgstr "选择语言" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Direction" -msgstr "" +msgstr "方向" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} and {1} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM 可以为此市场出售 {0} 和 {1},上限为指定的出售上限。池中剩余代币保留用于当前开仓。" #: src/components/Glp/GlpSwap.jsx msgid "Due to the recent incident on GMX V1 Arbitrum, GLP on Arbitrum is not sellable." -msgstr "" +msgstr "由于 GMX V1 Arbitrum 最近的事件,Arbitrum 上的 GLP 不可出售。" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "Graph showing performance vs benchmark over the selected period." -msgstr "" +msgstr "显示所选时期表现 vs 基准的图表。" #: src/components/Synthetics/ExecutionPriceRow.tsx #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3252,20 +3304,20 @@ msgstr "订单可接受价格" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "VOL." -msgstr "" +msgstr "交易量" #: src/components/Glp/GlpSwap.jsx msgid "Max Capacity for {0} Reached" -msgstr "达到{0}的最高上限" +msgstr "{0} 的最大容量已达到" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below limit price" -msgstr "" +msgstr "触发价格低于限价" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "<0>Buying {0}{1}<1>{poolName}</1></0> <2>with {tokensText}</2>" -msgstr "" +msgstr "<0>购买 {0}{1}<1>{poolName}</1></0> <2>使用 {tokensText}</2>" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionsList.jsx @@ -3278,57 +3330,57 @@ msgstr "初始抵押品" #: src/pages/Stake/StakeModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power before staking." -msgstr "" +msgstr "<0>在质押前委托您的未委托 {0} GMX DAO</0> 投票权。" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Size" -msgstr "" +msgstr "平均规模" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 esGMX" -msgstr "" +msgstr "V1 esGMX" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit PnL" -msgstr "" +msgstr "止盈 PnL" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Let us know which coins you're missing" -msgstr "" +msgstr "告诉我们您缺少哪些币种" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw sent." -msgstr "" +msgstr "启用提取已发送。" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour." -msgstr "你的esGMX(IOU)余额在提领后将减少您的领回金额,这是可预期的" +msgstr "您的 esGMX (IOU) 余额在领取后将减少您的领取金额,这是预期行为。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The Max Network Fee is set to a higher value to handle potential increases in gas price during order execution. Any excess network fee will be refunded to your account when the order is executed. Only applicable to GMX V2." -msgstr "" +msgstr "最大网络费用设置为较高值,以处理订单执行期间 gas 价格的潜在增加。任何多余网络费用将在订单执行时退还到您的账户。仅适用于 GMX V2。" #: src/domain/synthetics/positions/utils.ts msgid "stop market" -msgstr "" +msgstr "止损市价" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized PnL" -msgstr "" +msgstr "起始未实现 PnL" #: src/components/TVChartContainer/constants.ts msgid "Limit - Short Inc." -msgstr "" +msgstr "限价 - 做空增加" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Sending settle request" -msgstr "" +msgstr "发送结算请求" #: src/lib/legacy.ts msgid "Order cannot be executed as the remaining position would be smaller than $5.00" -msgstr "订单无法执行,剩余头寸小于5美元" +msgstr "订单无法执行,因为剩余仓位将小于 5.00 美元" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -3337,32 +3389,27 @@ msgstr "订单无法执行,剩余头寸小于5美元" #: src/pages/Stake/AffiliateClaimModal.tsx #: src/pages/Stake/ClaimModal.tsx msgid "Claiming..." -msgstr "领取中" - -#. Filter option for tokens favorites -#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx -msgid "All" -msgstr "" +msgstr "领取中..." #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Increase" -msgstr "要求市场增加" +msgstr "请求市场增加" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Edit {0}" -msgstr "" +msgstr "编辑 {0}" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GMX on Arbitrum" -msgstr "在Arbitrum上授权GMX" +msgstr "在 Arbitrum 上授权 GMX" #: src/components/Synthetics/Claims/ClaimableCard.tsx msgid "Claimable price impact rebates.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "可领取价格影响回扣。<0/><1/><2>阅读更多</2>。" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and {borrowAction} a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "{longOrShort} 仓位 {fundingAction} 每小时 {fundingRate} 的资金费用,并 {borrowAction} 每小时 {borrowRate} 的借贷费用。" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx @@ -3371,53 +3418,57 @@ msgstr "" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "TWAP" -msgstr "" +msgstr "TWAP" #: src/components/Exchange/OrderEditor.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Updating Order..." -msgstr "更新指令中..." +msgstr "更新订单中..." #: src/components/Exchange/PositionSeller.jsx msgid "Close failed." -msgstr "" +msgstr "关闭失败。" #: src/pages/Stake/Stake.tsx msgid "You are earning rewards with {0} tokens.<0/>Tokens: {amountStr}." -msgstr "" +msgstr "您正在使用 {0} 代币赚取奖励。<0/>代币:{amountStr}。" #: src/components/ModalViews/RedirectModal.tsx msgid "The website is a community deployed and maintained instance of the open source <0>GMX front end</0>, hosted and served on the distributed, peer-to-peer <1>IPFS network</1>." -msgstr "该网站是一个社区部署和维护的开放资源<0>GMX前端的实例</0>,在分布式、对等的<1>IPFS网络</1>上托管和服务" +msgstr "该网站是社区部署和维护的开源 <0>GMX 前端</0> 实例,在分布式点对点 <1>IPFS 网络</1> 上托管和服务。" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit failed." -msgstr "" +msgstr "存入失败。" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "<0>Set Recommended Impact: {0}</0>." -msgstr "" +msgstr "<0>设置推荐影响:{0}</0>。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Defi Llama" -msgstr "" +msgstr "Defi Llama" #: src/pages/Exchange/Exchange.tsx msgid "Orders cancelled." -msgstr "订单取消" +msgstr "订单已取消。" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Last Rebalance" -msgstr "" +msgstr "上次再平衡" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Limit" -msgstr "" +msgstr "取消限价" #: src/components/Referrals/AffiliatesStats.tsx msgid "V2 Claim" -msgstr "" +msgstr "V2 领取" #: src/components/Exchange/OrdersToa.jsx msgid "Accept that orders are not guaranteed to execute and trigger orders may not settle at the trigger price" @@ -3426,20 +3477,20 @@ msgstr "接受订单不保证执行,触发订单可能不按触发价格结算 #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a market" -msgstr "" +msgstr "选择市场" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please choose a different pool or reduce the buy size." -msgstr "" +msgstr "池 GM: {0} 在 {1} [{2}] 的可购买上限已达到。请选择不同的池或减少购买规模。" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High External Swap Impact" -msgstr "" +msgstr "高外部交换影响" #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "No trades yet" -msgstr "暂时没有交易" +msgstr "暂无交易" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -3448,81 +3499,76 @@ msgstr "暂时没有交易" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Allowed Slippage" -msgstr "允许的滑点" +msgstr "允许滑点" #: src/components/Exchange/OrderEditor.jsx msgid "Order update failed." -msgstr "指令更新失败" +msgstr "订单更新失败。" #: src/components/Glp/GlpSwap.jsx msgid "Waiting for Approval" -msgstr "等待核准" +msgstr "等待批准" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions {fundingAction} a funding fee of {fundingRate} per hour and do not pay a borrow fee." -msgstr "" +msgstr "{longOrShort} 仓位 {fundingAction} 每小时 {fundingRate} 的资金费用,且不支付借贷费用。" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short TP/SL: {0} a short position when the trigger price is reached." -msgstr "" +msgstr "{typeString} 做空 TP/SL:当达到触发价格时 {0} 一个做空仓位。" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community-led Telegram groups." -msgstr "社区主导的Telegram群组" +msgstr "社区主导的 Telegram 群组。" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Open Interest" -msgstr "" - -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx -msgid "COMP." -msgstr "" +msgstr "{longShortText} {0} 开仓利息" #: src/pages/Stake/Vesting.tsx msgid "You have no GMX tokens to claim." -msgstr "" +msgstr "您没有 GMX 代币可领取。" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Settled Funding Fees" -msgstr "" +msgstr "结算资金费用" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Ends in" -msgstr "" +msgstr "结束于" #: src/components/Referrals/JoinReferralCode.tsx msgid "Please input a referral code to benefit from fee discounts." -msgstr "请输入推荐代码,以获得折扣" +msgstr "请输入推荐代码以享受费用折扣。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Deposit" -msgstr "存取失败" +msgstr "存入失败" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Swap" -msgstr "要求市场交换" +msgstr "请求市场交换" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market.{1}" -msgstr "" +msgstr "{0} 市场池流动性不足。请为此市场选择不同的池。{1}" #: src/domain/synthetics/trade/utils/validation.ts msgid "App disabled, pending {0} upgrade" -msgstr "" +msgstr "应用程序禁用,待 {0} 升级" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates earned by this account as an affiliate." -msgstr "该账户作为合作公司赚取的回扣" +msgstr "该账户作为联盟赚取的回扣。" #: src/components/Glp/GlpSwap.jsx msgid "Swap {0} on 1inch" -msgstr "在1inch上交易{0}" +msgstr "在 1inch 上交换 {0}" #: src/components/Glp/GlpSwap.jsx msgid "{0} GLP bought with {1} {2}!" -msgstr "{0}GLP以{1}{2}买入!" +msgstr "{0} GLP 以 {1} {2} 购买!" #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -3533,7 +3579,7 @@ msgstr "解除质押" #: src/components/SettingsModal/SettingsModal.tsx msgid "Debug Settings" -msgstr "" +msgstr "调试设置" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "More Options" @@ -3541,30 +3587,34 @@ msgstr "更多选项" #: src/components/TokenCard/TokenCard.tsx msgid "GLV is the liquidity provider token for GMX V2 vaults. Consist of several GM tokens and accrues fees generated by them." -msgstr "" +msgstr "GLV 是 GMX V2 金库的流动性提供者代币。由多个 GM 代币组成,并累积它们产生的费用。" + +#: src/components/NetworkDropdown/NetworkDropdown.tsx +msgid "Network" +msgstr "网络" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {hours} hours{0}" -msgstr "" +msgstr "<0>每</0> {hours} 小时{0}" #: src/components/Referrals/TradersStats.tsx msgid "For trades on V1, this discount will be airdropped to your account every Wednesday. On V2, discounts are applied automatically and will reduce your fees when you make a trade." -msgstr "" +msgstr "对于 V1 上的交易,此折扣将于每周三空投到您的账户。V2 上,折扣自动应用,并在您交易时减少费用。" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Fail External Swaps" -msgstr "" +msgstr "外部交换失败" #: src/domain/synthetics/orders/utils.tsx msgid "Swap {fromTokenText} for {toTokenText}" -msgstr "" +msgstr "将 {fromTokenText} 交换为 {toTokenText}" #: src/components/Exchange/SwapBox.jsx #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap submitted." -msgstr "交易送出" +msgstr "交换已提交。" #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Exchange/PositionSeller.jsx @@ -3582,7 +3632,7 @@ msgstr "PnL" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Express Trading is not available using network's native token {0}. Consider using {1} instead." -msgstr "" +msgstr "使用网络的本机代币 {0} 无法进行快速交易。请考虑使用 {1}。" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx @@ -3591,11 +3641,11 @@ msgstr "市场增加" #: src/components/Synthetics/Claims/ClaimsHistory.tsx msgid "No claims yet" -msgstr "" +msgstr "暂无领取" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Cancel Order" -msgstr "" +msgstr "取消订单" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -3607,19 +3657,19 @@ msgstr "" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Withdraw" -msgstr "提领" +msgstr "提取" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Market" -msgstr "" +msgstr "更新止损市价" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Vested Claimable GMX" -msgstr "" +msgstr "可领取授权 GMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy {nativeTokenSymbol}" -msgstr "" +msgstr "购买 {nativeTokenSymbol}" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "View in Explorer" @@ -3627,45 +3677,45 @@ msgstr "在浏览器中查看" #: src/components/AprInfo/AprInfo.tsx msgid "Bonus APR" -msgstr "" +msgstr "奖金年化收益率" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shift request sent" -msgstr "" +msgstr "转移请求已发送" #: src/pages/Jobs/Jobs.jsx msgid "GMX is not actively looking for new hires at the moment. However, if you think you can contribute to the project, please email <0>jobs@gmx.io</0>." -msgstr "GMX目前没有积极寻找新员工。但是,如果你认为你能为项目做出贡献,请发电子邮件到<0>jobs@gmx.io</0>" +msgstr "GMX 目前没有积极招聘新员工。但是,如果您认为可以为项目做出贡献,请发送电子邮件至 <0>jobs@gmx.io</0>。" #: src/components/Exchange/ConfirmationBox.jsx msgid "You have multiple existing Increase {longOrShortText} {0} limit orders" -msgstr "你现有多个增加 {longOrShortText} {0} 限价订单" +msgstr "您有多个现有的增加 {longOrShortText} {0} 限价订单" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "After you scan, a connection prompt will appear for you to connect your wallet." -msgstr "扫描后,将出现连接提示,您可以连接您的钱包" +msgstr "扫描后,将出现连接提示,您可以连接您的钱包。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can transfer AVAX from other networks to Avalanche using any of the below options:" -msgstr "" +msgstr "您可以使用以下任何选项将 AVAX 从其他网络转移到 Avalanche:" #: src/pages/Stake/Vesting.tsx msgid "Unsupported network" -msgstr "" +msgstr "不支持的网络" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Opening..." -msgstr "开仓中" +msgstr "开仓中..." #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche" -msgstr "" +msgstr "在 Avalanche 上推荐的交易者" #: src/components/Exchange/PositionSeller.jsx msgid "Trigger order disabled, pending {0} upgrade" -msgstr "" +msgstr "触发订单禁用,待 {0} 升级" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Funding Fees" @@ -3673,82 +3723,81 @@ msgstr "资金费用" #: src/domain/tokens/approveTokens.tsx msgid "Approval failed" -msgstr "核准失败" +msgstr "批准失败" -#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx #: src/pages/Home/Home.tsx msgid "Open Interest" -msgstr "开启利息" +msgstr "开仓利息" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Updating settings..." -msgstr "" +msgstr "更新设置中..." #: src/components/Exchange/SwapBox.jsx msgid "The position will be opened at {0} USD with a max slippage of {1}%.<0/><1/>The slippage amount can be configured under Settings, found by clicking on your address at the top right of the page after connecting your wallet.<2/><3/><4>Read more</4>." -msgstr "该仓位将在 {0} USD 开仓,最大滑点为{1}%.<0/><1/>滑点金额可在设置下配置, 在连接你的钱包后,点击页面右上方的地址即可找到<2/><3/><4>阅读更多</4>" +msgstr "该仓位将在 {0} USD 开仓,最大滑点为 {1}%。<0/><1/>滑点金额可在设置下配置,在连接钱包后点击页面右上方的地址即可找到。<2/><3/><4>阅读更多</4>。" #: src/components/Referrals/TradersStats.tsx msgid "Active Referral Code" -msgstr "有效推荐代码" +msgstr "活跃推荐代码" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "Save One-Click Trading settings" -msgstr "" +msgstr "保存一键交易设置" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Please switch your network to Arbitrum." -msgstr "请将您的网络切换到Arbitrum" +msgstr "请将您的网络切换到 Arbitrum。" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "The position would be immediately liquidated upon order execution. Try reducing the size." -msgstr "" +msgstr "订单执行后仓位将立即清算。请尝试减少规模。" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUYABLE" -msgstr "" +msgstr "可购买" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create TWAP" -msgstr "" +msgstr "创建 TWAP" #: src/components/Exchange/PositionEditor.jsx msgid "Enabling Leverage" -msgstr "" +msgstr "启用杠杆" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid Receiver Address" -msgstr "无效的接收地址" +msgstr "无效的接收者地址" #: src/components/Exchange/PositionSeller.jsx msgid "Collateral is not enough to cover pending Fees. Please uncheck \"Keep Leverage\" to pay the Fees with the realized PnL." -msgstr "" +msgstr "抵押品不足以覆盖待处理费用。请取消选中“保持杠杆”以使用实现 PnL 支付费用。" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have yet to reach the minimum \"Capital Used\" of {0} to qualify for the rankings." -msgstr "" +msgstr "您尚未达到排名所需的最低“资本使用” {0}。" #: src/components/InterviewToast/InterviewToast.tsx msgid "We value your experience as GMX Liquidity Provider and invite you to participate in an anonymous one-on-one chat." -msgstr "" +msgstr "我们重视您作为 GMX 流动性提供者的经验,并邀请您参与匿名一对一聊天。" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "TVL (SUPPLY)" -msgstr "" +msgstr "TVL (供应)" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Decrease the leverage to match the max. allowed leverage." -msgstr "" +msgstr "减少杠杆以匹配最大允许杠杆。" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Shorts" -msgstr "" +msgstr "做空" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Prev" @@ -3756,53 +3805,49 @@ msgstr "上一页" #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 180d" -msgstr "" +msgstr "过去 180 天" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown buy GM order" -msgstr "" +msgstr "未知购买 GM 订单" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "You can edit the default Allowed Slippage in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than -{0}, may result in failed orders if prices are volatile." -msgstr "" - -#: src/components/Synthetics/TradeHistory/TradeHistory.tsx -msgid "RPnL ($)" -msgstr "" +msgstr "您可以在页面右上方的设置菜单中编辑默认允许滑点。<0/><1/>请注意,低允许滑点(如小于 -{0})可能导致订单失败,如果价格波动。" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "There is no price impact. There is a single<0/>execution price for increasing longs or<1/>decreasing shorts for this size." -msgstr "" +msgstr "没有价格影响。对于此规模增加做多或<1/>减少做空有一个单一<0/>执行价格。" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 days." -msgstr "申领后,esGMX代币将在7天内空投到您所选网络的账户中" +msgstr "领取后,esGMX 代币将在 7 天内空投到您所选网络的账户。" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Buy GLV" -msgstr "" +msgstr "购买 GLV" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Part" -msgstr "" +msgstr "TWAP 部分失败" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Impact+Fees" -msgstr "" +msgstr "影响+费用" #: src/components/TVChartContainer/constants.ts msgid "TP - Short Dec." -msgstr "" +msgstr "TP - 做空减少" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs GM Token Dashboard" -msgstr "" +msgstr "Compass Labs GM 代币仪表板" #: src/components/Exchange/TradeHistory.jsx msgid "Request increase {0} {longOrShortText}, +{1} USD, Acceptable Price: {2} {3} USD" -msgstr "要求增加 {0} {longOrShortText}, +{1} USD, 可接受的价格: {2} {3} USD" +msgstr "请求增加 {0} {longOrShortText}, +{1} USD,可接受价格:{2} {3} USD" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -3815,11 +3860,11 @@ msgstr "抵押品进入" #: src/pages/Dashboard/GmCard.tsx msgid "GM Markets" -msgstr "" +msgstr "GM 市场" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Your opinions and experiences matter to us. Your feedback helps us understand what we are doing well and where we can make enhancements." -msgstr "" +msgstr "您的意见和经验对我们很重要。您的反馈帮助我们了解我们做得好以及哪里可以改进。" #: src/components/Exchange/UsefulLinks.tsx msgid "Trading guide" @@ -3827,19 +3872,19 @@ msgstr "交易指南" #: src/context/SyntheticsStateContext/selectors/chartSelectors/selectChartLines.tsx msgid "Open {longOrShortText} - {marketIndexName}" -msgstr "" +msgstr "开 {longOrShortText} - {marketIndexName}" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "TRADING Airdrop" -msgstr "" +msgstr "交易空投" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. This can be useful for delta-neutral strategies to earn funding fees." -msgstr "" +msgstr "您将从您的做空仓位做空 {indexSymbol},同时从您的 {collateralSymbol} 抵押品做多 {collateralSymbol}。这对于赚取资金费用的 delta 中性策略很有用。" #: src/components/Referrals/TradersStats.tsx msgid "Rebates earned by this account as a trader." -msgstr "该账户作为交易商所赚取的回扣" +msgstr "该账户作为交易者赚取的回扣。" #: src/components/Exchange/SwapBox.jsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -3858,11 +3903,11 @@ msgstr "该账户作为交易商所赚取的回扣" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/WeightText.tsx msgid "Read more" -msgstr "了解更多" +msgstr "阅读更多" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "This Year" -msgstr "" +msgstr "今年" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -3870,62 +3915,65 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"{actionDisplay} {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} 价格:{3} USD" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Vesting Status" -msgstr "" +msgstr "授权状态" #: src/components/Exchange/ConfirmationBox.jsx msgid "You have an active Limit Order to Increase {longOrShortText} {sizeInToken} {0} (${1}) at price ${2}" -msgstr "您有一个有效的限价订单,{longOrShortText} {sizeInToken} {0} (${1}) 以{2}美元的价格增加" +msgstr "您有一个活跃的限价订单,以 ${2} 的价格增加 {longOrShortText} {sizeInToken} {0} (${1})" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Claiming Price Impact Rebate..." -msgstr "" +msgstr "领取价格影响回扣中..." #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Negative funding fees are automatically settled against the collateral and impact the liquidation price. Positive funding fees can be claimed under the claims tab." -msgstr "" +msgstr "负资金费用自动针对抵押品结算,并影响清算价格。正资金费用可在领取标签下领取。" #: src/pages/Stake/Stake.tsx msgid "Unstake esGMX" -msgstr "" +msgstr "解除质押 esGMX" #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "The actual trigger price at which order gets filled will depend on fees and price impact at the time of execution to guarantee that you receive the minimum receive amount." -msgstr "" +msgstr "订单填充的实际触发价格将取决于执行时的费用和价格影响,以保证您收到最低收到金额。" #: src/components/Exchange/PositionDropdown.tsx msgid "Set TP/SL" -msgstr "" +msgstr "设置 TP/SL" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition. The Order will get filled when the condition is met." -msgstr "执行价格未满足可接受价格条件。当条件满足时,订单将被填充" +msgstr "执行价格未满足可接受价格条件。当条件满足时,订单将被填充。" #: src/components/Synthetics/PositionEditor/PositionEditorAdvancedRows.tsx #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx msgid "Initial Collateral (Collateral excluding Borrow and Funding Fee)." -msgstr "" +msgstr "初始抵押品(排除借贷和资金费用的抵押品)。" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "Net Rate / 1h" -msgstr "净率 / 1小时" +msgstr "净率 / 1 小时" #: src/pages/Stake/ClaimModal.tsx msgid "Claim esGMX Rewards" -msgstr "" +msgstr "领取 esGMX 奖励" #: src/pages/Stake/Stake.tsx msgid "Trading incentives program is live on {avalancheLink}." -msgstr "" +msgstr "交易激励计划在 {avalancheLink} 上线。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending sell request" -msgstr "" +msgstr "发送卖出请求" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx @@ -3935,11 +3983,11 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "NA" -msgstr "" +msgstr "不适用" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This action will not apply for that position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "您有一个现有仓位,抵押品为 {0}。此操作不适用于该仓位。<0>切换到 {1} 抵押品</0>。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -3947,7 +3995,7 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Trigger price for the order." -msgstr "订单的触发价格" +msgstr "订单的触发价格。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4004,29 +4052,29 @@ msgstr "做空" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "PnL ($)" -msgstr "" +msgstr "PnL ($)" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "GMX Market Tokens" -msgstr "" +msgstr "GMX 市场代币" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is above mark price" -msgstr "" +msgstr "止损市价高于标记价格" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Txn failed. <0>View</0>." -msgstr "" +msgstr "交易失败。<0>查看</0>。" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Affiliate Vault" -msgstr "" +msgstr "联盟金库" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a price" -msgstr "輸入價錢" +msgstr "输入价格" #: src/components/Referrals/JoinReferralCode.tsx msgid "Updating..." @@ -4038,8 +4086,8 @@ msgstr "市场增加失败" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "EIP-4844 Competition" -msgstr "" +#~ msgid "EIP-4844 Competition" +#~ msgstr "EIP-4844 竞赛" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/OrderEditor.jsx @@ -4053,33 +4101,33 @@ msgstr "" #: src/components/Synthetics/PositionList/PositionList.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Liq. Price" -msgstr "流动资金价格" +msgstr "清算价格" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trading Pair Price Alerts" -msgstr "" +msgstr "交易对价格警报" #: src/components/Exchange/OrdersList.jsx msgid "You will receive at least {0} {1} if this order is executed. The exact execution price may vary depending on fees at the time the order is executed." -msgstr "如果该订单被执行,您将至少收到{0} {1} 确切的执行价格可能会根据订单执行时的费用而变化" +msgstr "如果该订单执行,您将至少收到 {0} {1}。确切执行价格可能因订单执行时的费用而异。" #: src/components/Common/SEO.tsx msgid "GMX | Decentralized Perpetual Exchange" -msgstr "" +msgstr "GMX | 去中心化永续交易所" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "<0>Botanix</0> currently only supports" -msgstr "" +msgstr "<0>Botanix</0> 当前仅支持" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "No position" -msgstr "没有头寸" +msgstr "无仓位" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Buy GLP" -msgstr "购买GLP" +msgstr "购买 GLP" #: src/components/Exchange/ConfirmationBox.jsx msgid "Cancel failed" @@ -4088,35 +4136,35 @@ msgstr "取消失败" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "{daysConsidered}d Earned Fees" -msgstr "" +msgstr "{daysConsidered} 天赚取费用" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Fulfilling order request" -msgstr "" +msgstr "履行订单请求" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance to pay for gas" -msgstr "" +msgstr "{0} 余额不足以支付 gas" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You can currently vest a maximum of {0} esGMX tokens at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "目前,您最多可以授权{0}个esGMX代币,比例为{1}个esGMX。 {stakingToken}对1esGMX" +msgstr "您目前最多可以授权 {0} esGMX 代币,比例为 {1} {stakingToken} 到 1 esGMX。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy AVAX directly to Avalanche or transfer it there." -msgstr "" +msgstr "直接购买 AVAX 到 Avalanche 或转移到那里。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Open Ocean" -msgstr "" +msgstr "Open Ocean" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBox.tsx msgid "Single" -msgstr "" +msgstr "单一" #: src/domain/synthetics/orders/prepareOrderTxn.ts msgid "Error preparing transaction. Provider is not defined" -msgstr "" +msgstr "准备交易错误。提供者未定义" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx msgid "Funding fees" @@ -4124,33 +4172,33 @@ msgstr "资金费用" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity in GM Pool" -msgstr "" +msgstr "GM 池流动性不足" #: src/components/Exchange/ExchangeBanner.jsx msgid "Trade on GMX and win <0>$250.000</0> in prizes! Live until November 30th, <1>click here</1> to learn more." -msgstr "在GMX上进行交易,赢取<0>$250.000</0> 美元的奖金! 活动至11月30h, <1>点击这里</1> 了解更多" +msgstr "在 GMX 上交易,赢取 <0>250,000</0> 美元奖品!活动至 11 月 30 日,<1>点击这里</1> 了解更多。" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "tBTC LP incentives" -msgstr "" +msgstr "tBTC LP 激励" #: src/components/ModalViews/RedirectModal.tsx msgid "You are leaving GMX.io and will be redirected to a third party, independent website." -msgstr "您正要离开GMX.io,并且将被重新导向到第三方独立网站" +msgstr "您正在离开 GMX.io,并将被重定向到第三方独立网站。" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Accrued Borrow Fee" -msgstr "" +msgstr "累积借贷费用" #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "Read more." -msgstr "" +msgstr "阅读更多。" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "PnL Analysis" -msgstr "" +msgstr "PnL 分析" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "View Details" @@ -4158,58 +4206,58 @@ msgstr "" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available. <0>Swap {0} to {swapToTokenSymbol}</0>, then to {1}." -msgstr "" +msgstr "无可用交换路径。<0>将 {0} 交换到 {swapToTokenSymbol}</0>,然后到 {1}。" #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx #: src/components/Synthetics/TableMarketFilter/MarketFilterLongShort.tsx msgid "Longs" -msgstr "" +msgstr "做多" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit submitted." -msgstr "" +msgstr "存入已提交。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown sell GM order" -msgstr "" +msgstr "未知出售 GM 订单" #: src/components/NotifyModal/NotifyModal.tsx msgid "<0>Notifications are provided by Notifi and not affiliated with GMX. By subscribing, you agree that info you provide to Notifi will be governed by its </0><1>Privacy Policy</1><2> and </2><3>Terms of Use</3>." -msgstr "" +msgstr "<0>通知由 Notifi 提供,与 GMX 无关。通过订阅,您同意您提供给 Notifi 的信息受其 </0><1>隐私政策</1><2> 和 </2><3>使用条款</3> 约束。" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} and {avalancheLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} 和 {avalancheLink} GLV 池 <0>有激励{sparkle}。</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Limit: {0} a long position when the price is below the trigger price." -msgstr "" +msgstr "{typeString} 做多限价:当价格低于触发价格时 {0} 一个做多仓位。" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "{0} is required for collateral.<0/><1/>There is no swap path found for {1} to {2} within GMX.<2/><3/><4>You can buy {3} on 1inch.</4>" -msgstr "" +msgstr "{0} 需要作为抵押品。<0/><1/>在 GMX 内未找到 {1} 到 {2} 的交换路径。<2/><3/><4>您可以在 1inch 上购买 {3}。</4>" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing position in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "您在 {0} 市场池中有现有仓位。<0><1>切换到 {1} 市场池</1>。</0>" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Capital Used" -msgstr "" +msgstr "资本使用" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 10 symbols in name" -msgstr "" +msgstr "名称最多 10 个符号" #: src/pages/Dashboard/StatsCard.tsx msgid "Users" -msgstr "" +msgstr "用户" #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx #: src/components/GasPaymentTokenSelector/GasPaymentTokenSelector.tsx msgid "Gas Payment Token" -msgstr "" +msgstr "Gas 支付代币" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx @@ -4228,49 +4276,49 @@ msgstr "价格影响" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a token" -msgstr "" +msgstr "选择代币" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Exposure to Market Traders’ PnL" -msgstr "" +msgstr "对市场交易者 PnL 的敞口" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Optimal" -msgstr "" +msgstr "最佳" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "UI Fee" -msgstr "" +msgstr "UI 费用" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Execute order simulation failed." -msgstr "" +msgstr "执行订单模拟失败。" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Invalid Transfer Addresses: Please check the url." -msgstr "" +msgstr "无效转移地址:请检查 URL。" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "GLP Index Composition" -msgstr "GLP指数构成" +msgstr "GLP 指数组成" #: src/domain/synthetics/positions/utils.ts msgid "TP" -msgstr "" +msgstr "TP" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "<0>Claimable Funding Fee.</0>" -msgstr "" +msgstr "<0>可领取资金费用。</0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Log in to your Binance app and tap [Wallets]. Go to [Web3]." -msgstr "登录到您的币安应用程序并点击[钱包]。转到[Web3]。" +msgstr "登录您的 Binance 应用程序并点击 [Wallets]。转到 [Web3]。" #: src/components/Synthetics/Claims/ClaimableCard.tsx #: src/pages/Stake/Vesting.tsx @@ -4281,52 +4329,49 @@ msgstr "可领取" #: src/components/Exchange/OrdersToa.jsx msgid "Additionally, trigger orders are market orders and are not guaranteed to settle at the trigger price." -msgstr "此外,触发订单為市场订单,不保证以触发价格结算" +msgstr "此外,触发订单为市价订单,不保证以触发价格结算。" #: src/components/Header/AppHeaderLinks.tsx #: src/components/Header/HomeHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Docs" -msgstr "" +msgstr "文档" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Stats" -msgstr "" +msgstr "GMX 交易统计" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Creating Order..." -msgstr "创建指令中..." +msgstr "创建订单中..." #: src/components/Exchange/PositionEditor.jsx msgid "Deposit disabled, pending {0} upgrade" -msgstr "" +msgstr "存入禁用,待 {0} 升级" #: src/pages/Jobs/Jobs.jsx msgid "Jobs" -msgstr "工作" +msgstr "职位" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Options Strategies" -msgstr "去中心化选策略" +msgstr "去中心化期权策略" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Technical Announcements" -msgstr "" +msgstr "GMX 技术公告" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Market" -msgstr "" +msgstr "止损市价失败" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Address copied to your clipboard" -msgstr "" - -#: src/components/NetworkDropdown/NetworkDropdown.tsx -msgid "Version and Network" -msgstr "" +msgstr "地址已复制到剪贴板" #: src/components/Header/AppHeaderLinks.tsx #: src/components/NetworkDropdown/NetworkDropdown.tsx @@ -4337,56 +4382,56 @@ msgstr "设置" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Compass Labs Trading Simulations" -msgstr "" +msgstr "Compass Labs 交易模拟" #: src/components/Referrals/AffiliatesStats.tsx msgid "Amount of traders you referred." -msgstr "你所介绍的交易者数量" +msgstr "您推荐的交易者数量。" #: src/components/Exchange/PositionSeller.jsx msgid "GMX V1 only supports closing positions using market orders. For advanced trading features, use GMX V2." -msgstr "" +msgstr "GMX V1 仅支持使用市价订单关闭仓位。对于高级交易功能,请使用 GMX V2。" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Take Profit" -msgstr "" +msgstr "止盈" #: src/components/Exchange/PositionSeller.jsx msgid "Close submitted!" -msgstr "" +msgstr "关闭已提交!" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Hour(s)" -msgstr "" +msgstr "小时" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} liquidity" -msgstr "" +msgstr "{0} 流动性不足" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx msgid "Creator" -msgstr "创造者" +msgstr "创建者" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Derivatives Portfolio Tracker" -msgstr "" +msgstr "衍生品投资组合跟踪器" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit" -msgstr "" +msgstr "创建限价" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transfer already initiated" -msgstr "已启动转移" +msgstr "转移已启动" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw submitted." -msgstr "" +msgstr "提取已提交。" #: src/components/Referrals/AddAffiliateCode.jsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -4395,11 +4440,11 @@ msgstr "输入代码" #: src/components/Synthetics/GmList/GmListItem.tsx msgid "Details" -msgstr "" +msgstr "详情" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Umami DAO" -msgstr "" +msgstr "Umami DAO" #: src/components/Exchange/OrdersList.jsx #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -4408,12 +4453,12 @@ msgstr "订单" #: src/pages/Dashboard/GmxCard.tsx msgid "Staked on Avalanche" -msgstr "" +msgstr "在 Avalanche 上质押" -#: src/components/Footer/constants.ts -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx +#: src/components/Footer/constants.tsx msgid "Media Kit" -msgstr "多媒体工具" +msgstr "媒体工具包" #: src/pages/Home/Home.tsx msgid "Reduce Liquidation Risks" @@ -4421,7 +4466,7 @@ msgstr "降低清算风险" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "UniDex Leverage" -msgstr "" +msgstr "UniDex 杠杆" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "collateral" @@ -4438,69 +4483,73 @@ msgstr "钱包" #: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/OrderList/OrderList.tsx msgid "No open orders" -msgstr "没有未完成的订单" +msgstr "无开订单" #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred on Avalanche Fuji" -msgstr "" +msgstr "在 Avalanche Fuji 上推荐的交易者" #: src/components/Referrals/AffiliatesStats.tsx msgid "Claim V2 Rebates from your referred Traders." -msgstr "" +msgstr "从您推荐的交易者领取 V2 回扣。" #: src/pages/Dashboard/OverviewCard.tsx msgid "Total value of tokens in GM Pools." -msgstr "" +msgstr "GM 池中代币的总价值。" #: src/components/Glp/GlpSwap.jsx msgid "Reserved" -msgstr "储备" +msgstr "保留" #: src/components/TokenCard/TokenCard.tsx #: src/components/TokenCard/TokenCard.tsx msgid "Botanix" -msgstr "" +msgstr "Botanix" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Price below Liq. Price" -msgstr "价格低于流动资金价格" +msgstr "价格低于清算价格" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Take Profit / Stop Loss" +msgstr "止盈 / 止损" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Save {0} in price impact and fees by <0>switching to the {1} pool</0>" msgstr "" #: src/domain/tokens/approveTokens.tsx msgid "There is not enough {0} in your account on {networkName} to send this transaction.<0/><1/><2>Buy or Transfer {1} to {networkName}</2>" -msgstr "" +msgstr "您的 {networkName} 账户中没有足够的 {0} 来发送此交易。<0/><1/><2>购买或转移 {1} 到 {networkName}</2>" #: src/components/TVChartContainer/constants.ts msgid "SL - Long Dec." -msgstr "" +msgstr "SL - 做多减少" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Airdrop" -msgstr "" +msgstr "空投" #: src/pages/Stake/UnstakeModal.tsx msgid "Unstake submitted!" -msgstr "" +msgstr "解除质押已提交!" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "This competition is held on the {0} network. <0>Change your network</0> to participate." -msgstr "" +msgstr "此竞赛在 {0} 网络上举行。<0>更改您的网络</0> 以参与。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Loss" -msgstr "" +msgstr "创建止损" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to generate session" -msgstr "" +msgstr "生成会话失败" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "This competition has ended." -msgstr "" +msgstr "此竞赛已结束。" #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx @@ -4508,54 +4557,55 @@ msgid "Shorts Net Rate / 1h" msgstr "做空净率 / 1h" #: src/components/Synthetics/GmList/GlvList.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "GLV Vaults" -msgstr "" +msgstr "GLV 金库" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX (Portuguese)" -msgstr "" +msgstr "GMX (葡萄牙语)" #: src/pages/Stake/TotalRewardsCard.tsx msgid "<0>Stake GMX</0> and earn {gmxAvgAprText} APR" -msgstr "" +msgstr "<0>质押 GMX</0> 并赚取 {gmxAvgAprText} 年化收益率" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Mozaic Finance" -msgstr "" +msgstr "Mozaic Finance" #: src/pages/Exchange/Exchange.tsx msgid "Withdrew {0} USD from {tokenSymbol} {longOrShortText}." -msgstr "从{tokenSymbol}{longOrShortText}提取了{0}美元" +msgstr "从 {tokenSymbol} {longOrShortText} 提取 {0} USD。" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Accrued Funding Fee." -msgstr "" +msgstr "累积资金费用。" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdraw failed." -msgstr "" +msgstr "提取失败。" #: src/pages/Stake/ClaimModal.tsx msgid "Pending GMX approval" -msgstr "" +msgstr "待 GMX 批准" #: src/components/Synthetics/MarketsList/MarketsList.tsx msgid "No markets found." -msgstr "" +msgstr "未找到市场。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "ODOS" -msgstr "" +msgstr "ODOS" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Substack" -msgstr "" +msgstr "GMX Substack" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Positions Bot" -msgstr "" +msgstr "GMX 仓位机器人" #: src/components/Referrals/TradersStats.tsx msgid "Edit Referral Code" @@ -4563,39 +4613,35 @@ msgstr "编辑推荐代码" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Take Profit" -msgstr "" +msgstr "执行止盈" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stryke" -msgstr "" +msgstr "Stryke" #: src/components/Errors/errorToasts.tsx msgid "External swap is temporarily disabled. Please try again." -msgstr "" +msgstr "外部交换暂时禁用。请重试。" #: src/components/Stake/GMXAprTooltip.tsx msgid "GMX APR" -msgstr "" - -#: src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx -msgid "Switch to:" -msgstr "" +msgstr "GMX 年化收益率" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" -msgstr "" +msgstr "{orderTypeText} {visualMultiplierPrefix}{0} {longShortText}: {sign}{1}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" -msgstr "" +#~ msgid "You have an existing limit order in the {0} market pool.<0><1>Switch to {1} market pool</1>.</0>" +#~ msgstr "您在 {0} 市场池中有现有限价订单。<0><1>切换到 {1} 市场池</1>。</0>" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Decreasing" -msgstr "" +msgstr "减少" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "You have set a high allowed slippage. The current swap impact including fees is {0}." -msgstr "" +msgstr "您设置了高允许滑点。当前交换影响包括费用为 {0}。" #: src/components/Referrals/AffiliatesStats.tsx msgid "Create Referral Code" @@ -4603,7 +4649,7 @@ msgstr "创建推荐代码" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Combined take profits are at maximum (100%). Decrease existing values to add more orders." -msgstr "" +msgstr "组合止盈已达到最大 (100%)。减少现有值以添加更多订单。" #: src/components/NetworkDropdown/NetworkDropdown.tsx msgid "Networks" @@ -4611,33 +4657,33 @@ msgstr "网络" #: src/components/Exchange/TradeHistory.jsx msgid "{0}: {1}, Price: {priceDisplay}" -msgstr "" +msgstr "{0}: {1}, 价格:{priceDisplay}" #: src/components/Synthetics/GmList/GmList.tsx #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "POOL" -msgstr "池子" +msgstr "池" #: src/components/Header/HomeHeaderLinks.tsx msgid "Voting" -msgstr "" +msgstr "投票" #: src/components/Exchange/TradeHistory.jsx msgid "This position was liquidated as the max leverage of 100x was exceeded." -msgstr "这个头寸因超过100倍的最大杠杆而被清算了" +msgstr "此仓位因超过 100x 最大杠杆而被清算。" #: src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx msgid "<0>Switch to:</0>" -msgstr "" +msgstr "<0>切换到:</0>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Short Limit: {0} a short position when the price is above the trigger price." -msgstr "" +msgstr "{typeString} 做空限价:当价格高于触发价格时 {0} 一个做空仓位。" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "No trades match the selected filters" -msgstr "没有符合选定筛选条件的交易" +msgstr "没有交易符合选定筛选条件" #: src/components/Exchange/TradeHistory.jsx #: src/context/SyntheticsEvents/SyntheticsEventsProvider.tsx @@ -4646,7 +4692,7 @@ msgstr "已减少" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Updating {orderText}." -msgstr "" +msgstr "正在更新 {orderText}。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -4661,144 +4707,144 @@ msgstr "减少" #: src/components/Exchange/PositionSeller.jsx msgid "Leftover collateral below 5 USD" -msgstr "" +msgstr "剩余抵押品低于 5 USD" #: src/lib/legacy.ts msgid "Order cannot be executed as it would reduce the position's leverage below 1" -msgstr "订单无法被执行,这将使头寸的杠杆率低于1" +msgstr "订单无法执行,因为这将使头寸的杠杆率低于 1" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "Existing Executable Trigger Orders" -msgstr "" +msgstr "现有的可执行触发订单" #: src/pages/Dashboard/MarketsListV1.tsx msgid "Weight" -msgstr "重量" +msgstr "权重" #: src/components/Exchange/PositionShare.tsx msgid "Link copied to clipboard." -msgstr "链接被复制到剪贴板上" +msgstr "链接已复制到剪贴板。" #: src/components/SettingsModal/SettingsModal.tsx msgid "Max slippage precision is -0.01%" -msgstr "" +msgstr "最大滑点精度为 -0.01%" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Dec." -msgstr "Dec" +msgstr "12月" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Weekly Updates" -msgstr "GMX每周更新" +msgstr "GMX 每周更新" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} only from your long position." -msgstr "" +msgstr "您将仅从您的多头头寸做多 {indexSymbol}。" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal}" -msgstr "活跃总数: {openTotal}, 已执行: {executedTotal}, 已取消: {cancelledTotal}" +msgstr "活跃总数:{openTotal},已执行:{executedTotal},已取消:{cancelledTotal}" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h Low" -msgstr "" +msgstr "24 小时最低" -#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "Chain Icon" -msgstr "" +#~ msgid "Chain Icon" +#~ msgstr "链图标" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "Settle request for {0, plural, one {# position} other {# positions}} sent" -msgstr "" +msgstr "结算 {0, plural, one {# 个头寸} other {# 个头寸}} 的请求已发送" #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Price on Arbitrum" -msgstr "Arbitrum上的价格" +msgstr "Arbitrum 上的价格" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "GM can be sold for {0} for this market up to the specified selling caps. The remaining tokens in the pool are reserved for currently open positions." -msgstr "" +msgstr "GM 可以出售为 {0},针对此市场最高可达指定的出售上限。池中剩余代币保留用于当前开放头寸。" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx msgid "REBATE" -msgstr "" +msgstr "回扣" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx msgid "There may not be sufficient liquidity to execute your order when the Min. Receive are met." -msgstr "" - -#: src/components/Synthetics/TVChart/Chart.tsx -msgid "DEPTH" -msgstr "" +msgstr "当满足最小接收量时,可能没有足够的流动性来执行您的订单。" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Total Trades" -msgstr "" +msgstr "总交易量" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Market Composition" -msgstr "" +msgstr "市场组成" #: src/components/Errors/errorToasts.tsx msgid "<0>Permit signature is invalid. Please try again.</0>" -msgstr "" +msgstr "<0>许可签名无效。请重试。</0>" #: src/components/NpsModal/NpsModal.tsx msgid "Enter your answer here" -msgstr "" +msgstr "在此输入您的答案" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Firebird Finance" -msgstr "" +msgstr "Firebird Finance" #: src/pages/Stake/Stake.tsx msgid "Stake GMX" -msgstr "" +msgstr "质押 GMX" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Shifting from <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> to <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" -msgstr "" +msgstr "从 <0><1>GM: {fromIndexName}</1><2>{fromPoolName}</2></0> 转移到 <3><4>GM: {toIndexName}</4><5>{toPoolName}</5></3>" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TWAP: {0} a long position in evenly distributed parts over a specified time." -msgstr "" +msgstr "{typeString} 多头 TWAP:{0} 在指定时间内均匀分布的部分开立多头头寸。" #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated!" -msgstr "推荐代码已更新" +msgstr "推荐代码已更新!" + +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +#: src/components/Synthetics/MarketStats/components/CompositionTable.tsx +msgid "COMPOSITION" +msgstr "组成" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Favorites" -msgstr "" +msgstr "收藏夹" #: src/components/Exchange/SwapBox.jsx msgid "Max {0} short capacity" -msgstr "最大{0}做空范围" +msgstr "最大 {0} 做空容量" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "The Execution Price didn't meet the Acceptable Price condition." -msgstr "执行价格未满足可接受价格条件" +msgstr "执行价格未满足可接受价格条件。" #: src/pages/Stake/VesterDepositModal.tsx msgid "Reserve Amount" -msgstr "" +msgstr "储备金额" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling buy request" -msgstr "" +msgstr "正在履行买入请求" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Reason: {0}" -msgstr "原因: {0}" +msgstr "原因:{0}" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "One-Click Approval nonce expired. Please sign a new approval." -msgstr "" +msgstr "一键批准 nonce 已过期。请签署新的批准。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -4809,11 +4855,11 @@ msgstr "" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "Available Liquidity" -msgstr "可用的流动资金" +msgstr "可用流动性" #: src/components/Exchange/SwapBox.jsx msgid "A snapshot of the USD value of your {0} collateral is taken when the position is opened." -msgstr "您的{0}抵押品快照在您开启头寸时已以USD价值被存取" +msgstr "在开立头寸时,将拍摄您的 {0} 抵押品 USD 价值的快照。" #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx @@ -4823,11 +4869,11 @@ msgstr "所有时间" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Select your vesting option below then click \"Claim\"." -msgstr "在下面选择你的归属选项,然后点击 \"Claim\"" +msgstr "在下面选择您的归属选项,然后点击“领取”。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The default number of parts for Time-Weighted Average Price (TWAP) orders." -msgstr "" +msgstr "时间加权平均价格 (TWAP) 订单的默认部分数量。" #: src/pages/Home/Home.tsx msgid "Save on Costs" @@ -4835,78 +4881,78 @@ msgstr "节省成本" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order cancelled" -msgstr "" +msgstr "买入订单已取消" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "{longShortText} {0} Reserve" -msgstr "" +msgstr "{longShortText} {0} 储备" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Cancel newly created orders" -msgstr "" +msgstr "取消新创建的订单" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Delegate" -msgstr "" +msgstr "委托" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Harmonix" -msgstr "" +msgstr "Harmonix" #: src/pages/NftWallet/NftWallet.jsx msgid "Invalid NFT Address" -msgstr "无效的NFT地址" +msgstr "无效的 NFT 地址" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LIQ." -msgstr "" +msgstr "清算" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP and GMX autocompounding vaults" -msgstr "" +msgstr "GLP 和 GMX 自动复合金库" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "esGMX OTC Market" -msgstr "" +msgstr "esGMX OTC 市场" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Leverage Trading Terminal" -msgstr "" +msgstr "杠杆交易终端" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing shorts and<0/>decreasing longs." -msgstr "" +msgstr "增加空头和<0/>减少多头的执行价格。" #: src/pages/Stake/Stake.tsx msgid "Deposit <0>GMX</0> and <1>esGMX</1> tokens to earn rewards." -msgstr "" +msgstr "存入 <0>GMX</0> 和 <1>esGMX</1> 代币以赚取奖励。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "The bonus rebate is an estimate and can be up to {0}% of the open fee. It will be airdropped as {incentivesTokenTitle} tokens on a pro-rata basis. <0><1>Read more</1>.</0>" -msgstr "" +msgstr "奖金回扣是一个估计值,可达开仓费用的 {0}%。它将按比例空投为 {incentivesTokenTitle} 代币。<0><1>阅读更多</1>。</0>" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>The order will be executed when the oracle price is {0} {1}.</0><1/><2>Note that there may be rare cases where the order cannot be executed, for example, if the chain is down and no oracle reports are produced or if the price impact exceeds your acceptable price.</2>" -msgstr "" +msgstr "<0>当预言机价格为 {0} {1} 时,订单将被执行。</0><1/><2>请注意,可能有极少数情况下订单无法执行,例如,如果链条宕机且没有预言机报告产生,或者如果价格影响超过您的可接受价格。</2>" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Stop Market" -msgstr "" +msgstr "创建止损市价单" #: src/components/Exchange/SwapBox.jsx msgid "Swap submitted!" -msgstr "交易送出!" +msgstr "交换已提交!" #: src/components/Exchange/SwapBox.jsx msgid "V1 trading disabled. Switch to V2" -msgstr "" +msgstr "V1 交易已禁用。切换到 V2" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche" -msgstr "" +msgstr "V1 Avalanche" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -4915,80 +4961,81 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Collateral ({0})" -msgstr "抵押品({0})" +msgstr "抵押品 ({0})" #: src/pages/Stake/StakeModal.tsx msgid "You will earn {0}% more rewards with this action." -msgstr "" +msgstr "通过此操作,您将赚取 {0}% 更多的奖励。" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Max Network Fee Buffer" -msgstr "" +msgstr "最大网络费用缓冲" #: src/components/Exchange/OrderEditor.jsx msgid "Order updated!" -msgstr "指令已更新" +msgstr "订单已更新!" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be short {indexSymbol} from your short position, while being long {collateralSymbol} from your {collateralSymbol} collateral. The liquidation price will vary based on the price of {collateralSymbol}." -msgstr "" +msgstr "您将从您的空头头寸做空 {indexSymbol},同时从您的 {collateralSymbol} 抵押品做多 {collateralSymbol}。清算价格将根据 {collateralSymbol} 的价格而变化。" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Swap Market: Swap tokens at the current market price." -msgstr "" +msgstr "交换市场:以当前市场价格交换代币。" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "TVL/CAP" -msgstr "" +msgstr "TVL/上限" #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx #: src/components/Synthetics/CollateralSelector/CollateralSelector.tsx msgid "Select a pool containing {0} to use it as collateral." -msgstr "选择一个包含{0}的池子,以将其用作抵押品" +msgstr "选择一个包含 {0} 的池子,以将其用作抵押品。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Trading Simulations on GMX using DOJO" -msgstr "" +msgstr "使用 DOJO 在 GMX 上进行交易模拟" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Farming" -msgstr "" +msgstr "收益耕作" #: src/lib/contracts/callContract.tsx msgid "Transaction completed!" -msgstr "交易完成!" +msgstr "交易完成!" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approving..." -msgstr "核准中" +msgstr "正在批准..." #: src/components/Exchange/PositionSeller.jsx msgid "Neither Collateral nor realized PnL is enough to cover pending Fees. Please close a larger position amount." -msgstr "" +msgstr "抵押品和已实现 PnL 均不足以覆盖待处理费用。请关闭更大的头寸金额。" #: src/components/Synthetics/MarketsList/MarketsList.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "UTILIZATION" -msgstr "使用方法" +msgstr "利用率" #: src/components/OneClickAdvancedSettings/OneClickAdvancedSettings.tsx msgid "One-Click Settings" -msgstr "" +msgstr "一键设置" #: src/components/NotifyModal/NotifyModal.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Announcements" -msgstr "" +msgstr "GMX 公告" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx #: src/pages/Referrals/Referrals.tsx #: src/pages/Referrals/Referrals.tsx msgid "Referrals" -msgstr "推荐人" +msgstr "推荐" #: src/components/Exchange/PositionSeller.jsx msgid "Max Leverage without PnL: 100x" -msgstr "" +msgstr "无 PnL 的最大杠杆:100x" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Short" @@ -4996,43 +5043,43 @@ msgstr "确认做空" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Short Liquidity" -msgstr "" +msgstr "空头流动性" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Order Type" -msgstr "" +msgstr "订单类型" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order executed" -msgstr "" +msgstr "卖出订单已执行" #: src/domain/synthetics/orders/createStakeOrUnStakeTxn.tsx msgid "Failed to {0}" -msgstr "" +msgstr "失败 {0}" #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Affiliate Rewards Claimed" -msgstr "" +msgstr "附属奖励已领取" #: src/components/Errors/errorToasts.tsx #: src/domain/synthetics/orders/simulateExecuteTxn.tsx msgid "Order error. Prices are currently volatile for this market, try again by <0>increasing the allowed slippage</0> under the advanced display section." -msgstr "" +msgstr "订单错误。此市场价格当前波动较大,请通过 <0>增加允许滑点</0> 在高级显示部分重试。" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Swap Price Impact for External Swap Threshold" -msgstr "" +msgstr "外部交换的交换价格影响阈值" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Limit / Take Profit / Stop Loss" -msgstr "" +msgstr "限价 / 止盈 / 止损" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/TradeBox/TradeBoxRows/SwapSpreadRow.tsx msgid "Spread" -msgstr "分散" +msgstr "价差" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "This position was liquidated as the max. leverage of {formattedMaxLeverage} was exceeded when taking into account fees." @@ -5040,24 +5087,21 @@ msgstr "由于在考虑费用时超出了 {formattedMaxLeverage} 的最大杠杆 #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Swap {0}" -msgstr "" +msgstr "交换 {0}" #: src/components/Exchange/SwapBox.jsx msgid "Swap Order submitted!" -msgstr "交易订单送出" +msgstr "交换订单已提交!" #: src/App/MainRoutes.tsx +#: src/components/EmptyTableContent/EmptyTableContent.tsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/TradeHistory.jsx #: src/components/Synthetics/Claims/Claims.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/useShiftSubmitState.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx -#: src/components/Synthetics/OrderList/OrderList.tsx #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx -#: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -5066,11 +5110,11 @@ msgstr "交易订单送出" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Loading..." -msgstr "加载中..." +msgstr "正在加载..." -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Include PnL In Leverage Display" -msgstr "" +msgstr "在杠杆显示中包含 PnL" #: src/components/Exchange/PositionsList.jsx msgid "Share" @@ -5090,40 +5134,40 @@ msgstr "交易" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No swap path available." -msgstr "" +msgstr "无可用交换路径。" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Telegram Groups" -msgstr "电报群" +msgstr "Telegram 群组" #: src/components/Synthetics/Claims/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx msgid "Search Action" -msgstr "" +msgstr "搜索操作" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DisplaySettings.tsx msgid "Show Leverage Slider" -msgstr "" +msgstr "显示杠杆滑块" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Cancelling {orderText}." -msgstr "" +msgstr "正在取消 {orderText}。" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "CONCLUDED" -msgstr "" +#~ msgid "CONCLUDED" +#~ msgstr "已结束" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Collateral Delta" -msgstr "" +msgstr "抵押品差额" #: src/components/Synthetics/TradeHistory/TradeHistory.tsx msgid "Realized PnL after fees and price impact." -msgstr "" +msgstr "费用和价格影响后的已实现 PnL。" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Long Liquidity" -msgstr "" +msgstr "多头流动性" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -5131,40 +5175,40 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "Execution price for the order." -msgstr "指令的执行价格" +msgstr "订单的执行价格。" #: src/components/AprInfo/AprInfo.tsx msgid "wstETH APR" -msgstr "" +msgstr "wstETH APR" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group" -msgstr "电报群" +msgstr "Telegram 群组" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long TP/SL: {0} a long position when the trigger price is reached." -msgstr "" +msgstr "{typeString} 多头 TP/SL:{0} 当达到触发价格时开立多头头寸。" #: src/components/Synthetics/OrderItem/TwapOrdersList/TwapOrdersList.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{toTokenIcon}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> 到 </1>{toTokenIcon}" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "Insufficient liquidity in any {0}/USD market pools for your order." -msgstr "你的订单中任何{0}/USD市场池的流动性不足" +msgstr "您的订单在任何 {0}/USD 市场池中的流动性不足。" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You have not traded during the selected period." -msgstr "" +msgstr "您在选定期间未进行交易。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "The trigger price for this order is based on the swap fees and price impact to guarantee that you will receive at least {toMinText} on order execution." -msgstr "" +msgstr "此订单的触发价格基于交换费用和价格影响,以保证您在订单执行时至少收到 {toMinText}。" #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral code updated failed." -msgstr "推荐代码更新失败" +msgstr "推荐代码更新失败。" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -5182,6 +5226,7 @@ msgstr "推荐代码更新失败" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeHistory/TradeHistory.tsx +#: src/components/Synthetics/TVChart/Chart.tsx #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmxCard.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -5190,23 +5235,23 @@ msgstr "推荐代码更新失败" #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Price" -msgstr "价钱" +msgstr "价格" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing was cancelled" -msgstr "" +msgstr "许可签名已取消" #: src/components/Exchange/PositionSeller.jsx msgid "Realized PnL insufficient for Fees" -msgstr "" +msgstr "已实现 PnL 不足以支付费用" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sending shift request" -msgstr "" +msgstr "正在发送转移请求" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Yak Optimizer" -msgstr "" +msgstr "Yield Yak 优化器" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Incorrect Account" @@ -5214,76 +5259,71 @@ msgstr "账户错误" #: src/components/Exchange/PositionEditor.jsx msgid "Min residual collateral: 10 USD" -msgstr "" +msgstr "最小剩余抵押品:10 USD" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "GMX & Voting Power" -msgstr "" +msgstr "GMX 和投票权" #: src/components/TokenCard/TokenCard.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GMX is the utility and governance token. Accrues 30% and 27% of V1 and V2 markets generated fees, respectively." -msgstr "" +msgstr "GMX 是实用和治理代币。分别累积 V1 和 V2 市场生成费用的 30% 和 27%。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Transferring" -msgstr "转移中" - -#: src/pages/Stake/Vesting.tsx -#: src/pages/Stake/Vesting.tsx -msgid "{0} GMX tokens can be claimed, use the options under the Total Rewards section to claim them." -msgstr "" +msgstr "正在转移" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GLP autocompounding vaults" -msgstr "" +msgstr "GLP 自动复合金库" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "TP/SL orders exceed the position" -msgstr "" +msgstr "TP/SL 订单超过头寸" #: src/components/Glp/GlpSwap.jsx msgid "Buy failed." -msgstr "买入失败" +msgstr "买入失败。" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "pay" -msgstr "" +msgstr "支付" #: src/pages/Dashboard/GmxCard.tsx msgid "Total circulating supply of GMX tokens." -msgstr "" +msgstr "GMX 代币的总流通供应量。" #: src/pages/Dashboard/WeightText.tsx msgid "Target Weight" -msgstr "目标重量" +msgstr "目标权重" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx -msgid "Winners:" -msgstr "" +#~ msgid "Winners:" +#~ msgstr "获胜者:" #: src/components/Exchange/SwapBox.jsx msgid "When closing the position, you can select which token you would like to receive the profits in." -msgstr "在平仓时,你可以选择你想用哪种代币来接收利润" +msgstr "在平仓时,您可以选择您想用哪种代币来接收利润。" #: src/domain/synthetics/trade/useMaxAutoCancelOrdersState.tsx msgid "You can have up to {allowedAutoCancelOrdersNumber} active auto-cancelable TP/SL orders. Additional orders must be canceled manually, while existing ones will still close automatically with their related position." -msgstr "" +msgstr "您最多可以有 {allowedAutoCancelOrdersNumber} 个活跃的可自动取消 TP/SL 订单。额外订单必须手动取消,而现有订单仍将与其相关头寸自动关闭。" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL (%)" -msgstr "" +msgstr "最高 PnL (%)" #: src/components/Synthetics/TradeBox/TradeBoxRows/AvailableLiquidityRow.tsx #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute your order when the price conditions are met." -msgstr "" +msgstr "当满足价格条件时,可能没有足够的流动性来执行您的订单。" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Error submitting coins" -msgstr "" +msgstr "提交代币错误" #: src/components/Glp/GlpSwap.jsx msgid "WARNING: High Fees" @@ -5291,11 +5331,11 @@ msgstr "警告:高额费用" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Swap Liquidity to fill the Order. The Order will get filled when the condition is met and there is enough Available Swap Liquidity." -msgstr "没有足够的可用交换流动性来填补订单。当条件满足并且有足够的可用交换流动性时,订单将被填充。" +msgstr "没有足够的可用交换流动性来填充订单。当条件满足并且有足够的可用交换流动性时,订单将被填充。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel TWAP Swap" -msgstr "" +msgstr "取消 TWAP 交换" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -5303,6 +5343,10 @@ msgstr "" msgid "Transaction" msgstr "交易" +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "Last year" +msgstr "去年" + #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionEditor.jsx @@ -5311,65 +5355,73 @@ msgstr "交易" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Invalid liq. price" -msgstr "无效的流动资金价格" +msgstr "无效的清算价格" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized Buy Pressure (BB&D):" -msgstr "" +msgstr "年化买入压力 (BB&D):" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "buy" -msgstr "" +msgstr "买入" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "AVAILABLE LIQ." -msgstr "" +msgstr "可用流动性" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized pnl" -msgstr "" +msgstr "起始未实现 PnL" #: src/config/events.tsx msgid "Increasing positions (market or limit), adding collateral, and swapping on GMX V1 are now disabled. You can still close existing positions." -msgstr "" +msgstr "在 GMX V1 上增加头寸(市价或限价)、添加抵押品和交换现已禁用。您仍然可以关闭现有头寸。" #: src/domain/tokens/approveTokens.tsx msgid "Approval submitted! <0>View status.</0>" -msgstr "核准已提交!<0>查看交易状态</0>" +msgstr "批准已提交!<0>查看状态。</0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size is 0" -msgstr "订单大小为0" +msgstr "订单大小为 0" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} in {1} [{2}] has been reached. Please reduce the buy size, pick a different GM token, or shift the GM tokens to a different pool and try again." -msgstr "" +msgstr "池 GM: {0} 在 {1} [{2}] 的可买入上限已达到。请减少买入大小、选择不同的 GM 代币,或将 GM 代币转移到不同的池并重试。" #: src/components/Exchange/PositionSeller.jsx msgid "Close {longOrShortText} {0}" -msgstr "" +msgstr "关闭 {longOrShortText} {0}" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/DebugSettings.tsx msgid "Disable validation for testing" -msgstr "" +msgstr "禁用验证以进行测试" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposited!" -msgstr "" +msgstr "已存入!" #: src/components/Synthetics/PositionItem/PositionItem.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx msgid "TP/SL" -msgstr "" +msgstr "TP/SL" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/SwapBox.jsx msgid "Max {0} in" -msgstr "最高{0}以内" +msgstr "最大 {0} 输入" + +#: src/components/EmptyTableContent/EmptyTableContent.tsx +msgid "No items yet" +msgstr "暂无项目" #: src/domain/synthetics/orders/utils.tsx msgid "Stop Loss Decrease" +msgstr "止损减少" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX information for account" msgstr "" #: src/pages/OrdersOverview/OrdersOverview.jsx @@ -5378,14 +5430,14 @@ msgstr "差异" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dashboard for GMX referral stats" -msgstr "GMX推荐统计数据仪表板" +msgstr "GMX 推荐统计仪表板" #: src/components/Synthetics/Claims/ClaimsHistory.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Action" -msgstr "行动" +msgstr "操作" #: src/pages/Dashboard/GlpCard.tsx #: src/pages/Dashboard/GmCard.tsx @@ -5397,112 +5449,120 @@ msgstr "供应" #: src/components/Synthetics/PositionList/PositionList.tsx #: src/components/Synthetics/PositionList/PositionList.tsx msgid "No open positions" -msgstr "没有未结头寸" +msgstr "无开放头寸" #: src/components/DepthChart/DepthChart.tsx msgid "Size, $" -msgstr "" +msgstr "大小,$" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Close {0} {1}{2}" -msgstr "" +msgstr "关闭 {0} {1}{2}" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GLV" -msgstr "" +msgstr "出售 GLV" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b Retroactive Bonus" -msgstr "" +msgstr "STIP.b 追溯奖金" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right." -msgstr "尝试增加 \"Allowed Slippage\", 在右上角设置下方" +msgstr "尝试增加“允许滑点”,在右上角的设置菜单下。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "You can buy AVAX directly on <0>Avalanche</0> using these options:" -msgstr "" +msgstr "您可以使用这些选项直接在 <0>Avalanche</0> 上购买 AVAX:" #: src/components/Exchange/NetValueTooltip.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Close Fee" +msgstr "净值:初始抵押品 + PnL - 借贷费 - 平仓费" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "30d" +msgstr "30 天" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>You sign each transaction on-chain using your own RPC, typically provided by your wallet. Gas payments in ETH." msgstr "" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim Affiliate Vault Rewards" -msgstr "" +msgstr "领取附属金库奖励" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select different tokens" -msgstr "选择不同的币种" +msgstr "选择不同的代币" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Network Fees" -msgstr "" +msgstr "高网络费用" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are very high currently, which may be due to a temporary increase in transactions on the {chainName} network." -msgstr "当前网络费用非常高,这可能是由于{chainName}网络上的交易暂时增加" +msgstr "当前网络费用非常高,这可能是由于 {chainName} 网络上的交易暂时增加。" #: src/components/Exchange/SwapBox.jsx msgid "There are more shorts than longs, borrow fees for longing is currently zero" msgstr "空头多于多头,做多的借贷费用目前为零" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 90d" -msgstr "" +msgstr "过去 90 天" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "There is no liquidation price, as the position's collateral value will increase to cover any negative PnL." -msgstr "" +msgstr "没有清算价格,因为头寸的抵押品价值将增加以覆盖任何负 PnL。" #: src/components/TVChartContainer/DynamicLine.tsx msgid "Edit Order" -msgstr "" +msgstr "编辑订单" #: src/components/MarketSelector/GmPoolsSelectorForGlvMarket.tsx #: src/components/MarketSelector/PoolSelector.tsx msgid "Search Pool" -msgstr "" +msgstr "搜索池" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Trading Chat" -msgstr "" +msgstr "GMX 交易聊天" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H%" -msgstr "" +msgstr "24 小时 %" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpie" -msgstr "" +msgstr "Perpie" #: src/components/Exchange/UsefulLinks.tsx msgid "Useful Links" msgstr "实用链接" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Enable external swaps" -msgstr "" +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Enable external swaps" +#~ msgstr "启用外部交换" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Confirmations" -msgstr "" +msgstr "交易确认" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available" -msgstr "可用的" +msgstr "可用" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 7 days" -msgstr "" +#~ msgid "Last 7 days" +#~ msgstr "过去 7 天" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Solv Finance" -msgstr "" +msgstr "Solv Finance" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Begin Transfer" @@ -5510,11 +5570,15 @@ msgstr "开始转移" #: src/components/RatingToast/RatingToast.tsx msgid "How likely are you to recommend our service to a friend or colleague?" +msgstr "您有多大可能向朋友或同事推荐我们的服务?" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Enable External Swaps" msgstr "" #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity to swap collateral" -msgstr "" +msgstr "流动性不足以交换抵押品" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/orders/utils.tsx @@ -5523,15 +5587,15 @@ msgstr "市场减少" #: src/components/NotifyModal/NotifyModal.tsx msgid "Governance Alerts" -msgstr "" +msgstr "治理警报" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for{2} USDG" -msgstr "" +msgstr "将 {0} {1} 交换为{2} USDG" #: src/components/Header/HomeHeaderLinks.tsx msgid "Governance" -msgstr "" +msgstr "治理" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -5547,11 +5611,11 @@ msgstr "取消" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} updated." -msgstr "" +msgstr "{orderText} 已更新。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Tradao" -msgstr "" +msgstr "Tradao" #: src/components/Glp/GlpSwap.jsx msgid "Redemption time not yet reached" @@ -5560,175 +5624,179 @@ msgstr "赎回时间尚未到达" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient liquidity" -msgstr "流动资金不足" +msgstr "流动性不足" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Bot" -msgstr "" +msgstr "Telegram 机器人" #: src/domain/legacy.ts msgid "Order cancelled." -msgstr "订单已取消" +msgstr "订单已取消。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute TWAP Swap Part" -msgstr "" +msgstr "执行 TWAP 交换部分" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {seconds} seconds" -msgstr "" +msgstr "<0>每</0> {seconds} 秒" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer AVAX to Avalanche" -msgstr "" +msgstr "购买或转移 AVAX 到 Avalanche" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "TokenTerminal" +msgstr "TokenTerminal" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "Insufficient liquidity in the {0} market pool. Select a different pool for this market. Choosing a different pool would open a new position different from the existing one.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram bot for Open Interest on GMX" -msgstr "GMX上未平仓合约的电报机器人" +msgstr "GMX 上未平仓合约的 Telegram 机器人" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Check the \"Save on Fees\" section below to get the lowest fee percentages." -msgstr "检查下方的 \"节省费用 \",以获得最低的费用百分比" +msgstr "检查下方的“节省费用”部分,以获得最低的费用百分比。" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The total realized and unrealized profit and loss for the period, including fees and price impact." -msgstr "" +msgstr "期间的总已实现和未实现损益,包括费用和价格影响。" #: src/components/Synthetics/GmList/PerformanceLabel.tsx msgid "Ann. Performance" -msgstr "" +msgstr "年化表现" #: src/domain/legacy.ts msgid "The network Fees are very high currently, which may be due to a temporary increase in transactions on the {0} network." -msgstr "当前网络费用非常高,这可能是由于{0}网络上的交易暂时增加" +msgstr "当前网络费用非常高,这可能是由于 {0} 网络上的交易暂时增加。" #: src/components/Exchange/SwapBox.jsx msgid "Current {0} long" -msgstr "目前 {0} 多" +msgstr "当前 {0} 多头" #: src/domain/synthetics/orders/setAutoCancelOrdersTxn.ts msgid "{0} orders were not updated as max order limit reached" -msgstr "" +msgstr "{0} 个订单未更新,因为达到最大订单限制" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "90d" +msgstr "90 天" #: src/components/Exchange/PositionSeller.jsx msgid "Order created!" -msgstr "" +msgstr "订单已创建!" #: src/components/Synthetics/TradeHistory/filters/ActionFilter.tsx #: src/domain/synthetics/orders/utils.tsx msgid "Liquidation" -msgstr "清偿" +msgstr "清算" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Risk Monitoring" -msgstr "" +msgstr "GMX 风险监控" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Receiver has not staked GLP tokens before" -msgstr "收款人未质押过GLP代币" +msgstr "接收方之前未质押 GLP 代币" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min collateral: {0}" -msgstr "" +msgstr "最小抵押品:{0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter new amount or price" -msgstr "" +msgstr "输入新金额或价格" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Wins and losses for fully closed positions." -msgstr "" +msgstr "完全平仓头寸的胜负。" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "<0>This will claim {formattedRewards} GMX.<1/><2/>After claiming, you can stake these GMX tokens by using the \"Stake\" button in the GMX section of this Earn page.<3/><4/></0>" -msgstr "" +msgstr "<0>这将领取 {formattedRewards} GMX。<1/><2/>领取后,您可以使用此赚取页面 GMX 部分的“质押”按钮质押这些 GMX 代币。<3/><4/></0>" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Open Binance app" -msgstr "打开币安应用" +msgstr "打开 Binance 应用" #: src/pages/Stake/StakeModal.tsx #: src/pages/Stake/UnstakeModal.tsx #: src/pages/Stake/VesterDepositModal.tsx msgid "Max amount exceeded" -msgstr "超出最高金额" +msgstr "超出最大金额" #: src/components/Exchange/SwapBox.jsx msgid "Current {0} shorts" -msgstr "目前 {0} 空" +msgstr "当前 {0} 空头" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "To complete the transfer, you must switch your connected account to {receiver}." -msgstr "为了完成转移,你必须将你的连接账户切换到{receiver}" +msgstr "要完成转移,您必须将连接的账户切换到 {receiver}。" #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx #: src/components/Synthetics/MarketsList/NetFeeTooltip.tsx msgid "Longs Net Rate / 1h" -msgstr "做多净率 / 1小时" +msgstr "多头净率 / 1 小时" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "Edit" -msgstr "編輯" +msgstr "编辑" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "No available leverage found" -msgstr "" +msgstr "未找到可用杠杆" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Only addresses with over {0} in \"Capital Used\" are ranked." -msgstr "" +msgstr "仅“资本使用”超过 {0} 的地址被排名。" #: src/components/Exchange/ConfirmationBox.jsx msgid "Shorting..." -msgstr "做空中..." +msgstr "正在做空..." #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have a <0>pending transfer</0> to {pendingReceiver}." -msgstr "你有一个<0>正在进行的转移</0>到{pendingReceiver}" +msgstr "您有一个 <0>待处理的转移</0> 到 {pendingReceiver}。" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Limit size is required" -msgstr "" +msgstr "需要限价大小" #: src/pages/Buy/Buy.tsx #: src/pages/Home/Home.tsx msgid "Protocol Tokens" -msgstr "" +msgstr "协议代币" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Collateral at Liquidation" -msgstr "" +msgstr "清算时的抵押品" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "After claiming you will be able to vest a maximum of {0} esGMX at a ratio of {1} {stakingToken} to 1 esGMX." -msgstr "申领后,您将能够以{1}{stakingToken}比1 esGMX的比例获得最多的{0}esGMX." +msgstr "领取后,您将能够以 {1} {stakingToken} 比 1 esGMX 的比例归属最多 {0} esGMX。" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Today" -msgstr "" +msgstr "今天" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx msgid "Receiver Address" -msgstr "收取地址" - -#: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} {networkName} information for account:" -msgstr "" +msgstr "接收方地址" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "From" -msgstr "" +msgstr "从" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -5742,29 +5810,29 @@ msgstr "订单触发价格" #: src/components/Glp/GlpSwap.jsx msgid "Epoch ending is not acknowledged" -msgstr "" +msgstr "时代结束未被确认" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Increase" -msgstr "" +msgstr "限价增加" #: src/components/Exchange/PositionsList.jsx #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Use the edit collateral icon to deposit or withdraw collateral." -msgstr "使用编辑抵押品图标来存入或提取抵押品" +msgstr "使用编辑抵押品图标存入或提取抵押品。" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing shorts for<4/>this size." -msgstr "" +msgstr "没有流动性可用于增加<0/>此大小的多头。最大多头大小:{0}<1/><2/>没有价格影响。对于减少<4/>此大小的空头,有单一<3/>执行价格。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using any token from any network:" -msgstr "" +msgstr "使用任何网络的任何代币购买 GMX:" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume traded by your referred traders." -msgstr "您推荐交易者的交易量" +msgstr "您推荐的交易者的交易量。" #: src/pages/Dashboard/GlpCard.tsx msgid "Stablecoin Percentage" @@ -5772,137 +5840,145 @@ msgstr "稳定币百分比" #: src/domain/synthetics/orders/utils.tsx msgid "Parts of this order will be executed once there is sufficient liquidity." -msgstr "" +msgstr "一旦有足够的流动性,此订单的部分将被执行。" #: src/components/Synthetics/TradeBox/TradeBoxRows/CollateralSelectorRow.tsx msgid "You have an existing position with {0} as collateral. This Order will not be valid for that Position. <0>Switch to {1} collateral</0>." -msgstr "" +msgstr "您有一个以 {0} 作为抵押品的现有头寸。此订单对该头寸无效。<0>切换到 {1} 抵押品</0>。" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Please only use this for full account transfers.<0/>This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account.<1/>Transfers are only supported if the receiving account has not staked GMX or GLP tokens before.<2/>Transfers are one-way, you will not be able to transfer staked tokens back to the sending account." -msgstr "" +msgstr "请仅用于完整账户转移。<0/>这将转移您所有的 GMX、esGMX、GLP、乘数积分和投票权到您的新账户。<1/>仅在接收账户之前未质押 GMX 或 GLP 代币时支持转移。<2/>转移是单向的,您将无法将质押代币转移回发送账户。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "SNTL esGMX Market" -msgstr "" +msgstr "SNTL esGMX 市场" #: src/components/Referrals/TradersStats.tsx msgid "Tier {0} ({currentTierDiscount}% discount)" -msgstr "" +msgstr "层级 {0} ({currentTierDiscount}% 折扣)" #: src/domain/synthetics/orders/utils.tsx msgid "This order using {collateralSymbol} as collateral will not be valid for the existing {longText} position using {symbol} as collateral." -msgstr "" +msgstr "使用 {collateralSymbol} 作为抵押品的此订单对使用 {symbol} 作为抵押品的现有 {longText} 头寸无效。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Generative Market eXplore - AIGMX Agent" -msgstr "" +msgstr "生成市场探索 - AIGMX 代理" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Dolomite" -msgstr "" +msgstr "Dolomite" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Order request sent" -msgstr "" +msgstr "订单请求已发送" #: src/components/ExpressTradingEnabledBanner/ExpressTradingEnabledBanner.tsx msgid "Express Trading is enabled. Enjoy smoother, more reliable trades!" -msgstr "" +msgstr "快速交易已启用。享受更顺畅、更可靠的交易!" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "Alternatively, you can select a different \"Collateral In\" token." -msgstr "或者,您可选择\"Collateral In\" 代币" +msgstr "或者,您可以选择不同的“抵押品输入”代币。" #: src/components/NotifyModal/NotifyModal.tsx msgid "Get alerts and announcements from GMX to stay on top of your trades, liquidation risk, and more." +msgstr "从 GMX 获取警报和公告,以掌握您的交易、清算风险等。" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing limit order in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/pages/PageNotFound/PageNotFound.jsx msgid "<0>Return to </0><1>Homepage</1> <2>or </2> <3>Trade</3>" -msgstr "<0>返回 </0><1>主页</1> <2>or </2> <3>交易</3>" +msgstr "<0>返回 </0><1>主页</1> <2>或 </2> <3>交易</3>" #: src/components/Synthetics/BridgingInfo/BridgingInfo.tsx msgid "Bridge {tokenSymbol} to {chainName} with" -msgstr "" +msgstr "将 {tokenSymbol} 桥接到 {chainName} 使用" #: src/domain/tokens/approveTokens.tsx msgid "Permit signing failed" -msgstr "" +msgstr "许可签名失败" #: src/domain/synthetics/trade/utils/validation.ts msgid "Stop market price below mark price" -msgstr "" +msgstr "止损市价低于标记价格" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Swapped {0} {1} for {2} {3}!" -msgstr "已将 {0} {1} 交易成 {2} {3}" +msgstr "已将 {0} {1} 交换为 {2} {3}!" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "A size percentage is required" -msgstr "" +msgstr "需要大小百分比" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "Show more" -msgstr "" +msgstr "显示更多" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Unrealized Fees" -msgstr "" +msgstr "未实现费用" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx msgid "Traders Referred" -msgstr "推荐的交易商" +msgstr "推荐的交易者" #: src/pages/Stake/StakeModal.tsx msgid "Stake submitted!" -msgstr "" +msgstr "质押已提交!" #: src/components/Exchange/PositionsList.jsx msgid "Use the \"Close\" button to reduce your Position Size, or to set Take Profit / Stop Loss Orders." -msgstr "" +msgstr "使用“关闭”按钮减少您的头寸大小,或设置止盈/止损订单。" #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Market)" -msgstr "" +msgstr "增加大小 (市价)" #: src/domain/synthetics/trade/utils/validation.ts msgid "Couldn't find a swap path with enough liquidity" -msgstr "" +msgstr "找不到具有足够流动性的交换路径" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx #: src/pages/Stake/VesterWithdrawModal.tsx msgid "Withdrawn!" -msgstr "" +msgstr "已提取!" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "3rd Place" +msgstr "第三名" + +#: src/components/SettingsModal/TradingSettings.tsx +msgid "Your wallet, your keys.<0/><1/>GMX executes transactions for you without individual signing, providing a seamless, CEX-like experience. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." msgstr "" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Claiming failed" -msgstr "" +msgstr "领取失败" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Stop Loss" -msgstr "" +msgstr "更新止损" #: src/components/Exchange/PositionEditor.jsx #: src/components/Glp/GlpSwap.jsx msgid "Approve {0}" -msgstr "核准" +msgstr "批准 {0}" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} long exceeded" -msgstr "超过了最大{0}做多范围" +msgstr "超过最大 {0} 多头" #: src/components/Synthetics/OrderItem/OrderItem.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -5913,25 +5989,25 @@ msgstr "超过了最大{0}做多范围" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts msgid "N/A" -msgstr "" +msgstr "不适用" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Stop Market price is below mark price" -msgstr "" +msgstr "止损市价低于标记价格" #: src/components/Exchange/PositionEditor.jsx #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Amount should be greater than zero" -msgstr "" +msgstr "金额应大于零" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perpetuals Aggregator" -msgstr "" +msgstr "永续合约聚合器" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "LIVE" -msgstr "" +#~ msgid "LIVE" +#~ msgstr "直播" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "{formattedNetRate} / 1h" @@ -5952,20 +6028,20 @@ msgstr "余额" #: src/pages/Stake/Stake.tsx msgid "Liquidity and trading incentives programs are live on {avalancheLink}." -msgstr "" +msgstr "流动性和交易激励程序已在 {avalancheLink} 上线。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX v2 Telegram & Discord Analytics" -msgstr "" +msgstr "GMX v2 Telegram 和 Discord 分析" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-enable" -msgstr "" +msgstr "重新启用" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "I do not want to transfer the Affiliate esGMX tokens" -msgstr "" +msgstr "我不希望转移附属 esGMX 代币" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit and {action}" @@ -5973,68 +6049,68 @@ msgstr "没收收益并 {action}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win/Loss" -msgstr "" +msgstr "胜/负" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Names could be separated by commas or spaces" -msgstr "" +msgstr "名称可以用逗号或空格分隔" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX from decentralized exchanges" -msgstr "" +msgstr "从去中心化交易所购买 GMX" #: src/components/NotifyModal/NotifyModal.tsx msgid "Powered by" -msgstr "" +msgstr "由...提供支持" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy order executed" -msgstr "" +msgstr "买入订单已执行" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "The order's acceptable price includes the set acceptable price impact. The execution price must meet this condition for the order to be executed." -msgstr "" +msgstr "订单的可接受价格包括设定的可接受价格影响。执行价格必须满足此条件才能执行订单。" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "This TWAP order will execute {numberOfParts} {0} {type} orders of {1} each over the next {2} for the {3} market." -msgstr "" +msgstr "此 TWAP 订单将在接下来的 {2} 内为 {3} 市场执行 {numberOfParts} 个 {0} {type} 订单,每个 {1}。" #: src/pages/Stake/AffiliateClaimModal.tsx msgid "Claim submitted." -msgstr "" +msgstr "领取已提交。" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "OPEN INTEREST" -msgstr "" +msgstr "未平仓合约" #: src/components/Synthetics/TradeHistory/useDownloadAsCsv.tsx msgid "Failed to download trade history CSV." -msgstr "" +msgstr "下载交易历史 CSV 失败。" #: src/domain/synthetics/positions/utils.ts msgid "market" -msgstr "" +msgstr "市场" #: src/components/Referrals/JoinReferralCode.tsx msgid "Same as current active code" -msgstr "与当前的有效代码相同" +msgstr "与当前活跃代码相同" #: src/components/Synthetics/AllowedSwapSlippageInputRowImpl/AllowedSwapSlippageInputRowImpl.tsx msgid "The current swap impact including fees is {0}. Consider adding a buffer of 1% to it so the order is more likely to be processed" -msgstr "" +msgstr "当前交换影响包括费用为 {0}。考虑添加 1% 的缓冲,以使订单更可能被处理" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Win / Loss" -msgstr "" +msgstr "胜 / 负" #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 rebates are airdropped weekly. V2 rebates are automatically applied as fee discounts on each trade and do not show on this table." -msgstr "" +msgstr "V1 回扣每周空投。V2 回扣自动应用于每次交易的费用折扣,不在此表中显示。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Min position size: {0}" -msgstr "" +msgstr "最小头寸大小:{0}" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6042,69 +6118,69 @@ msgstr "" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price below mark price" -msgstr "" +msgstr "触发价格低于标记价格" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "No delegate found" -msgstr "" +msgstr "未找到委托" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Community with NFTs, Trading and Education initiatives" -msgstr "" +msgstr "GMX 社区,包含 NFT、交易和教育举措" #: src/components/NotifyModal/NotifyModal.tsx msgid "Liquidation Confirmations" -msgstr "" +msgstr "清算确认" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the stop market order executes." -msgstr "" +msgstr "止损市价订单执行后,包括当前价格影响的预期执行价格。" #: src/components/Glp/GlpSwap.jsx msgid "Acknowledge epoch is ending in {minutes} minutes" -msgstr "" +msgstr "确认时代将在 {minutes} 分钟内结束" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapWarningsRow.tsx #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Price Impact" -msgstr "" +msgstr "高价格影响" #: src/components/InterviewModal/InterviewModal.tsx msgid "We want your insights to help improve GMX. For security reasons, we won't contact you first. Please send the message \"I have feedback\" to any of our official accounts:" -msgstr "" +msgstr "我们希望您的见解帮助改进 GMX。出于安全原因,我们不会先联系您。请将消息“我有反馈”发送到我们的任何官方账户:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Claim esGMX" -msgstr "领取esGMX" +msgstr "领取 esGMX" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy or Transfer ETH to Arbitrum" -msgstr "" +msgstr "购买或转移 ETH 到 Arbitrum" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "The maximum percentage difference between your specified price and execution price when placing orders." -msgstr "" +msgstr "下订单时您指定价格与执行价格之间的最大百分比差异。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Expected execution price for the order, including the current price impact, once the limit order executes." -msgstr "" +msgstr "限价订单执行后,包括当前价格影响的预期执行价格。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "of open fee" -msgstr "" +msgstr "开仓费用" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Pool Amount" -msgstr "池子数量" +msgstr "池金额" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Approve GMX" -msgstr "核准GMX" +msgstr "批准 GMX" #: src/components/Glp/SwapErrorModal.tsx msgid "{0} Capacity Reached" -msgstr "{0} 到达容量" +msgstr "{0} 容量已达到" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/swap.ts @@ -6125,38 +6201,39 @@ msgstr "执行限价交换" #: src/pages/BuyGMX/BuyGMX.tsx msgid "To purchase GMX on the {0} blockchain, please <0>change your network</0>." -msgstr "" +msgstr "要在 {0} 区块链上购买 GMX,请 <0>更改您的网络</0>。" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx #: src/components/NpsModal/NpsModal.tsx #: src/components/Referrals/JoinReferralCode.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Submit" -msgstr "送出" +msgstr "提交" #: src/domain/tokens/approveTokens.tsx msgid "Permit signed!" -msgstr "" +msgstr "许可已签名!" #: src/components/Exchange/TradeHistory.jsx msgid "Request withdrawal from {0} {longOrShortText}" -msgstr "要求提款从 {0} {longOrShortText}" +msgstr "请求从 {0} {longOrShortText} 提取" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Select an option" -msgstr "选择一个方案" +msgstr "选择一个选项" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "less than a minute" -msgstr "" +msgstr "不到一分钟" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx msgid "Ecosystem" msgstr "生态系统" #: src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx msgid "Next" -msgstr "下一步" +msgstr "下一个" #: src/components/Exchange/TradeHistory.jsx #: src/components/Referrals/AddAffiliateCode.jsx @@ -6168,16 +6245,16 @@ msgstr "创建" #: src/components/Exchange/SwapBox.jsx msgid "Limit order submitted!" -msgstr "限价订单送出" +msgstr "限价订单已提交!" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Last 7d" -msgstr "" +msgstr "过去 7 天" #: src/components/Synthetics/StatusNotification/StakeNotification.tsx msgid "Swap {fromAmount} for {toAmount}" -msgstr "" +msgstr "将 {fromAmount} 交换为 {toAmount}" #: src/components/Exchange/PositionShare.tsx msgid "Copy" @@ -6187,28 +6264,28 @@ msgstr "复制" #: src/components/Referrals/TradersStats.tsx #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "Amount" -msgstr "数量" +msgstr "金额" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create {0} order" -msgstr "" +msgstr "创建 {0} 订单" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx msgid "Edit {0} {1}{2}" -msgstr "" +msgstr "编辑 {0} {1}{2}" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "No rebates distribution history yet." -msgstr "尚未有回扣分配记录" +msgstr "尚未有回扣分配历史。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Governance" -msgstr "" +msgstr "GMX 治理" #: src/domain/synthetics/orders/utils.tsx msgid "trigger price" -msgstr "" +msgstr "触发价格" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx @@ -6225,12 +6302,12 @@ msgstr "领取" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Price Impact / Fees" -msgstr "" +msgstr "价格影响 / 费用" #: src/pages/AccountDashboard/AccountDashboard.tsx #: src/pages/AccountDashboard/AccountDashboard.tsx -msgid "GMX {versionName} Account" -msgstr "" +#~ msgid "GMX {versionName} Account" +#~ msgstr "GMX {versionName} 账户" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -6240,15 +6317,15 @@ msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts msgid "Order execution price takes into account price impact." -msgstr "订单执行价格考虑了价格影响" +msgstr "订单执行价格考虑了价格影响。" #: src/pages/Buy/Buy.tsx msgid "Buy GLP or GMX" -msgstr "" +msgstr "购买 GLP 或 GMX" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max Out" -msgstr "" +msgstr "最大输出" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6276,63 +6353,63 @@ msgstr "连接" #: src/components/InterviewToast/InterviewToast.tsx msgid "Click here to give us your feedback on GMX." -msgstr "" +msgstr "点击此处向我们提供对 GMX 的反馈。" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "V1 Avalanche Fuji" -msgstr "" +msgstr "V1 Avalanche Fuji" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "1st Place" -msgstr "" +msgstr "第一名" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "D2.Finance" -msgstr "" +msgstr "D2.Finance" #: src/pages/Dashboard/OverviewCard.tsx msgid "Annualized:" +msgstr "年化:" + +#: src/pages/LeaderboardPage/LeaderboardPage.tsx +msgid "Concluded Competitions" msgstr "" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to sign approval" -msgstr "" +msgstr "签名批准失败" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "Starts in" -msgstr "" +msgstr "开始于" #: src/domain/synthetics/fees/utils/index.ts msgid "The network fees are high currently, which may be due to a temporary increase in transactions on the {chainName} network." -msgstr "当前网络费用较高,这可能是由于{chainName}网络上的交易暂时增加" +msgstr "当前网络费用较高,这可能是由于 {chainName} 网络上的交易暂时增加。" #: src/lib/wallets/connecters/binanceW3W/binanceWallet.ts msgid "Scan the QR code" msgstr "扫描二维码" -#: src/pages/SyntheticsPage/SyntheticsPage.tsx -msgid "Claims ({totalClaimables})" -msgstr "" - #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Unknown shift GM order" -msgstr "" +msgstr "未知的转移 GM 订单" #: src/components/Exchange/TradeHistory.jsx msgid "Max leverage of 100x was exceeded, the remaining collateral after deducting losses and fees have been sent back to your account:" -msgstr "超过100倍的最大杠杆率,扣除损失和费用后的剩余抵押物已发回你的账户:" +msgstr "超过 100x 的最大杠杆,扣除损失和费用后的剩余抵押品已发送回您的账户:" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Shifting {symbol}..." -msgstr "" +msgstr "正在转移 {symbol}..." #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Not enough Available Liquidity to fill the Order." -msgstr "没有足够的可用流动性来填补订单。" +msgstr "没有足够的可用流动性来填充订单。" #: src/domain/synthetics/orders/getPositionOrderError.tsx #: src/domain/synthetics/orders/getPositionOrderError.tsx @@ -6340,23 +6417,27 @@ msgstr "没有足够的可用流动性来填补订单。" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Trigger price above mark price" -msgstr "" +msgstr "触发价格高于标记价格" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Order size exceeds position" -msgstr "订单规模超过位置" +msgstr "订单大小超过头寸" + +#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +msgid "Concluded" +msgstr "" #: src/components/Exchange/OrderEditor.jsx msgid "Order update submitted!" -msgstr "指令更新已提交!" +msgstr "订单更新已提交!" #: src/components/Exchange/PositionEditor.jsx msgid "Enable withdraw failed." -msgstr "" +msgstr "启用提取失败。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Explore, analyze, and copy on-chain traders" -msgstr "" +msgstr "探索、分析和复制链上交易者" #: src/components/Exchange/ConfirmationBox.jsx msgid "Forfeit profit" @@ -6364,7 +6445,7 @@ msgstr "没收收益" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "Sell Fee" -msgstr "" +msgstr "出售费用" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/InfoRows.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmShiftBox/GmShiftBox.tsx @@ -6372,11 +6453,11 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSellerAdvancedDisplayRows.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AdvancedDisplayRows.tsx msgid "Execution Details" -msgstr "" +msgstr "执行细节" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GM Airdrop" -msgstr "" +msgstr "GM 空投" #: src/components/Glp/GlpSwap.jsx msgid "Save on Fees" @@ -6384,54 +6465,54 @@ msgstr "节省费用" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Take Profit" -msgstr "" +msgstr "更新止盈" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Active Orders" -msgstr "现行的订单" +msgstr "活跃订单" #: src/components/Synthetics/AcceptablePriceImpactInputRow/AcceptablePriceImpactInputRow.tsx msgid "You have set a high acceptable price impact. The current price impact is {0}." -msgstr "" +msgstr "您设置了高可接受价格影响。当前价格影响为 {0}。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Lending and Borrowing" -msgstr "" +msgstr "借贷" #: src/components/Exchange/SwapBox.jsx msgid "Switch to {0} collateral." -msgstr "" +msgstr "切换到 {0} 抵押品。" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GMX Vault" -msgstr "" +msgstr "GMX 金库" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Jones DAO" -msgstr "" +msgstr "Jones DAO" #: src/components/Exchange/TradeHistory.jsx msgid "Partially Liquidated" -msgstr "部分已清偿" +msgstr "部分清算" #: src/components/Glp/GlpSwap.jsx msgid "Insufficient GLP balance" -msgstr "GLP余额不足" +msgstr "GLP 余额不足" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Minute(s)" -msgstr "" +msgstr "分钟" #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Start Unrealized Fees" -msgstr "" +msgstr "起始未实现费用" #: src/components/Synthetics/BotanixBanner/BotanixBanner.tsx msgid "V2 trading" -msgstr "" +msgstr "V2 交易" #: src/components/Exchange/ConfirmationBox.jsx msgid "view" @@ -6439,11 +6520,11 @@ msgstr "查看" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "{orderText} cancel failed." -msgstr "" +msgstr "{orderText} 取消失败。" #: src/components/Exchange/OrdersToa.jsx msgid "Accept terms to enable orders" -msgstr "接受条款以開始指令" +msgstr "接受条款以启用订单" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Protocol analytics" @@ -6453,7 +6534,7 @@ msgstr "协议分析" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer submitted!" -msgstr "转移送出" +msgstr "转移已提交!" #: src/components/Exchange/TradeHistory.jsx msgid "" @@ -6461,43 +6542,46 @@ msgid "" "-{1} USD,\n" "{2} Price: {3} USD" msgstr "" +"清算 {0} {longOrShortText},\n" +"-{1} USD,\n" +"{2} 价格:{3} USD" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Inc." -msgstr "公司" +msgstr "增加" #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed amount" -msgstr "" +msgstr "费用超过金额" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx msgid "Search Type" -msgstr "" +msgstr "搜索类型" #: src/pages/Dashboard/WeightText.tsx msgid "{0} is below its target weight.<0/><1/>Get lower fees to <2>buy GLP</2> with {1}, and to <3>swap</3> {2} for other tokens." -msgstr "{0}低于其目标重量。<0/><1/>获取较低的费用,以<2>用{1}购买GLP</2>,并<3>用{2}交换</3>其他代币" +msgstr "{0} 低于其目标权重。<0/><1/>获取较低费用,以 <2>用 {1} 购买 GLP</2>,并 <3>交换</3> {2} 为其他代币。" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Win Rate" -msgstr "" +msgstr "胜率" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx -msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" -msgstr "" +#~ msgid "Save {0} in price impact and fees by <0><1>switching to the {1} pool</1>.</0>" +#~ msgstr "通过 <0><1>切换到 {1} 池</1>。</0> 节省 {0} 的价格影响和费用" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to transfer them to the new account" -msgstr "" +msgstr "您在附属金库中有 esGMX 代币,如果您想将它们转移到新账户,则需要提取这些代币" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Open {0} in Explorer" -msgstr "" +msgstr "在 Explorer 中打开 {0}" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "{0} and {1} can be used to buy GM for this market up to the specified buying caps." -msgstr "" +msgstr "{0} 和 {1} 可用于为此市场购买 GM,最高可达指定的购买上限。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/StatusNotification/StakeNotification.tsx @@ -6507,19 +6591,19 @@ msgstr "" #: src/pages/Exchange/Exchange.tsx #: src/pages/Exchange/Exchange.tsx msgid "View" -msgstr "浏览" +msgstr "查看" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Execute Stop Market" -msgstr "" +msgstr "执行止损市价单" #: src/components/Referrals/TradersStats.tsx msgid "Volume traded by this account with an active referral code." -msgstr "该账户的交易量与活跃的推荐代码相关" +msgstr "此账户使用活跃推荐代码的交易量。" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx msgid "Start unrealized fees" -msgstr "" +msgstr "起始未实现费用" #: src/components/Referrals/AffiliatesStats.tsx msgid "Referral Codes" @@ -6528,43 +6612,48 @@ msgstr "推荐代码" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GMX not withdrawn" -msgstr "归属的GMX未被撤回" +msgstr "归属的 GMX 未提取" #: src/components/Glp/GlpSwap.jsx msgid "FEES" msgstr "费用" +#. Filter option for tokens favorites +#: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx +msgid "All Markets" +msgstr "所有市场" + #: src/components/Exchange/FeesTooltip.tsx #: src/components/Exchange/NetValueTooltip.tsx #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Open Fee" -msgstr "" +msgstr "开仓费用" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Looks like you don't have a referral code to share. <0/> Create one now and start earning rebates!" -msgstr "看来你没有推荐代码可以分享。<0/> 创建一个,开始赚取回扣!" +msgstr "看来您没有推荐代码可以分享。<0/> 现在创建一个,开始赚取回扣!" #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Update 1CT (One-Click Trading) settings" -msgstr "" +msgstr "更新 1CT (一键交易) 设置" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Kudai AI Agent" -msgstr "" +msgstr "Kudai AI 代理" #: src/components/Synthetics/MarketStats/MarketGraphs.tsx msgid "Current Price" -msgstr "" +msgstr "当前价格" #: src/pages/NftWallet/NftWallet.jsx msgid "Enter NFT ID" -msgstr "输入NFT ID" +msgstr "输入 NFT ID" #: src/components/Exchange/PositionEditor.jsx msgid "Withdrawal failed." -msgstr "" +msgstr "提取失败。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -6573,19 +6662,19 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Limit Price" -msgstr "限制价格" +msgstr "限价" #: src/components/AddressView/AddressView.tsx msgid "You" -msgstr "" +msgstr "您" #: src/components/Synthetics/GmList/GmList.tsx msgid "Pools providing liquidity to specific GMX markets, supporting single-asset and native asset options." -msgstr "" +msgstr "为特定 GMX 市场提供流动性的池,支持单资产和原生资产选项。" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivate 1CT (One-Click Trading)" -msgstr "" +msgstr "停用 1CT (一键交易)" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute deposit into {0} {longOrShortText}" @@ -6602,15 +6691,15 @@ msgstr "无法执行存入 {0} {longOrShortText}" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "Deposit" -msgstr "存取" +msgstr "存入" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d Est. Fees" -msgstr "" +msgstr "365 天预估费用" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below highest limit price" -msgstr "" +msgstr "触发价格低于最高限价" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx #: src/components/Synthetics/OrderItem/OrderItem.tsx @@ -6622,45 +6711,45 @@ msgstr "可接受价格" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell request sent" -msgstr "" +msgstr "出售请求已发送" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Margin Protocol" -msgstr "" +msgstr "DeFi 保证金协议" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Enabling Leverage..." -msgstr "启用杠杆功能中..." +msgstr "正在启用杠杆..." #: src/domain/synthetics/orders/utils.tsx msgid "There may not be sufficient liquidity to execute the swap to the receive token when the price conditions are met." -msgstr "" +msgstr "当满足价格条件时,可能没有足够的流动性来执行交换到接收代币。" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawn {balanceFormatted} to Main Account" -msgstr "" +msgstr "提取 {balanceFormatted} 到主账户" #: src/components/NotifyModal/NotifyModal.tsx msgid "Trade Errors" -msgstr "" +msgstr "交易错误" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Consider selecting only positions where the accrued funding fee exceeds the {0} gas cost to settle each position." -msgstr "" +msgstr "考虑仅选择累积资金费用超过结算每个头寸的 {0} gas 成本的头寸。" #: src/domain/synthetics/trade/utils/validation.ts msgid "The buyable cap for the pool GM: {0} using the pay token selected is reached. Please choose a different pool, reduce the buy size, or pick a different composition of tokens." -msgstr "" +msgstr "使用所选支付代币的池 GM: {0} 的可买入上限已达到。请选择不同的池、减少买入大小或选择不同的代币组成。" #: src/components/Glp/GlpSwap.jsx msgid "Fees may vary depending on which asset you use to buy GLP. <0/>Enter the amount of GLP you want to purchase in the order form, then check here to compare fees." -msgstr "费用决于你出售GLP的资产可能有所不同。<0/>在订单中输入你要购买的GLP数量,然后在此查看以比较费用。" +msgstr "费用可能因您用于购买 GLP 的资产而异。<0/>在订单表单中输入您想购买的 GLP 金额,然后在此检查以比较费用。" #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Claim <0>{0}</0>" -msgstr "" +msgstr "领取 <0>{0}</0>" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionSeller.jsx @@ -6682,68 +6771,70 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Receive" -msgstr "收取" +msgstr "接收" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "time to liq" -msgstr "流动性时间将至" +msgstr "清算时间" #: src/pages/AccountDashboard/dailyAndCumulativePnLDebug.tsx #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Realized Fees" -msgstr "" +msgstr "已实现费用" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Positions" -msgstr "" +msgstr "最高头寸" #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Pools" -msgstr "" +msgstr "池" #: src/components/Exchange/TradeHistory.jsx msgid "Could not execute withdrawal from {0} {longOrShortText}" -msgstr "无法执行提取{0} {longOrShortText}" +msgstr "无法执行从 {0} {longOrShortText} 提取" #: src/components/Synthetics/GmList/GlvList.tsx msgid "VAULT" -msgstr "" +msgstr "金库" #: src/components/Glp/GlpSwap.jsx msgid "Fees (Rebated)" -msgstr "" +msgstr "费用 (回扣)" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "Your transfer has been completed." -msgstr "你的转汇已完成" +msgstr "您的转移已完成。" #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "We Value Your Feedback" -msgstr "" +msgstr "我们重视您的反馈" #: src/components/Synthetics/OrderList/filters/OrderTypeFilter.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Loss" -msgstr "" +msgstr "止损" #: src/pages/Stake/Stake.tsx msgid "Liquidity incentives program is live on {avalancheLink}." -msgstr "" +msgstr "流动性激励程序已在 {avalancheLink} 上线。" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could still be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "由于资金和借贷费率随时间减少头寸的抵押品,此头寸仍可能被清算,不包括任何价格变动。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Transfer {nativeTokenSymbol}" -msgstr "" +msgstr "转移 {nativeTokenSymbol}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Meme" -msgstr "" +msgstr "Meme" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useDepositWithdrawalTransactions.tsx @@ -6752,73 +6843,73 @@ msgstr "" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeboxTransactions.tsx msgid "Error submitting order" -msgstr "" +msgstr "提交订单错误" #: src/components/Referrals/AffiliatesStats.tsx msgid "V1 Rebates and V1/V2 esGMX are airdropped weekly. V2 Rebates are claimed manually." -msgstr "" +msgstr "V1 回扣和 V1/V2 esGMX 每周空投。V2 回扣手动领取。" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Duration" -msgstr "" +msgstr "持续时间" #: src/components/Common/SEO.tsx msgid "Trade spot or perpetual BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet on Arbitrum and Avalanche." -msgstr "" +msgstr "在 Arbitrum 和 Avalanche 上直接从您的钱包交易现货或永续 BTC、ETH、AVAX 和其他顶级加密货币,杠杆高达 100x。" #: src/components/Exchange/ChartTokenSelector.tsx msgid "Max In" -msgstr "" +msgstr "最大输入" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Myself" -msgstr "" +msgstr "我自己" -#: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx -#: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Search Address" -msgstr "" +msgstr "搜索地址" #: src/domain/synthetics/trade/utils/validation.ts msgid "Max GM buyable amount reached" -msgstr "" +msgstr "达到最大 GM 可买入金额" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Session generated" -msgstr "" +msgstr "会话已生成" +#: src/pages/Dashboard/GmxCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Buy GMX" -msgstr "" +msgstr "购买 GMX" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx msgid "Max {0} Capacity" -msgstr "最高{0}上限" +msgstr "最大 {0} 容量" #: src/components/ToastifyDebug/ToastifyDebug.tsx msgid "Copy error" -msgstr "" +msgstr "复制错误" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects developed by the GMX community. <0/>Please exercise caution when interacting with any app, apps are fully maintained by community developers." -msgstr "" +msgstr "由 GMX 社区开发的项目。<0/>与任何应用互动时请谨慎,应用完全由社区开发者维护。" #: src/domain/synthetics/userFeedback/utils.ts msgid "What areas can we improve to make your experience better?" -msgstr "" +msgstr "我们可以改进哪些领域以提升您的体验?" #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "{typeString} Long Market: {0} a long position at the current price." -msgstr "" +msgstr "{typeString} 多头市场:{0} 以当前价格开立多头头寸。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a collateral" -msgstr "" +msgstr "选择抵押品" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Size per part" -msgstr "" +msgstr "每个部分的大小" #: src/components/Glp/GlpSwap.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -6831,60 +6922,60 @@ msgstr "" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Insufficient {0} balance" -msgstr " {0}余额不足" +msgstr "{0} 余额不足" #: src/domain/synthetics/orders/utils.tsx msgid "limit price" -msgstr "" +msgstr "限价" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price impact rebates for closing trades are claimable under the claims tab. <0>Read more</0>." -msgstr "" +msgstr "平仓的价格影响回扣可在领取选项卡下领取。<0>阅读更多</0>。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Sending order request" -msgstr "" +msgstr "正在发送订单请求" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Can't execute because of an error" -msgstr "错误,无法执行" +msgstr "由于错误无法执行" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Yield Products" -msgstr "" +msgstr "去中心化收益产品" #: src/components/Exchange/PositionSeller.jsx msgid "Keep Leverage is not possible" -msgstr "" +msgstr "保持杠杆不可行" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee includes fees for additional orders. It will be sent back in full to your account if they don't trigger and are cancelled. <0>Read more</0>." -msgstr "" +msgstr "最大网络费用包括额外订单的费用。如果它们未触发并被取消,将全额发送回您的账户。<0>阅读更多</0>。" #: src/components/Synthetics/StatusNotification/FeesSettlementStatusNotification.tsx msgid "{positionName} Failed to settle" -msgstr "" +msgstr "{positionName} 结算失败" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx msgid "Rebates" -msgstr "" +msgstr "回扣" #: src/components/Glp/GlpSwap.jsx msgid "GLP is not sellable" -msgstr "" +msgstr "GLP 不可出售" #: src/pages/BuyGlp/BuyGlp.jsx msgid "GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets." -msgstr "" +msgstr "GMX V1 市场已禁用,仅允许平仓。GLP 正在逐步淘汰,不再支持 GMX V1 市场。" #: src/components/Glp/GlpSwap.jsx msgid "Sell failed." -msgstr "出售失败" +msgstr "出售失败。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update Limit" -msgstr "" +msgstr "更新限价" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx @@ -6894,8 +6985,9 @@ msgstr "编辑订单" #: src/pages/AccountDashboard/HistoricalLists.tsx #: src/pages/SyntheticsPage/SyntheticsPage.tsx +#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Claims" -msgstr "" +msgstr "领取" #: src/components/Referrals/AffiliatesStats.tsx #: src/components/Referrals/TradersStats.tsx @@ -6909,15 +7001,15 @@ msgstr "日期" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy GMX using FIAT gateways:" -msgstr "" +msgstr "使用 FIAT 网关购买 GMX:" #: src/components/Referrals/AddAffiliateCode.jsx msgid "Referral code created!" -msgstr "推荐代码已建立" +msgstr "推荐代码已创建!" #: src/components/Exchange/OrderEditor.jsx msgid "Price above Mark Price" -msgstr "价格高于标价" +msgstr "价格高于标记价格" #: src/components/Exchange/PositionSeller.jsx #: src/components/Synthetics/OrderEditor/OrderEditor.tsx @@ -6931,15 +7023,15 @@ msgstr "触发价格" #: src/pages/PoolsDetails/PoolsDetailsAbout.tsx msgid "Sellable" -msgstr "" +msgstr "可出售" #: src/components/Exchange/PositionSeller.jsx msgid "Initial Collateral (Collateral excluding Borrow Fee)." -msgstr "" +msgstr "初始抵押品(不包括借贷费的抵押品)。" #: src/components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList.tsx msgid "COMPETITION Airdrop" -msgstr "" +msgstr "竞赛空投" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/NftWallet/NftWallet.jsx @@ -6948,21 +7040,21 @@ msgstr "输入接收方地址" #: src/pages/Stake/VesterDepositModal.tsx msgid "Additional reserve required" -msgstr "" +msgstr "需要额外储备" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/TermsAndConditions/TermsAndConditions.jsx msgid "Terms and Conditions" -msgstr "条款及细则" +msgstr "条款和条件" #: src/pages/Stake/ClaimModal.tsx msgid "Convert {wrappedTokenSymbol} to {nativeTokenSymbol}" -msgstr "" +msgstr "将 {wrappedTokenSymbol} 转换为 {nativeTokenSymbol}" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Available amount to deposit into GLP." -msgstr "可供存入GLP的金额" +msgstr "可存入 GLP 的可用金额" #: src/components/Exchange/PositionShare.tsx msgid "Download" @@ -6970,11 +7062,15 @@ msgstr "下载" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Swap {0} for {1}" -msgstr "" +msgstr "将 {0} 交换为 {1}" #: src/pages/Stake/VesterDepositModal.tsx msgid "Vault Capacity" -msgstr "" +msgstr "金库容量" + +#: src/components/Synthetics/TVChart/Chart.tsx +msgid "Depth" +msgstr "深度" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Decrease active: {0}, executed: {1}, cancelled: {2}" @@ -6982,15 +7078,15 @@ msgstr "减少活跃度: {0}, 已执行: {1}, 已取消: {2}" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "Layer 1" -msgstr "" +msgstr "Layer 1" #: src/components/Exchange/TradeHistory.jsx msgid "{0}  {1} {longOrShortText}, -{2} USD, {3} Price: ${4} USD" -msgstr "" +msgstr "{0} {1} {longOrShortText}, -{2} USD, {3} 价格: ${4} USD" #: src/components/Exchange/PositionSeller.jsx msgid "Keep leverage at {0}x" -msgstr "" +msgstr "保持杠杆为 {0}x" #: src/pages/Stake/StakeModal.tsx msgid "Staking..." @@ -6998,24 +7094,24 @@ msgstr "质押中..." #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Buy request sent" -msgstr "" +msgstr "购买请求已发送" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max {0} amount exceeded" -msgstr "" +msgstr "超过最大 {0} 金额" #: src/components/Exchange/PositionSeller.jsx msgid "Position close disabled, pending {0} upgrade" -msgstr "" +msgstr "仓位关闭已禁用,待 {0} 升级" #: src/components/Exchange/ConfirmationBox.jsx msgid "Swapping..." -msgstr "交易中..." +msgstr "交换中..." #: src/pages/AccountDashboard/generalPerformanceDetailsDebug.tsx msgid "Realized Base PnL" -msgstr "" +msgstr "已实现基础盈亏" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx @@ -7023,15 +7119,15 @@ msgstr "" #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts #: src/domain/synthetics/orders/createWrapOrUnwrapTxn.ts msgid "Swap failed." -msgstr "交易失败" +msgstr "交换失败。" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Failed to withdraw {balanceFormatted} to Main Account" -msgstr "" +msgstr "提取 {balanceFormatted} 到主账户失败" #: src/components/Synthetics/MarketStats/components/MarketDescription.tsx msgid "This token automatically accrues fees from swaps for the {0}/{1} market. It is also exposed to {2} and {3} as per the composition displayed." -msgstr "" +msgstr "此代币自动从 {0}/{1} 市场的交换中累积费用。它也根据显示的组成暴露于 {2} 和 {3}。" #: src/components/Exchange/PositionSeller.jsx #: src/domain/synthetics/trade/utils/validation.ts @@ -7040,40 +7136,40 @@ msgstr "页面已过期,请刷新" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Proposals" -msgstr "" +msgstr "GMX 提案" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "BUY…" -msgstr "" +msgstr "购买…" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "Vest with GLP on Arbitrum" -msgstr "在Arbitrum上授权GLP" +msgstr "在 Arbitrum 上授权 GLP" #: src/components/InterviewModal/InterviewModal.tsx #: src/components/InterviewModal/InterviewModal.tsx msgid "Telegram account" -msgstr "" +msgstr "Telegram 账户" #: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx -msgid "SOON" -msgstr "" +#~ msgid "SOON" +#~ msgstr "即将" #: src/components/Synthetics/GmSwap/GmSwapBox/GmDepositWithdrawalBox/useGmSwapSubmitState.tsx msgid "Sell {operationTokenSymbol}" -msgstr "" +msgstr "出售 {operationTokenSymbol}" #: src/components/Exchange/PositionEditor.jsx msgid "Liquidation price would cross mark price." -msgstr "" +msgstr "清算价格将超过标记价格。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Perfectswap" -msgstr "" +msgstr "Perfectswap" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Leaderboard for traders on GMX V2." -msgstr "" +msgstr "GMX V2 交易者排行榜。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Withdraw" @@ -7081,51 +7177,51 @@ msgstr "提取失败" #: src/pages/Referrals/Referrals.tsx msgid "Get fee discounts and earn rebates through the GMX referral program.<0/>For more information, please read the <1>referral program details</1>." -msgstr "" +msgstr "通过 GMX 推荐程序获得费用折扣并赚取返利。<0/>更多信息,请阅读 <1>推荐程序详情</1>。" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/shared.ts msgid "Freeze" -msgstr "" +msgstr "冻结" #: src/components/Synthetics/PositionEditor/usePositionEditorButtonState.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Express params loading..." -msgstr "" +msgstr "快速参数加载中..." #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "As there is not enough liquidity in GLP to swap {0} to {swapTokenSymbol}, you can use the option below to do so:" -msgstr "若流动率不足以交换GLP {0} 成 {swapTokenSymbol}, 您可使用下方其他选项:" +msgstr "由于 GLP 中没有足够的流动性来交换 {0} 到 {swapTokenSymbol},您可以使用以下选项:" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx #: src/pages/Stake/AffiliateClaimModal.tsx #: src/pages/Stake/ClaimModal.tsx msgid "Claim completed!" -msgstr "领取完成" +msgstr "领取完成!" #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/domain/synthetics/positions/utils.ts msgid "Stop Market" -msgstr "" +msgstr "止损市价" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Min number of parts: {MIN_TWAP_NUMBER_OF_PARTS}" -msgstr "" +msgstr "最小部分数量:{MIN_TWAP_NUMBER_OF_PARTS}" #: src/components/Exchange/PositionSeller.jsx msgid "You can change this in the settings menu on the top right of the page.<0/><1/>Note that a low allowed slippage, e.g. less than {0}, may result in failed orders if prices are volatile." -msgstr "" +msgstr "您可以在页面右上角的设置菜单中更改此项。<0/><1/>请注意,如果允许的滑点较低,例如小于 {0},在价格波动时可能导致订单失败。" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Request Settlement of Funding Fees" -msgstr "要求结算资金费用" +msgstr "请求结算资金费用" #: src/pages/Dashboard/WeightText.tsx msgid "Current Weight" -msgstr "目前重量" +msgstr "当前权重" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Partnerships and Integrations" @@ -7133,29 +7229,29 @@ msgstr "合作伙伴与整合" #: src/components/Exchange/PositionEditor.jsx msgid "Leftover Collateral not enough to cover fees" -msgstr "" +msgstr "剩余抵押品不足以覆盖费用" #: src/components/InterviewToast/InterviewToast.tsx #: src/components/InterviewToast/InterviewToast.tsx msgid "As a token of our appreciation, you'll receive a reward of <0>100 <1/></0>." -msgstr "" +msgstr "作为我们的感谢,您将收到 <0>100 <1/></0> 的奖励。" #: src/domain/synthetics/sidecarOrders/utils.ts #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price above limit price" -msgstr "" +msgstr "触发价格高于限价" #: src/domain/synthetics/trade/utils/validation.ts msgid "Select a Pay token" -msgstr "" +msgstr "选择支付代币" #: src/components/Exchange/SwapBox.jsx msgid "Swap {0} submitted!" -msgstr "交易{0}送出!" +msgstr "交换 {0} 已提交!" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The available liquidity will be the lesser of the difference between the maximum value and the current value for both the reserve and open interest." -msgstr "" +msgstr "可用流动性将是储备和未平仓利息的最大值与当前值之间差额的较小值。" #: src/components/Referrals/JoinReferralCode.tsx msgid "Referral Code does not exist" @@ -7163,56 +7259,56 @@ msgstr "推荐代码不存在" #: src/components/Synthetics/GmSwap/GmFees/GmFees.tsx msgid "shift" -msgstr "" +msgstr "转移" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "GLP to GM Airdrop" -msgstr "" +msgstr "GLP 到 GM 空投" #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Yield Vaults" -msgstr "产量库" +msgstr "收益金库" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Portuguese)" -msgstr "电报群(葡萄牙文)" +msgstr "Telegram 群组(葡萄牙语)" #: src/pages/Actions/SyntheticsActions.tsx msgid "GMX V2 Actions" -msgstr "" +msgstr "GMX V2 操作" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code has been taken by someone else on {takenNetworkNames}, you will not receive rebates from traders using this code on {takenNetworkNames}." -msgstr "这个代码已经被其他人在{takenNetworkNames}上使用,你将不会从使用这个代码的交易者那里获得返利" +msgstr "此代码已被他人用于 {takenNetworkNames},您将无法从使用此代码的交易者处获得返利。" #: src/components/Referrals/ClaimAffiliatesModal/ClaimAffiliatesModal.tsx #: src/components/Synthetics/ClaimablePositionPriceImpactRebateModal/ClaimablePositionPriceImpactRebateModal.tsx #: src/components/Synthetics/ClaimModal/ClaimModal.tsx msgid "Confirm Claim" -msgstr "" +msgstr "确认领取" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX community discussion" -msgstr "GMX社区讨论" +msgstr "GMX 社区讨论" #: src/components/TokenCard/TokenCard.tsx msgid "{arbitrumLink} GLV Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{arbitrumLink} GLV 池子被 <0>激励{sparkle}。</0>" #: src/components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader.tsx msgid "Sell GM" -msgstr "" +msgstr "出售 GM" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0> voting power." -msgstr "" +msgstr "<0>委托您未委托的 {0} GMX DAO</0> 投票权。" #: src/domain/synthetics/markets/createShiftTxn.ts msgid "Shift error." -msgstr "" +msgstr "转移错误。" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7278,23 +7374,23 @@ msgstr "池子" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Venus" -msgstr "" +msgstr "Venus" #: src/pages/Referrals/Referrals.tsx msgid "Referral code creation failed." -msgstr "" +msgstr "推荐代码创建失败。" #: src/components/Glp/SwapErrorModal.tsx msgid "<0>The pool's capacity has been reached for {0}. Please use another token to buy GLP.</0><1>Check the \"Save on Fees\" section for tokens with the lowest fees.</1>" -msgstr "<0>池子容量已到达 {0}.请使用其他代币购买GLP.</0><1>查询 \"节省手续费\" 栏位一查询最低手续费之代币</1>" +msgstr "<0>池子容量已达到 {0}。请使用其他代币购买 GLP。</0><1>查看“节省费用”部分以获取费用最低的代币。</1>" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX dashboards and analytics." -msgstr "GMX信息板和分析" +msgstr "GMX 仪表板和分析。" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "External Swap {0} to {1}" -msgstr "" +msgstr "外部交换 {0} 到 {1}" #: src/components/Exchange/PositionsList.jsx #: src/components/Synthetics/PositionList/PositionList.tsx @@ -7304,11 +7400,11 @@ msgstr "仓位" #: src/components/Synthetics/TradeFeesRow/TradeFeesRow.tsx msgid "Bonus Rebate" -msgstr "" +msgstr "奖金返利" #: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx msgid "You have an existing position in the {0} market pool, but it lacks liquidity for this order." -msgstr "" +msgstr "您在 {0} 市场池中有现有仓位,但此订单缺少流动性。" #: src/components/Exchange/PositionEditor.jsx msgid "Enable Leverage" @@ -7316,91 +7412,91 @@ msgstr "启用杠杆" #: src/components/Exchange/PositionSeller.jsx msgid "Close without profit" -msgstr "" +msgstr "无利润关闭" #: src/components/StatsTooltip/ChainsStatsTooltipRow.tsx msgid "{title}" -msgstr "" +msgstr "{title}" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Increasing" -msgstr "" +msgstr "增加中" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Fastest" -msgstr "" +msgstr "最快" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "Avg. Lev." -msgstr "" +msgstr "平均杠杆" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing shorts for<0/>this size. Max short size: {0}<1/><2/>There is no price impact. There is a single<3/>execution price for decreasing longs for<4/>this size." -msgstr "" +msgstr "此规模的增加空头没有可用流动性。最大空头规模:{0}<1/><2/>无价格影响。减少多头有单一<3/>执行价格<4/>此规模。" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche LP incentives" -msgstr "" +msgstr "Avalanche LP 激励" #: src/components/Stake/GMXAprTooltip.tsx msgid "{nativeTokenSymbol} APR" -msgstr "" +msgstr "{nativeTokenSymbol} 年利率" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Telegram Group (Chinese)" -msgstr "电报群(中文)" +msgstr "Telegram 群组(中文)" #: src/components/Exchange/TradeHistory.jsx msgid "Swap {0} {1} for {2} {3}" -msgstr "" +msgstr "交换 {0} {1} 为 {2} {3}" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "<0>This will withdraw all esGMX tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button.<5/><6/></0>" -msgstr "" +msgstr "<0>这将提取所有 esGMX 代币并暂停授权。<1/><2/>已转换为 GMX 的 esGMX 代币将被领取并保留为 GMX 代币。<3/><4/>要领取 GMX 代币而不提取,请使用“领取”按钮。<5/><6/></0>" #: src/context/TokensFavoritesContext/TokensFavoritesContextProvider.tsx msgid "DeFi" -msgstr "" +msgstr "DeFi" #: src/components/Synthetics/GmList/GlvList.tsx #: src/components/Synthetics/GmList/GmList.tsx msgid "SNAPSHOT" -msgstr "" +msgstr "快照" #: src/components/Synthetics/PositionEditor/PositionEditor.tsx #: src/components/Synthetics/PositionSeller/PositionSeller.tsx #: src/components/Synthetics/TradeBox/TradeBox.tsx msgid "Liquidation Price" -msgstr "" +msgstr "清算价格" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Voting Power" -msgstr "" +msgstr "投票权" #: src/components/Synthetics/TVChart/components/AvailableLiquidityTooltip.tsx msgid "The long reserve accounts for the PnL of open positions, while the open interest does not." -msgstr "" +msgstr "多头储备考虑了未平仓仓位的盈亏,而未平仓利息则不考虑。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Take Profit" -msgstr "" +msgstr "取消止盈" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top PnL ($)" -msgstr "" +msgstr "最高盈亏 ($)" #: src/pages/AccountDashboard/AccountDashboard.tsx msgid "Invalid address. Please make sure you have entered a valid Ethereum address" -msgstr "" +msgstr "无效地址。请确保您输入了有效的以太坊地址" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Sender has withdrawn all tokens from GMX Vesting Vault" -msgstr "发送者已从GMX授权金库中撤回所有代币" +msgstr "发送者已从 GMX 授权金库中提取所有代币" #: src/components/Synthetics/Claims/ClaimHistoryRow/ClaimFundingFeesHistoryRow.tsx #: src/components/Synthetics/Claims/filters/ActionFilter.tsx msgid "Failed Settlement of Funding Fees" -msgstr "" +msgstr "资金费用结算失败" #: src/components/Exchange/ConfirmationBox.jsx msgid "Pay Amount" @@ -7408,19 +7504,19 @@ msgstr "支付金额" #: src/pages/Dashboard/DashboardPageTitle.tsx msgid "GLP is the liquidity provider token for GMX V1 markets. Accrues 70% of the V1 markets generated fees." -msgstr "" +msgstr "GLP 是 GMX V1 市场流动性提供者代币。累积 V1 市场生成费用的 70%。" #: src/domain/synthetics/orders/utils.tsx msgid "{increaseOrDecreaseText} {tokenText} by {sizeText}" -msgstr "" +msgstr "{increaseOrDecreaseText} {tokenText} 按 {sizeText}" #: src/pages/Stake/UnstakeModal.tsx msgid "{0}<0>You will earn {1}% less rewards with this action.</0>" -msgstr "" +msgstr "{0}<0>通过此操作,您将赚取 {1}% 更少的奖励。</0>" #: src/pages/Stake/AffiliateVesterWithdrawModal.tsx msgid "Confirming..." -msgstr "" +msgstr "确认中..." #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -7435,7 +7531,7 @@ msgstr "增加" #: src/pages/Stake/ClaimModal.tsx msgid "Claim {wrappedTokenSymbol} Rewards" -msgstr "" +msgstr "领取 {wrappedTokenSymbol} 奖励" #: src/components/Glp/GlpSwap.jsx #: src/pages/Dashboard/GmxCard.tsx @@ -7447,43 +7543,43 @@ msgstr "总供应量" #: src/components/Exchange/NoLiquidityErrorModal.tsx msgid "{0} Pool Capacity Reached" -msgstr "{0} 池子到达容量" +msgstr "{0} 池子容量已达到" #: src/components/Glp/GlpSwap.jsx #: src/pages/Stake/EscrowedGmxCard.tsx #: src/pages/Stake/GlpCard.tsx #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Staked" -msgstr "质押完成" +msgstr "已质押" #: src/components/Footer/Footer.tsx -msgid "Leave feedback" -msgstr "" +#~ msgid "Leave feedback" +#~ msgstr "留下反馈" #: src/pages/Referrals/Referrals.tsx msgid "Traders" -msgstr "" +msgstr "交易者" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{ordersText} cancelled" -msgstr "" +msgstr "{ordersText} 已取消" #: src/domain/synthetics/positions/utils.ts msgid "take profit" -msgstr "" +msgstr "止盈" #: src/components/DebugExpressSettings/DebugSwapsSettings.tsx #: src/components/DebugSwapsSettings/DebugSwapsSettings.tsx msgid "Force External Swaps" -msgstr "" +msgstr "强制外部交换" #: src/components/Exchange/ConfirmationBox.jsx msgid "Fees are high to swap from {0} to {1}. <0/>{2} is needed for collateral." -msgstr "从{0}交换到{1}的费用较高。<0/>{2}需要抵押品" +msgstr "从 {0} 交换到 {1} 的费用较高。<0/>{2} 需要作为抵押品。" #: src/pages/PositionsOverview/PositionsOverview.jsx msgid "size" -msgstr "大小" +msgstr "规模" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Create Limit Swap" @@ -7491,28 +7587,32 @@ msgstr "创建限价交换" #: src/components/Errors/errorToasts.tsx msgid "<0>Your wallet is not connected to {0}.</0><1/><2>Switch to {1}</2>" -msgstr "" +msgstr "<0>您的钱包未连接到 {0}。</0><1/><2>切换到 {1}</2>" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "Transaction was cancelled." -msgstr "交易已取消" +msgstr "交易已取消。" #: src/components/Exchange/ConfirmationBox.jsx msgid "Accept confirmation of trigger orders" -msgstr "接受并确认触发订单" +msgstr "接受触发订单的确认" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Choose to buy from decentralized or centralized exchanges." -msgstr "" +msgstr "选择从去中心化或中心化交易所购买。" #: src/components/Exchange/TradeHistory.jsx msgid "Min required collateral" -msgstr "所需的最低抵押品" +msgstr "所需最低抵押品" #: src/components/Exchange/TradeHistory.jsx msgid "Try increasing the \"Allowed Slippage\", under the Settings menu on the top right" -msgstr "尝试增加 \"Allowed Slippage\", 在右上角设置下方" +msgstr "尝试增加“允许滑点”,在右上角设置菜单下" + +#: src/pages/AccountDashboard/AccountDashboard.tsx +msgid "GMX Account" +msgstr "" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX ecosystem pages." @@ -7520,12 +7620,12 @@ msgstr "GMX 生态系统页面" #: src/components/TokenCard/TokenCard.tsx msgid "{avalancheLink} GM Pools are <0>incentivized{sparkle}.</0>" -msgstr "" +msgstr "{avalancheLink} GM 池子被 <0>激励{sparkle}。</0>" #: src/components/Exchange/PositionsList.jsx #: src/lib/legacy.ts msgid "Order size is bigger than position, will only be executable if position increases" -msgstr "订单规模大于头寸,只有在头寸增加的情况下才会执行" +msgstr "订单规模大于仓位,只有在仓位增加时才可执行" #: src/components/Header/AppHeaderLinks.tsx msgid "Buy" @@ -7533,11 +7633,11 @@ msgstr "购买" #: src/config/events.tsx msgid "Incentives are live for <0>Arbitrum</0> and <1>Avalanche</1> GM pools and V2 trading." -msgstr "" +msgstr "<0>Arbitrum</0> 和 <1>Avalanche</1> GM 池子以及 V2 交易的激励已生效。" #: src/pages/Stake/TotalRewardsCard.tsx msgid "Total Rewards" -msgstr "" +msgstr "总奖励" #: src/pages/NftWallet/NftWallet.jsx msgid "NFT ID" @@ -7546,49 +7646,48 @@ msgstr "NFT ID" #: src/domain/synthetics/markets/claimFundingFeesTxn.ts #: src/domain/synthetics/referrals/claimAffiliateRewardsTxn.ts msgid "Success claimings" -msgstr "" +msgstr "成功领取" #: src/lib/legacy.ts msgid "Decentralized Perpetual Exchange | GMX" -msgstr "" +msgstr "去中心化永续交易所 | GMX" #: src/components/Exchange/PositionEditor.jsx msgid "The pending borrow fee will be charged on this transaction." -msgstr "" +msgstr "待处理的借款费用将在此交易中收取。" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Fees will be shown once you have entered an amount in the order form." -msgstr "在订单中输入金额,费用就会显示出来" +msgstr "在订单表单中输入金额后,将显示费用。" #: src/pages/Stake/Vesting.tsx #: src/pages/Stake/Vesting.tsx msgid "GLP Vault" -msgstr "" +msgstr "GLP 金库" -#: src/components/Footer/constants.ts +#: src/components/Footer/constants.tsx #: src/pages/ReferralTerms/ReferralTerms.jsx msgid "Referral Terms" msgstr "推荐条款" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter unique coins" -msgstr "" +msgstr "输入唯一币种" #: src/components/Synthetics/GmList/FeeApyLabel.tsx msgid "Fee APY" -msgstr "" +msgstr "费用年利率" #: src/components/MarketSelector/MarketSelector.tsx -#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "No markets matched." -msgstr "" +msgstr "无匹配市场。" #: src/pages/Stake/Stake.tsx msgid "Stake esGMX" -msgstr "" +msgstr "质押 esGMX" #: src/pages/Dashboard/MarketsListV1.tsx #: src/pages/Dashboard/MarketsListV1.tsx @@ -7600,7 +7699,7 @@ msgstr "目标最低金额" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Fees exceed Pay amount" -msgstr "" +msgstr "费用超过支付金额" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Market Swap" @@ -7608,41 +7707,37 @@ msgstr "市场交换失败" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "HoudiniSwap" -msgstr "" +msgstr "HoudiniSwap" #: src/components/NpsModal/NpsModal.tsx #: src/components/UserFeedbackModal/UserFeedbackModal.tsx msgid "Error occurred. Please try again" -msgstr "" +msgstr "发生错误。请重试" #: src/components/Referrals/referralsHelper.js msgid "Only letters, numbers and underscores are allowed." -msgstr "只允许使用字母、数字和下底线" +msgstr "仅允许字母、数字和下划线。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Fulfilling shift request" -msgstr "" +msgstr "履行转移请求" #: src/pages/Referrals/Referrals.tsx msgid "Referral code submitted!" -msgstr "" +msgstr "推荐代码已提交!" #: src/context/PendingTxnsContext/PendingTxnsContext.tsx msgid "Transaction failed due to execution fee validation. <0>View</0>.<1/><2/>Please <3>enable Express trading</3> under settings, which should offer a better experience.<4/><5/>Otherwise, try increasing the max network fee buffer to {0} in <6>settings</6>." -msgstr "" +msgstr "由于执行费用验证,交易失败。<0>查看</0>。<1/><2/>请在设置下 <3>启用快速交易</3>,这将提供更好的体验。<4/><5/>否则,尝试在 <6>设置</6> 中将最大网络费用缓冲增加到 {0}。" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "APY" -msgstr "" - -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx -msgid "Last month" -msgstr "上个月" +msgstr "年利率" #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx msgid "Leave at least {0} {1} for gas" -msgstr "至少为手续费留{0}{1}" +msgstr "至少留下 {0} {1} 用于 gas" #: src/pages/Dashboard/GmxCard.tsx msgid "staked" @@ -7651,94 +7746,94 @@ msgstr "已质押" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx msgid "There is not enough {0} in your account on {1} to send this transaction.<0/><1/><2>Buy or Transfer {2} to {3}</2>" -msgstr "" +msgstr "您的 {1} 账户中没有足够的 {0} 来发送此交易。<0/><1/><2>购买或转移 {2} 到 {3}</2>" #: src/components/Referrals/AffiliatesStats.tsx msgid "Total Volume" -msgstr "总量" +msgstr "总交易量" #: src/components/Exchange/OrderEditor.jsx #: src/components/Exchange/OrderEditor.jsx msgid "Enter new Price" -msgstr "输入新价钱" +msgstr "输入新价格" #: src/pages/Stake/Vesting.tsx msgid "Withdraw from GLP Vault" -msgstr "" +msgstr "从 GLP 金库提取" #: src/components/Exchange/PositionShare.tsx msgid "Image generation error, please refresh and try again." -msgstr "图片生成错误,请刷新并重试" +msgstr "图像生成错误,请刷新并重试。" #: src/components/Synthetics/Claims/ClaimableCardUI.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Price Impact Rebates" -msgstr "" +msgstr "价格影响返利" -#: src/components/SettingsModal/SettingsModal.tsx +#: src/components/SettingsModal/TradingSettings.tsx msgid "Take Profit and Stop Loss orders will be automatically cancelled when the associated position is completely closed. This will only affect newly created TP/SL orders." -msgstr "" +msgstr "当相关仓位完全关闭时,止盈和止损订单将自动取消。这仅影响新创建的 TP/SL 订单。" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed TWAP Swap Part" -msgstr "" +msgstr "TWAP 交换部分失败" #: src/components/Exchange/ExchangeTVChart.jsx msgid "Open {0} {longOrShortText}" -msgstr "" +msgstr "开 {0} {longOrShortText}" #: src/components/InterviewToast/InterviewToast.tsx msgid "Give us your feedback on GMX." -msgstr "" +msgstr "向我们提供对 GMX 的反馈。" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Borrow Fee / Day" -msgstr "" +msgstr "当前借款费用 / 天" #: src/components/Referrals/AffiliatesStats.tsx msgid "Rebates on V1" -msgstr "" +msgstr "V1 返利" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Invalid token indexToken: \"{0}\" collateralToken: \"{1}\"" -msgstr "无效代币索引代币: \"{0}\" 抵押品代币: \"{1}\\" +msgstr "无效代币 indexToken: \"{0}\" collateralToken: \"{1}\"" #: src/components/AddressDropdown/AddressDropdown.tsx #: src/components/Header/AppHeaderLinks.tsx msgid "Alerts" -msgstr "" +msgstr "警报" #: src/components/Exchange/OrdersList.jsx msgid "<0>The price that orders can be executed at may differ slightly from the chart price, as market orders update oracle prices, while limit/trigger orders do not.</0><1>This can also cause limit/triggers to not be executed if the price is not reached for long enough. <2>Read more</2>.</1>" -msgstr "" +msgstr "<0>订单执行价格可能与图表价格略有不同,因为市价订单更新预言机价格,而限价/触发订单则不更新。</0><1>如果价格未达到足够长时间,这也可能导致限价/触发订单无法执行。<2>阅读更多</2>。</1>" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeFi Portfolio Tracker" -msgstr "Defi投资组合追踪器" +msgstr "DeFi 投资组合追踪器" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Current Funding Fee / Day" -msgstr "" +msgstr "当前资金费用 / 天" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "365d estimate based on past {daysConsidered}d APY." -msgstr "" +msgstr "基于过去 {daysConsidered} 天年利率的 365 天估算。" #: src/components/TokenCard/TokenCard.tsx msgid "Arbitrum APR:" -msgstr "Arbitrum年利率" +msgstr "Arbitrum 年利率:" #: src/pages/Jobs/Jobs.jsx msgid "Job Openings" -msgstr "" +msgstr "职位空缺" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Projects integrated with GMX." -msgstr "与GMX整合的项目" +msgstr "与 GMX 整合的项目。" #: src/components/Stake/GMXAprTooltip.tsx msgid "Escrowed GMX APR" -msgstr "托管的GMX年利率" +msgstr "托管 GMX 年利率" #: src/components/Exchange/TradeHistory.jsx msgid "Initial collateral" @@ -7746,11 +7841,11 @@ msgstr "初始抵押品" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Activate 1CT (One-Click Trading)" -msgstr "" +msgstr "激活 1CT(一键交易)" #: src/components/AprInfo/AprInfo.tsx msgid "The Bonus APR will be airdropped as {airdropTokenTitle} tokens. <0>Read more</0>." -msgstr "" +msgstr "奖金年利率将作为 {airdropTokenTitle} 代币空投。<0>阅读更多</0>。" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx @@ -7766,23 +7861,23 @@ msgstr "钱包" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx msgid "You have a pending transfer from {sender}." -msgstr "您有一个来自{sender}的待处理转账" +msgstr "您有一个来自 {sender} 的待处理转移。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Once the mark price hits the stop price, the order will attempt to execute." -msgstr "" +msgstr "一旦标记价格达到止损价格,订单将尝试执行。" #: src/domain/synthetics/trade/utils/validation.ts msgid "Enter a trigger price" -msgstr "" +msgstr "输入触发价格" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Vested GLP not withdrawn" -msgstr "归属的GLP未被撤回" +msgstr "已授权 GLP 未提取" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "<0>every</0> {minutes} minutes{0}" -msgstr "" +msgstr "<0>每</0> {minutes} 分钟{0}" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/PositionEditor.jsx @@ -7800,114 +7895,116 @@ msgstr "入场价格" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "Price change to Liq." -msgstr "" +msgstr "价格变化至清算" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "STIP.b LP incentives" -msgstr "" +msgstr "STIP.b LP 激励" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Cancel Stop Loss" -msgstr "" +msgstr "取消止损" #: src/components/Exchange/PositionsList.jsx msgid "Click on the Position to select its market, then use the trade box to increase your Position Size if needed." -msgstr "" +msgstr "点击仓位选择其市场,然后使用交易框增加您的仓位规模(如需要)。" #: src/domain/synthetics/orders/utils.tsx msgid "Limit Decrease" -msgstr "" +msgstr "限价减少" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Stabilize Protocol" -msgstr "" +msgstr "稳定协议" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Enter a valid coin names" -msgstr "" - -#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx -msgid "Cumulative PnL: <0>{0}</0>" -msgstr "" +msgstr "输入有效的币种名称" #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx #: src/components/Synthetics/PoolSelector2/PoolSelector2.tsx msgid "Long Liq." -msgstr "" +msgstr "多头清算" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GBC Kudai AI Agent" -msgstr "" +msgstr "GBC Kudai AI 代理" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "You have {0} esGMX (IOU) tokens." -msgstr "你有{0}个esGMX (IOU) 代币" +msgstr "您有 {0} esGMX (IOU) 代币。" #: src/domain/synthetics/orders/utils.tsx msgid "There is currently a high swap price impact for the order swap path." -msgstr "" +msgstr "当前订单交换路径的价格影响较高。" #: src/components/Exchange/PositionDropdown.tsx msgid "Increase Size (Stop Market)" +msgstr "增加规模(止损市价)" + +#: src/components/Synthetics/TradeboxPoolWarnings/TradeboxPoolWarnings.tsx +msgid "You have an existing position in the {0} market pool.<0>Switch to {1} market pool</0>" msgstr "" #: src/components/Synthetics/TradeBox/TradeBoxRows/LimitAndTPSLRows.tsx msgid "Stop Loss PnL" -msgstr "" +msgstr "止损盈亏" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "Withdrawing {balanceFormatted} to Main Account" -msgstr "" +msgstr "提取 {balanceFormatted} 到主账户" #: src/components/Synthetics/SettleAccruedFundingFeeModal/SettleAccruedFundingFeeModal.tsx msgid "Settling..." -msgstr "" +msgstr "结算中..." #: src/components/Exchange/UsefulLinks.tsx #: src/components/Header/AppHeaderLinks.tsx +#: src/components/SideNav/SideNav.tsx +#: src/pages/LeaderboardPage/LeaderboardPage.tsx msgid "Leaderboard" msgstr "排行榜" #: src/domain/synthetics/orders/utils.tsx msgid "There may not be enough liquidity to execute parts of this order when the time conditions are met." -msgstr "" +msgstr "当时间条件满足时,可能没有足够的流动性来执行此订单的部分。" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx msgid "The PnL ($) compared to the capital used.<0/><1/>The capital used is calculated as the highest value of [<2>sum of collateral of open positions - realized PnL + period start pending PnL</2>]." -msgstr "" +msgstr "与所用资金相比的盈亏 ($)。<0/><1/>所用资金计算为 [<2>未平仓仓位抵押品总和 - 已实现盈亏 + 期初待处理盈亏</2>] 的最高值。" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued" -msgstr "" +msgstr "已累积" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Liquidation price is influenced by fees and collateral value." -msgstr "" +msgstr "清算价格受费用和抵押品价值影响。" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "No data available" -msgstr "" +msgstr "无可用数据" #: src/pages/LeaderboardPage/components/CompetitionCountdown.tsx msgid "{prefix} <0>{text}</0>" -msgstr "" +msgstr "{prefix} <0>{text}</0>" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Failed to update settings" -msgstr "" +msgstr "更新设置失败" #: src/components/Synthetics/TradeBox/TradeBoxRows/PriceImpactFeesRow.tsx msgid "Positive Price Impact / Fees" -msgstr "" +msgstr "正价格影响 / 费用" #: src/components/Exchange/PositionShare.tsx msgid "Tweet" -msgstr "推特" +msgstr "推文" #: src/components/Synthetics/MarketTokenSelector/MarketTokenSelector.tsx msgid "SELL…" -msgstr "" +msgstr "出售…" #: src/components/Exchange/ConfirmationBox.jsx msgid "Confirm Swap" @@ -7915,31 +8012,31 @@ msgstr "确认交换" #: src/components/Synthetics/PositionSeller/PositionSeller.tsx msgid "Keep leverage is not available as Position exceeds max. allowed leverage. <0>Read more</0>." -msgstr "" +msgstr "保持杠杆不可用,因为仓位超过最大允许杠杆。<0>阅读更多</0>。" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Add {0} to Metamask" -msgstr "" +msgstr "将 {0} 添加到 Metamask" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Failed Stop Loss" -msgstr "" +msgstr "止损失败" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily Profit" -msgstr "" +msgstr "每日利润" #: src/pages/ClaimEsGmx/ClaimEsGmx.jsx msgid "The esGMX tokens can be staked or vested at any time." -msgstr "esGMX代币可以在任何时候被质押或授权" +msgstr "esGMX 代币可以随时质押或授权。" #: src/pages/BuyGMX/BuyGMX.tsx msgid "Buy ETH directly on Arbitrum or transfer it there." -msgstr "" +msgstr "直接在 Arbitrum 上购买 ETH 或转移到那里。" #: src/components/MissedCoinsModal/MissedCoinsModal.tsx msgid "Max 110 symbols exceeded" -msgstr "" +msgstr "超过最大 110 个符号" #: src/components/Errors/errorToasts.tsx #: src/components/Errors/errorToasts.tsx @@ -7948,11 +8045,11 @@ msgstr "交易失败" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "COLLATERAL" -msgstr "" +msgstr "抵押品" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued price impact rebates. They will become claimable after approximately ten days.<0/><1/><2>Read more</2>." -msgstr "" +msgstr "已累积价格影响返利。大约十天后可领取。<0/><1/><2>阅读更多</2>。" #: src/components/Exchange/PositionEditor.jsx #: src/pages/Stake/VesterDepositModal.tsx @@ -7968,41 +8065,46 @@ msgstr "净率" #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx #: src/pages/LeaderboardPage/components/CompetitionPrizes.tsx msgid "2nd Place" -msgstr "" +msgstr "第二名" +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "LAST PRICE" -msgstr "" +msgstr "最新价格" #: src/components/Synthetics/TradeBox/ExpressTradingWarningCard.tsx msgid "Re-sign" -msgstr "" +msgstr "重新签名" #: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/AccountDashboard/HistoricalLists.tsx -#: src/pages/SyntheticsPage/SyntheticsPage.tsx msgid "Orders ({ordersCount})" -msgstr "" +msgstr "订单 ({ordersCount})" #: src/components/TVChartContainer/constants.ts msgid "Limit - Long Inc." -msgstr "" +msgstr "限价 - 多头增加" #: src/pages/Stake/ClaimModal.tsx msgid "<0>Delegate your undelegated {0} GMX DAO</0>voting power before claiming." -msgstr "" +msgstr "<0>在领取前委托您未委托的 {0} GMX DAO</0> 投票权。" #: src/components/Synthetics/TradeBox/hooks/useCollateralInTooltipContent.tsx msgid "You will be long {indexSymbol} from your long position, as well as from your {collateralSymbol} collateral. The liquidation price is higher compared to using a stablecoin as collateral since the worth of the collateral will change with its price." -msgstr "" +msgstr "您将从您的多头仓位以及 {collateralSymbol} 抵押品中做多 {indexSymbol}。与使用稳定币作为抵押品相比,清算价格更高,因为抵押品的价值会随其价格变化。" + +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +#: src/pages/Stake/Vesting.tsx +msgid "<0>{0}</0> tokens have been converted to GMX from the <1>{1}</1> esGMX deposited for vesting." +msgstr "<0>{0}</0> 代币已从 <1>{1}</1> esGMX 存款转换为 GMX 用于归属。" #: src/components/Synthetics/StatusNotification/GmStatusNotification.tsx msgid "Sell order cancelled" -msgstr "" +msgstr "出售订单已取消" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx -msgid "Last 30 days" -msgstr "" +#~ msgid "Last 30 days" +#~ msgstr "过去 30 天" #: src/components/DepthChart/DepthChartTooltip.tsx #: src/components/Synthetics/ExecutionPriceRow.tsx @@ -8012,11 +8114,7 @@ msgstr "执行价格" #: src/components/Exchange/OrdersList.jsx msgid "The price that the order can be executed at may differ slightly from the chart price as market orders can change the price while limit / trigger orders cannot." -msgstr "订单可以执行的价格可能与图表价格略有不同,因为市价订单可以改变价格,而限定/触发订单不能" - -#: src/components/Synthetics/Claims/ClaimsHistory.tsx -msgid "Claims History" -msgstr "" +msgstr "订单执行价格可能与图表价格略有不同,因为市价订单可以改变价格,而限价/触发订单不能。" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8029,10 +8127,14 @@ msgstr "关于" #: src/components/Synthetics/Claims/SettleAccruedCard.tsx msgid "Accrued positive funding fees in positions not yet claimable.<0/><1/>They become available after modifying the position by increasing or decreasing it, depositing or withdrawing collateral, or settling the fees using the \"Settle\" button." -msgstr "" +msgstr "仓位中已累积的正资金费用尚未可领取。<0/><1/>通过增加或减少仓位、存入或提取抵押品,或使用“结算”按钮结算费用后,它们将可用。" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx msgid "Fee values do not include incentives." +msgstr "费用值不包括激励。" + +#: src/pages/Dashboard/DashboardV2.tsx +msgid "For detailed stats" msgstr "" #: src/components/Referrals/AddAffiliateCode.jsx @@ -8041,40 +8143,41 @@ msgstr "生成推荐代码" #: src/components/Synthetics/HighPriceImpactOrFeesWarningCard/HighPriceImpactOrFeesWarningCard.tsx msgid "High Swap Price Impact" -msgstr "" +msgstr "高交换价格影响" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/SwapBox.jsx #: src/components/Exchange/SwapBox.jsx +#: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/components/Synthetics/SwapCard/SwapCard.tsx #: src/components/Synthetics/TradeBox/tradeboxConstants.tsx #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Swap" -msgstr "交易" +msgstr "交换" #: src/domain/synthetics/orders/utils.tsx msgid "long" -msgstr "" +msgstr "多头" #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx msgid "24h High" -msgstr "" +msgstr "24 小时高点" #: src/components/Referrals/ReferralCodeWarnings.tsx msgid "This code is not yet registered on {nonTakenNetworkNames}, you will not receive rebates there.<0/><1/>Switch your network to create this code on {nonTakenNetworkNames}." -msgstr "这个代码还没有在{nonTakenNetworkNames}上注册,你将不会在那里获得返利<0/><1/>切换你的网络以在{nonTakenNetworkNames}上创建这个代码" +msgstr "此代码尚未在 {nonTakenNetworkNames} 上注册,您将无法在那里获得返利。<0/><1/>切换您的网络以在 {nonTakenNetworkNames} 上创建此代码。" #: src/components/Exchange/TradeHistory.jsx msgid "Deposit {0} USD into {1} {longOrShortText}" -msgstr "存取{0} USD 至 {1} {longOrShortText}" +msgstr "存入 {0} USD 到 {1} {longOrShortText}" #: src/pages/Dashboard/GmxCard.tsx msgid "Distribution" -msgstr "" +msgstr "分配" -#: src/components/NetworkDropdown/NetworkDropdown.tsx +#: src/components/SideNav/LanguageNavItem.tsx msgid "Language" msgstr "语言" @@ -8084,15 +8187,15 @@ msgstr "完成转移" #: src/pages/Home/Home.tsx msgid "Total Users" -msgstr "用户总数" +msgstr "总用户" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "Net Value: Initial Collateral + PnL - Borrow Fee - Negative Funding Fee - Close Fee" -msgstr "" +msgstr "净值:初始抵押品 + 盈亏 - 借款费用 - 负资金费用 - 关闭费用" #: src/domain/synthetics/sidecarOrders/utils.ts msgid "Trigger price below lowest limit price" -msgstr "" +msgstr "触发价格低于最低限价" #: src/components/Exchange/PositionDropdown.tsx #: src/components/Exchange/PositionShare.tsx @@ -8102,59 +8205,59 @@ msgstr "分享仓位" #: src/components/Exchange/PositionEditor.jsx #: src/components/Exchange/PositionSeller.jsx msgid "Min leverage: 1.1x" -msgstr "最小杠杆率:1.1x" +msgstr "最小杠杆:1.1x" #: src/components/Exchange/FeesTooltip.tsx msgid "Deposit Fee" -msgstr "" +msgstr "存款费用" #: src/domain/synthetics/orders/getPositionOrderError.tsx msgid "Enter a new size or price" -msgstr "" +msgstr "输入新规模或价格" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max pool amount exceeded" -msgstr "" +msgstr "超过最大池子金额" #: src/components/Exchange/SwapBox.jsx msgid "The borrow fee is calculated as (assets borrowed) / (total assets in pool) * 0.01% per hour." -msgstr "借款费用的计算方法是 (已借资产) / (池中总资产) * 0.01%/小时" +msgstr "借款费用计算为 (已借资产) / (池中总资产) * 0.01% 每小时。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Unknown order" -msgstr "" +msgstr "未知订单" #: src/pages/Jobs/Jobs.jsx msgid "No open positions at GMX currently" -msgstr "目前在GMX没有未结头寸" +msgstr "目前 GMX 无未平仓位" #: src/domain/synthetics/orders/useOrderTxnCallbacks.tsx msgid "Max Action Count Reached. <0>Click here</0> to update." -msgstr "" +msgstr "达到最大操作次数。<0>点击这里</0> 更新。" #: src/components/Exchange/TradeHistory.jsx msgid "Execute Order: {orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, Price: {executionPriceDisplay} USD" -msgstr "" +msgstr "执行订单:{orderTypeText} {0} {longShortDisplay} {sizeDeltaDisplay} USD, 价格:{executionPriceDisplay} USD" #: src/components/Synthetics/MarketStats/components/CompositionTable.tsx msgid "{column}" -msgstr "" +msgstr "{column}" #: src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx msgid "You do not have any eligible trade during the competition window." -msgstr "" +msgstr "您在竞赛窗口期间没有任何符合条件的交易。" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "Execution prices for increasing longs and<0/>decreasing shorts." -msgstr "" +msgstr "增加多头和<0/>减少空头的执行价格。" -#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +#: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx #: src/pages/Pools/PoolsTimeRangeFilter.tsx msgid "Last 30d" -msgstr "" +msgstr "过去 30 天" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Dashboards" @@ -8162,31 +8265,35 @@ msgstr "仪表板" #: src/components/Synthetics/TradeBox/hooks/useTradeButtonState.tsx msgid "Create TWAP {0} order" -msgstr "" +msgstr "创建 TWAP {0} 订单" #: src/domain/synthetics/trade/utils/validation.ts msgid "Leftover collateral below {0} USD" -msgstr "" +msgstr "剩余抵押品低于 {0} USD" #: src/domain/synthetics/positions/utils.ts msgid "trigger" -msgstr "" +msgstr "触发" #: src/components/Glp/GlpSwap.jsx msgid "Please <0>read here</0> for more information." -msgstr "" +msgstr "请 <0>在此阅读</0> 更多信息。" + +#: src/components/Synthetics/DateRangeSelect/DateRangeSelect.tsx +msgid "7d" +msgstr "7 天" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Rage Trade" -msgstr "" +msgstr "Rage Trade" #: src/pages/Home/Home.tsx msgid "Trade BTC, ETH, AVAX and other top cryptocurrencies with up to 100x leverage directly from your wallet" -msgstr "" +msgstr "直接从您的钱包使用高达 100x 杠杆交易 BTC、ETH、AVAX 和其他顶级加密货币" #: src/pages/Stake/ClaimModal.tsx msgid "Claim GMX Rewards" -msgstr "" +msgstr "领取 GMX 奖励" #: src/components/Referrals/JoinReferralCode.tsx #: src/components/Referrals/JoinReferralCode.tsx @@ -8194,19 +8301,18 @@ msgid "Enter Referral Code" msgstr "输入推荐代码" #: src/domain/synthetics/common/incentivesAirdropMessages.ts -#: src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx msgid "EIP-4844, 20-27 Mar" -msgstr "" +msgstr "EIP-4844, 3 月 20-27 日" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/NftWallet/NftWallet.jsx msgid "Transfer failed." -msgstr "转移失败" +msgstr "转移失败。" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit amount is insufficient to bring leverage below the max allowed leverage of 100x" -msgstr "" +msgstr "存款金额不足以将杠杆降低到最大允许杠杆 100x 以下" #: src/components/Exchange/ConfirmationBox.jsx #: src/components/Exchange/ConfirmationBox.jsx @@ -8225,36 +8331,37 @@ msgstr "" #: src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Mark Price" -msgstr "标价" +msgstr "标记价格" #: src/components/Synthetics/GmAssetDropdown/GmAssetDropdown.tsx msgid "Open {marketName} in Explorer" -msgstr "" +msgstr "在 Explorer 中打开 {marketName}" #: src/components/Exchange/TradeHistory.jsx msgid "Partial Liquidation" -msgstr "部分清偿" +msgstr "部分清算" +#: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/components/Synthetics/TVChart/ChartHeader.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "24h Volume" -msgstr "24小时数量" +msgstr "24 小时交易量" #: src/pages/Dashboard/DashboardV2.tsx msgid "Total Stats" -msgstr "" +msgstr "总统计" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Frequency" -msgstr "" +msgstr "频率" #: src/components/Exchange/PositionEditor.jsx msgid "Enable deposit sent." -msgstr "" +msgstr "启用存款已发送。" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Withdrawing {0} from {positionText}" -msgstr "" +msgstr "从 {positionText} 提取 {0}" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Community Projects" @@ -8263,40 +8370,40 @@ msgstr "社区项目" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx #: src/domain/synthetics/orders/utils.tsx msgid "Limit Swap" -msgstr "" +msgstr "限价交换" #: src/components/DepthChart/DepthChartTooltip.tsx msgid "No liquidity is available for increasing longs for<0/>this size. Max long size: {0}<1/><2/>Execution prices for decreasing shorts." -msgstr "" +msgstr "此规模的增加多头没有可用流动性。最大多头规模:{0}<1/><2/>减少空头的执行价格。" #: src/components/Synthetics/ChartTokenSelector/ChartTokenSelector.tsx msgid "24H VOL." -msgstr "" +msgstr "24 小时交易量" #: src/components/Glp/GlpSwap.jsx #: src/components/Glp/GlpSwap.jsx msgid "Sell for {0}" -msgstr "以{0}出售" +msgstr "出售为 {0}" #: src/components/Exchange/PositionSeller.jsx msgid "Fees are higher than Collateral" -msgstr "" +msgstr "费用高于抵押品" #: src/components/Referrals/TradersStats.tsx msgid "You will receive a {currentTierDiscount}% discount on opening and closing fees." -msgstr "" +msgstr "您将在开仓和平仓费用上获得 {currentTierDiscount}% 折扣。" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX team" -msgstr "" +msgstr "与 GMX 团队匿名聊天" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "GMX Market Token Price Chart" -msgstr "" +msgstr "GMX 市场代币价格图表" #: src/pages/LeaderboardPage/components/LeaderboardContainer.tsx msgid "Top Addresses" -msgstr "" +msgstr "顶级地址" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8305,55 +8412,59 @@ msgstr "继续" #: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx msgid "Daily and Cumulative PnL" -msgstr "" +msgstr "每日和累计盈亏" #: src/components/Exchange/PositionEditor.jsx msgid "Edit {longOrShortText} {0}" -msgstr "" +msgstr "编辑 {longOrShortText} {0}" #: src/domain/synthetics/orders/utils.tsx msgid "short" -msgstr "" +msgstr "空头" #: src/components/RatingToast/RatingToast.tsx msgid "Very likely" -msgstr "" +msgstr "很可能" #: src/components/Exchange/ConfirmationBox.jsx msgid "I am aware of the trigger orders" -msgstr "我了解触发的指令" +msgstr "我了解触发订单" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "{count, plural, one {Order} other {# Orders}}" -msgstr "" +msgstr "{count, plural, one {订单} other {# 订单}}" #: src/components/Referrals/AffiliatesStats.tsx msgid "Volume on V1" -msgstr "" +msgstr "V1 交易量" #: src/domain/synthetics/common/incentivesAirdropMessages.ts msgid "Avalanche trading incentives" -msgstr "" +msgstr "Avalanche 交易激励" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Market Decrease" -msgstr "要求市场减少" +msgstr "请求市场减少" #: src/domain/synthetics/trade/utils/validation.ts #: src/domain/synthetics/trade/utils/validation.ts msgid "Max. Leverage exceeded" -msgstr "" +msgstr "超过最大杠杆" #: src/components/Exchange/OrderEditor.jsx msgid "Price is above Mark Price" -msgstr "价格高于标价" +msgstr "价格高于标记价格" #: src/components/Synthetics/PositionItem/PositionItem.tsx msgid "This position could be liquidated, excluding any price movement, due to funding and borrowing fee rates reducing the position's collateral over time." -msgstr "" +msgstr "此仓位可能被清算(不包括任何价格变动),因为资金和借款费用率会随着时间减少仓位的抵押品。" -#: src/components/SettingsModal/SettingsModal.tsx -msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#: src/components/SettingsModal/TradingSettings.tsx +#~ msgid "Your wallet, your keys. You sign each transaction off-chain. Trades use GMX-sponsored premium RPCs for reliability, even during network congestion. Gas payments in USDC or WETH." +#~ msgstr "您的钱包,您的密钥。您在链下签名每个交易。交易使用 GMX 赞助的高级 RPC 以确保可靠性,即使在网络拥堵时。Gas 支付使用 USDC 或 WETH。" + +#: src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +msgid "PNG" msgstr "" #: src/components/Synthetics/TradeHistory/TradeHistoryRow/utils/position.ts @@ -8376,55 +8487,55 @@ msgstr "订单执行价格" #: src/components/Synthetics/PositionSeller/rows/AllowedSlippageRow.tsx #: src/components/Synthetics/TradeBox/TradeBoxRows/AllowedSlippageRow.tsx msgid "Slippage is too high" -msgstr "" +msgstr "滑点过高" #: src/components/Synthetics/MarketsList/NetFeeHeaderTooltipContent.tsx msgid "Net rate combines funding and borrowing fees but excludes open, swap or impact fees.<0/><1/>Funding fees help to balance longs and shorts and are exchanged between both sides. <2>Read more</2>.<3/><4/>Borrowing fees help ensure available liquidity. <5>Read more</5>." -msgstr "净率结合了资金费用和借款费用,但不包括开放、交换或影响费用。<0/><1/>资金费用有助于平衡多头和空头,并在双方之间交换。<2>阅读更多</2>。<3/><4/>借款费用有助于确保可用流动性。<5>阅读更多</5>。" +msgstr "净率结合了资金费用和借款费用,但不包括开仓、交换或影响费用。<0/><1/>资金费用有助于平衡多头和空头,并在双方之间交换。<2>阅读更多</2>。<3/><4/>借款费用有助于确保可用流动性。<5>阅读更多</5>。" #: src/components/Synthetics/AccruedPositionPriceImpactRebateModal/AccruedPositionPriceImpactRebateModal.tsx msgid "Accrued Price Impact Rebates" -msgstr "" +msgstr "已累积价格影响返利" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "Yesterday" -msgstr "" +msgstr "昨天" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Request Deposit" -msgstr "要求押金" +msgstr "请求存款" #: src/components/Exchange/PositionEditor.jsx msgid "Deposit not enough to cover fees" -msgstr "" +msgstr "存款不足以覆盖费用" #: src/components/Synthetics/TwapRows/TwapRows.tsx msgid "Number of Parts" -msgstr "" +msgstr "部分数量" #: src/domain/synthetics/orders/cancelOrdersTxn.ts msgid "Cancelling {ordersText}" -msgstr "" +msgstr "取消 {ordersText}" #: src/context/SubaccountContext/SubaccountContextProvider.tsx msgid "Deactivated" -msgstr "" +msgstr "已停用" #: src/pages/Ecosystem/Ecosystem.tsx msgid "Ecosystem Projects" -msgstr "" +msgstr "生态系统项目" #: src/domain/synthetics/orders/useDisabledCancelMarketOrderMessage.ts msgid "Market order will be cancellable in ..." -msgstr "" +msgstr "市价订单将在 ... 可取消" #: src/domain/synthetics/claimHistory/claimPriceImpactRebate.ts msgid "Price Impact Rebate Claimed" -msgstr "" +msgstr "价格影响返利已领取" #: src/components/InterviewModal/InterviewModal.tsx msgid "Anonymous chat with GMX" -msgstr "" +msgstr "与 GMX 匿名聊天" #: src/components/Exchange/OrdersList.jsx #: src/components/Exchange/OrdersList.jsx @@ -8436,35 +8547,35 @@ msgstr "" #: src/components/Synthetics/TradeHistory/keys.ts #: src/domain/synthetics/positions/utils.ts msgid "Limit" -msgstr "限制" +msgstr "限价" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "You will receive at least {toAmountText} if this order is executed. This price is being updated in real time based on swap fees and price impact." -msgstr "" +msgstr "如果此订单执行,您将至少收到 {toAmountText}。此价格基于交换费用和价格影响实时更新。" #: src/components/Synthetics/ExecutionPriceRow.tsx msgid "Acceptable price does not apply to stop loss orders, as they will be executed regardless of any price impact." -msgstr "" +msgstr "可接受价格不适用于止损订单,因为无论任何价格影响,它们都会执行。" #: src/components/InterviewModal/InterviewModal.tsx msgid "We'll then schedule a chat or interview with you. As a thank you, you'll receive <0>100 <1/></0> for providing your feedback." -msgstr "" +msgstr "然后我们将安排与您的聊天或访谈。作为感谢,您将收到 <0>100 <1/></0> 以提供您的反馈。" #: src/domain/synthetics/positions/utils.ts msgid "limit" -msgstr "" +msgstr "限价" #: src/components/SettingsModal/SettingsModal.tsx msgid "Trading Settings" -msgstr "" +msgstr "交易设置" #: src/components/Exchange/OrdersToa.jsx msgid "<0>Insufficient liquidity to execute the order</0><1>The mark price which is an aggregate of exchange prices did not reach the specified price</1><2>The specified price was reached but not long enough for it to be executed</2><3>No keeper picked up the order for execution</3>" -msgstr "执行订单的流动性不足</0><1>作为交易所价格总和的标记价格未达到指定价格</1><2>已达到指定价格但时间不足以执行 </2><3>没有守门员领取执行令</3>" +msgstr "<0>流动性不足以执行订单</0><1>作为交易所价格总和的标记价格未达到指定价格</1><2>已达到指定价格但时间不足以执行</2><3>没有 keeper 领取订单执行</3>" #: src/components/Exchange/ConfirmationBox.jsx msgid "Your position's collateral after deducting fees:" -msgstr "扣除费用后,你的头寸的抵押品" +msgstr "扣除费用后您的仓位抵押品:" #: src/components/Glp/GlpSwap.jsx msgid "Selling..." @@ -8472,7 +8583,7 @@ msgstr "出售中..." #: src/domain/synthetics/orders/utils.tsx msgid "The order may not execute as the max. allowed leverage is exceeded. Consider decreasing the order's leverage by editing and decreasing its size. <0>Read more</0>." -msgstr "" +msgstr "订单可能无法执行,因为超过最大允许杠杆。考虑通过编辑和减少其规模来降低订单杠杆。<0>阅读更多</0>。" #: src/components/Exchange/PositionSeller.jsx #: src/components/Exchange/PositionSeller.jsx @@ -8486,7 +8597,7 @@ msgstr "" #: src/components/Synthetics/TradeBox/TradeBox.tsx #: src/components/Synthetics/TradeInfoIcon/TradeInfoIcon.tsx msgid "Close" -msgstr "收盘" +msgstr "关闭" #: src/pages/Ecosystem/Ecosystem.tsx #: src/pages/Ecosystem/Ecosystem.tsx @@ -8499,52 +8610,52 @@ msgstr "链接" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx #: src/pages/Dashboard/OverviewCard.tsx msgid "Long Positions" -msgstr "开仓做多" +msgstr "多头仓位" #: src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx msgid "Depositing {0} to {positionText}" -msgstr "" +msgstr "存入 {0} 到 {positionText}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Max Network Fee" -msgstr "" +msgstr "最大网络费用" #: src/domain/tokens/approveTokens.tsx msgid "Approval was cancelled" -msgstr "核准已被取消" +msgstr "批准已取消" #: src/components/Synthetics/MarketNetFee/MarketNetFee.tsx msgid "{longOrShort} positions do not pay a funding fee and pay a borrow fee of {borrowRate} per hour." -msgstr "" +msgstr "{longOrShort} 仓位不支付资金费用,并支付 {borrowRate} 每小时的借款费用。" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Increase active: {0}, executed: {1}, cancelled: {2}" -msgstr "提升活跃度:{0},执行。{1},取消了。{2}" +msgstr "增加活跃度:{0}, 已执行:{1}, 已取消:{2}" #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx #: src/components/Synthetics/NetworkFeeRow/NetworkFeeRow.tsx msgid "Maximum network fee paid to the network. This fee is a blockchain cost not specific to GMX, and it does not impact your collateral." -msgstr "" +msgstr "支付给网络的最大网络费用。此费用是区块链成本,与 GMX 无关,且不影响您的抵押品。" #: src/pages/Ecosystem/Ecosystem.tsx msgid "GMX Pages" -msgstr "GMX页面" +msgstr "GMX 页面" #: src/components/Exchange/SwapBox.jsx msgid "{0} is required for collateral." -msgstr "{0}是需要抵押品的" +msgstr "{0} 需要作为抵押品。" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "Decentralized Options Protocol" -msgstr "去中心化选项协议" +msgstr "去中心化期权协议" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Swap Part" -msgstr "" +msgstr "更新 TWAP 交换部分" #: src/components/Synthetics/TradeHistory/keys.ts msgid "Update TWAP Part" -msgstr "" +msgstr "更新 TWAP 部分" #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx #: src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -8553,7 +8664,7 @@ msgstr "完成账户转移" #: src/pages/Stake/ClaimModal.tsx msgid "Claim Rewards" -msgstr "" +msgstr "领取奖励" #: src/components/AddressDropdown/AddressDropdown.tsx msgid "Copy Address" @@ -8561,29 +8672,29 @@ msgstr "复制地址" #: src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx msgid "Pending Transfer Approval" -msgstr "" +msgstr "待转移批准" #: src/components/Synthetics/OrderItem/OrderItem.tsx msgid "<0>{fromTokenText} </0>{fromTokenIcon}<1> to </1>{0}{toTokenIcon}{1}" -msgstr "" +msgstr "<0>{fromTokenText} </0>{fromTokenIcon}<1> 到 </1>{0}{toTokenIcon}{1}" #: src/components/DepthChart/DepthChart.tsx msgid "ORACLE PRICE" -msgstr "" +msgstr "预言机价格" #: src/pages/Dashboard/DashboardV2.tsx -msgid "For detailed stats:" -msgstr "" +#~ msgid "For detailed stats:" +#~ msgstr "详细统计:" #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/components/Synthetics/GmList/GmTokensTotalBalanceInfo.tsx #: src/pages/PoolsDetails/PoolsDetailsHeader.tsx msgid "Total Earned Fees" -msgstr "" +msgstr "总赚取费用" #: src/components/Synthetics/OrderEditor/OrderEditor.tsx msgid "Enter a ratio" -msgstr "" +msgstr "输入比率" #: src/pages/Dashboard/AssetDropdown.tsx msgid "Proof of Reserves" @@ -8591,32 +8702,32 @@ msgstr "储备证明" #: src/pages/AccountDashboard/GeneralPerformanceDetails.tsx msgid "General Performance Details" -msgstr "" +msgstr "一般性能详情" #: src/pages/Stake/VesterWithdrawModal.tsx msgid "<0>This will withdraw and unreserve all tokens as well as pause vesting.<1/><2/>esGMX tokens that have been converted to GMX will be claimed and remain as GMX tokens.<3/><4/>To claim GMX tokens without withdrawing, use the \"Claim\" button under the Total Rewards section.<5/><6/></0>" -msgstr "" +msgstr "<0>这将提取并取消保留所有代币并暂停授权。<1/><2/>已转换为 GMX 的 esGMX 代币将被领取并保留为 GMX 代币。<3/><4/>要领取 GMX 代币而不提取,请使用总奖励部分下的“领取”按钮。<5/><6/></0>" #: src/pages/OrdersOverview/OrdersOverview.jsx msgid "Price conditions are met" -msgstr "符合价格条件" +msgstr "价格条件已满足" #: src/pages/PoolsDetails/PoolsDetails.tsx msgid "Backing Composition" -msgstr "" +msgstr "支持组成" #: src/pages/Ecosystem/ecosystemConstants.tsx msgid "DeBank" -msgstr "" +msgstr "DeBank" #: src/components/OldSubaccountWithdraw/OldSubaccountWithdraw.tsx msgid "You have {balanceFormatted} remaining in your old version 1CT subaccount." -msgstr "" +msgstr "您的旧版 1CT 子账户中剩余 {balanceFormatted}。" #: src/pages/Stake/GmxAndVotingPowerCard.tsx msgid "Unstake GMX" -msgstr "" +msgstr "取消质押 GMX" #: src/pages/Stake/VesterDepositModal.tsx msgid "Deposit failed!" -msgstr "" +msgstr "存款失败!" diff --git a/src/pages/AccountDashboard/AccountDashboard.tsx b/src/pages/AccountDashboard/AccountDashboard.tsx index 8dbf49ae13..470d285946 100644 --- a/src/pages/AccountDashboard/AccountDashboard.tsx +++ b/src/pages/AccountDashboard/AccountDashboard.tsx @@ -2,13 +2,13 @@ import { Trans, t } from "@lingui/macro"; import { useMedia } from "react-use"; import { isAddress } from "viem"; -import { getChainName } from "config/chains"; import { SyntheticsStateContextProvider } from "context/SyntheticsStateContext/SyntheticsStateContextProvider"; import { useChainId } from "lib/chains"; import AddressView from "components/AddressView/AddressView"; -import Footer from "components/Footer/Footer"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import PageTitle from "components/PageTitle/PageTitle"; +import { ChainContentHeader } from "components/Synthetics/ChainContentHeader/ChainContentHeader"; import { DailyAndCumulativePnL } from "./DailyAndCumulativePnL"; import { GeneralPerformanceDetails } from "./GeneralPerformanceDetails"; @@ -22,57 +22,55 @@ export function AccountDashboard() { const { chainId, version, account } = usePageParams(initialChainId); - const networkName = getChainName(chainId); - const versionName = version === 2 ? "V2" : "V1"; + const header = <ChainContentHeader />; if (!isAddress(account!)) { return ( - <div className="default-container page-layout"> - <PageTitle title={t`GMX ${versionName} Account`} chainId={chainId} /> - <div className="text-center text-red-500"> - <Trans>Invalid address. Please make sure you have entered a valid Ethereum address</Trans> + <AppPageLayout header={header}> + <div className="default-container page-layout"> + <PageTitle title={t`GMX Account`} className="p-12" /> + <div className="text-center text-red-500"> + <Trans>Invalid address. Please make sure you have entered a valid Ethereum address</Trans> + </div> </div> - </div> + </AppPageLayout> ); } return ( - <div className="default-container page-layout"> - <PageTitle - chainId={chainId} - title={t`GMX ${versionName} Account`} - subtitle={ - <> - <div className="flex flex-wrap items-center gap-4"> - <Trans> - GMX {versionName} {networkName} information for account: - </Trans> - <AddressView noLink address={account} size={20} breakpoint={isMobile ? "XL" : undefined} /> - </div> - <VersionNetworkSwitcherRow account={account} chainId={chainId} version={version} /> - </> - } - /> - - {version === 2 && ( - <SyntheticsStateContextProvider overrideChainId={chainId} pageType="accounts" skipLocalReferralCode={false}> - <div className="flex flex-col gap-20"> - <div className="flex flex-row flex-wrap gap-20"> - <div className="max-w-full grow-[2] *:size-full"> - <GeneralPerformanceDetails chainId={chainId} account={account} /> + <AppPageLayout header={header}> + <div className="default-container page-layout flex flex-col gap-8"> + <PageTitle + title={t`GMX Account`} + subtitle={ + <> + <div className="text-body-medium mb-20 flex flex-wrap items-center gap-4 font-medium"> + <Trans>GMX information for account</Trans> + <AddressView noLink address={account} size={20} breakpoint={isMobile ? "XL" : undefined} /> </div> - <div className="grow *:size-full"> - <DailyAndCumulativePnL chainId={chainId} account={account} /> + <VersionNetworkSwitcherRow account={account} chainId={chainId} version={version} /> + </> + } + /> + + {version === 2 && ( + <SyntheticsStateContextProvider overrideChainId={chainId} pageType="accounts" skipLocalReferralCode={false}> + <div className="flex flex-col gap-8"> + <div className="flex flex-row flex-wrap gap-8"> + <div className="max-w-full grow-[2] *:size-full"> + <GeneralPerformanceDetails chainId={chainId} account={account} /> + </div> + <div className="grow *:size-full"> + <DailyAndCumulativePnL chainId={chainId} account={account} /> + </div> </div> + <HistoricalLists chainId={chainId} account={account} /> </div> - <HistoricalLists chainId={chainId} account={account} /> - </div> - </SyntheticsStateContextProvider> - )} + </SyntheticsStateContextProvider> + )} - {version === 1 && <HistoricalListsV1 account={account} chainId={chainId} />} - - <Footer /> - </div> + {version === 1 && <HistoricalListsV1 account={account} chainId={chainId} />} + </div> + </AppPageLayout> ); } diff --git a/src/pages/AccountDashboard/DailyAndCumulativePnL.tsx b/src/pages/AccountDashboard/DailyAndCumulativePnL.tsx index 5f8397c747..3c7acf38bd 100644 --- a/src/pages/AccountDashboard/DailyAndCumulativePnL.tsx +++ b/src/pages/AccountDashboard/DailyAndCumulativePnL.tsx @@ -4,10 +4,11 @@ import { lightFormat } from "date-fns"; import { toPng } from "html-to-image"; import { useCallback, useMemo, useRef, useState } from "react"; import { + Area, Bar, + CartesianGrid, Cell, ComposedChart, - Line, Tooltip as RechartsTooltip, ResponsiveContainer, TooltipProps, @@ -19,6 +20,7 @@ import type { Address } from "viem"; import { USD_DECIMALS } from "config/factors"; import { useShowDebugValues } from "context/SyntheticsStateContext/hooks/settingsHooks"; import type { FromOldToNewArray } from "domain/tradingview/types"; +import { useBreakpoints } from "lib/breakpoints"; import { SECONDS_IN_DAY, formatDate, formatDateTime, toUtcDayStart } from "lib/dates"; import downloadImage from "lib/downloadImage"; import { helperToast } from "lib/helperToast"; @@ -32,7 +34,7 @@ import Loader from "components/Common/Loader"; import StatsTooltipRow from "components/StatsTooltip/StatsTooltipRow"; import { DateSelect } from "components/Synthetics/DateRangeSelect/DateRangeSelect"; -import downloadIcon from "img/ic_download_simple.svg"; +import DownloadIcon from "img/ic_download2.svg?react"; import { DEBUG_FIELDS, @@ -49,7 +51,31 @@ const CHART_TOOLTIP_WRAPPER_STYLE: React.CSSProperties = { zIndex: 10000 }; const getInitialDate = () => undefined; -const CHART_TICK_PROPS: React.SVGProps<SVGTextElement> = { fill: "var(--color-gray-400)" }; +const CHART_TICK_PROPS: React.SVGProps<SVGTextElement> = { + fill: "var(--color-slate-100)", + fontSize: 11, + fontWeight: 500, +}; + +const X_AXIS_LINE_PROPS: React.SVGProps<SVGLineElement> = { + stroke: "var(--color-slate-600)", + strokeWidth: 0.5, +}; + +const CHART_CURSOR_PROPS = { + stroke: "var(--color-slate-500)", + strokeWidth: 1, + strokeDasharray: "2 2", +}; + +const ACTIVE_DOT_PROPS = { + r: 4, + strokeWidth: 2, + stroke: "var(--color-blue-300)", + fill: "var(--color-slate-900)", +}; + +const CHART_MARGIN = { top: 16, right: 16, bottom: 16, left: 0 }; export function DailyAndCumulativePnL({ chainId, account }: { chainId: number; account: Address }) { const [fromDate, setFromDate] = useState<Date | undefined>(getInitialDate); @@ -59,31 +85,41 @@ export function DailyAndCumulativePnL({ chainId, account }: { chainId: number; a const { cardRef, handleImageDownload } = useImageDownload(); + const { isMobile } = useBreakpoints(); + + const buttons = ( + <> + <Button variant="ghost" className="gap-4" data-exclude onClick={handleImageDownload}> + <div className="size-16"> + <DownloadIcon /> + </div> + + <Trans>PNG</Trans> + </Button> + <DateSelect date={fromDate} onChange={setFromDate} buttonTextPrefix={t`From`} /> + </> + ); + return ( - <div className="flex flex-col rounded-4 bg-slate-800" ref={cardRef}> - <div className="flex items-center justify-between border-b border-b-gray-950 px-16"> - <div className="text-body-large py-8"> + <div className="flex flex-col rounded-8 bg-slate-900" ref={cardRef}> + <div className="flex items-center justify-between px-20 py-15"> + <div className="text-20 font-medium"> <Trans>Daily and Cumulative PnL</Trans> </div> - <div className="flex flex-wrap items-stretch justify-end gap-8 py-8"> - <Button variant="secondary" data-exclude slim imgSrc={downloadIcon} onClick={handleImageDownload}> - PNG - </Button> - <DateSelect date={fromDate} onChange={setFromDate} buttonTextPrefix={t`From`} /> - </div> + {isMobile ? null : <div className="flex flex-wrap items-stretch justify-end gap-8 py-8">{buttons}</div>} </div> <div className="flex flex-wrap gap-24 px-16 pt-16 text-slate-100"> - <div> - <div className="inline-block size-10 rounded-full bg-green-500" /> <Trans>Daily Profit</Trans> + <div className="flex items-center gap-8 text-13 font-medium"> + <div className="inline-block size-4 rounded-full bg-green-500" /> <Trans>Daily Profit</Trans> </div> - <div> - <div className="inline-block size-10 rounded-full bg-red-500" /> <Trans>Daily Loss</Trans> + <div className="flex items-center gap-8 text-13 font-medium"> + <div className="inline-block size-4 rounded-full bg-red-500" /> <Trans>Daily Loss</Trans> </div> - <div> - <div className="inline-block size-10 rounded-full bg-[#468AE3]" />{" "} + <div className="flex items-center gap-8 text-13 font-medium"> + <div className="inline-block size-4 rounded-full bg-blue-300" />{" "} <Trans> - Cumulative PnL:{" "} + Cumulative PnL{" "} <span className={getPositiveOrNegativeClass(clusteredPnlData.at(-1)?.cumulativePnl)}> {formatUsd(clusteredPnlData.at(-1)?.cumulativePnl)} </span> @@ -95,32 +131,48 @@ export function DailyAndCumulativePnL({ chainId, account }: { chainId: number; a <div className="relative min-h-[250px] grow"> <div className="DailyAndCumulativePnL-hide-last-tick absolute size-full"> <ResponsiveContainer debounce={500}> - <ComposedChart width={500} height={300} data={clusteredPnlData} barGap={0}> - <RechartsTooltip content={ChartTooltip} wrapperStyle={CHART_TOOLTIP_WRAPPER_STYLE} /> - <Bar dataKey="pnlFloat" minPointSize={1}> + <ComposedChart width={500} height={300} data={clusteredPnlData} barCategoryGap="25%" margin={CHART_MARGIN}> + <RechartsTooltip + cursor={CHART_CURSOR_PROPS} + content={ChartTooltip} + wrapperStyle={CHART_TOOLTIP_WRAPPER_STYLE} + /> + <CartesianGrid vertical={false} strokeDasharray="5 3" strokeWidth={0.5} stroke="var(--color-slate-600)" /> + <Bar dataKey="pnlFloat" minPointSize={1} radius={2}> {clusteredPnlData.map(renderPnlBar)} </Bar> - <Line type="monotone" dataKey="cumulativePnlFloat" stroke="#468AE3" strokeWidth={2} dot={false} /> + + <defs> + <linearGradient id="cumulative-pnl-gradient" x1="0" y1="0" x2="0" y2="1"> + <stop offset="-45%" stopColor="var(--color-blue-300)" stopOpacity={0.5} /> + <stop offset="100%" stopColor="var(--color-blue-300)" stopOpacity={0} /> + </linearGradient> + </defs> + <Area + type="monotone" + dataKey="cumulativePnlFloat" + stroke="var(--color-blue-300)" + fill="url(#cumulative-pnl-gradient)" + strokeWidth={2} + dot={false} + baseValue="dataMin" + activeDot={ACTIVE_DOT_PROPS} + /> <XAxis dataKey="dateCompact" - axisLine={false} tickLine={false} - angle={-90} - fontSize={12} - tickMargin={25} - height={50} - dx={-4} - minTickGap={10} + axisLine={X_AXIS_LINE_PROPS} + minTickGap={isMobile ? 20 : 32} tick={CHART_TICK_PROPS} + tickMargin={10} /> <YAxis - mirror type="number" allowDecimals={false} markerWidth={0} - tickMargin={-6} axisLine={false} tickLine={false} + tickMargin={10} tickFormatter={yAxisTickFormatter} tick={CHART_TICK_PROPS} /> @@ -144,6 +196,8 @@ export function DailyAndCumulativePnL({ chainId, account }: { chainId: number; a </div> )} </div> + + {isMobile && <div className="flex justify-around border-t-stroke border-slate-600 px-16 py-12">{buttons}</div>} </div> ); } @@ -161,7 +215,7 @@ function renderPnlBar(entry: AccountPnlHistoryPoint) { } function yAxisTickFormatter(value: number) { - if (value === 0 || !isFinite(value)) return ""; + if (!isFinite(value)) return "0"; return formatUsd(BigInt(value as number) * 10n ** 30n, { displayDecimals: 0 })!; } @@ -174,7 +228,10 @@ function ChartTooltip({ active, payload }: TooltipProps<number | string, "pnl" | const stats = payload[0].payload as PnlHistoricalData[number]; return ( - <div className="z-50 rounded-4 border border-gray-950 bg-slate-800 p-8 text-14"> + <div + className={`backdrop-blur-100 text-body-small z-50 flex flex-col rounded-4 bg-[rgba(160,163,196,0.1)] + bg-[linear-gradient(0deg,var(--color-slate-800),var(--color-slate-800))] px-12 pt-8 bg-blend-overlay`} + > <StatsTooltipRow label={t`Date`} value={stats.date} showDollar={false} /> <StatsTooltipRow label={t`PnL`} diff --git a/src/pages/AccountDashboard/GeneralPerformanceDetails.tsx b/src/pages/AccountDashboard/GeneralPerformanceDetails.tsx index a00dd55cc1..21cd6b95b9 100644 --- a/src/pages/AccountDashboard/GeneralPerformanceDetails.tsx +++ b/src/pages/AccountDashboard/GeneralPerformanceDetails.tsx @@ -29,15 +29,15 @@ export function GeneralPerformanceDetails({ chainId, account }: { chainId: numbe const { data, error, loading } = usePnlSummaryData(chainId, account); return ( - <div className="overflow-hidden rounded-4 bg-slate-800"> - <div className="text-body-large p-16"> + <div className="overflow-hidden rounded-8 bg-slate-900"> + <div className="border-b-stroke border-slate-600 p-20 text-20 font-medium"> <Trans>General Performance Details</Trans> </div> <TableScrollFadeContainer> <table className="w-full min-w-max"> <thead> - <TableTheadTr bordered> + <TableTheadTr> <TableTh> <Trans>Date</Trans> </TableTh> @@ -48,6 +48,7 @@ export function GeneralPerformanceDetails({ chainId, account }: { chainId: numbe <TooltipWithPortal tooltipClassName="cursor-help *:cursor-auto" content={t`The total realized and unrealized profit and loss for the period, including fees and price impact.`} + styleType="iconStroke" > <Trans>PnL ($)</Trans> </TooltipWithPortal> @@ -55,6 +56,7 @@ export function GeneralPerformanceDetails({ chainId, account }: { chainId: numbe <TableTh> <TooltipWithPortal tooltipClassName="cursor-help *:cursor-auto" + styleType="iconStroke" content={ <Trans> The PnL ($) compared to the capital used. @@ -79,7 +81,7 @@ export function GeneralPerformanceDetails({ chainId, account }: { chainId: numbe </tbody> </table> {error && ( - <div className="max-h-[200px] overflow-auto p-16"> + <div className="max-h-[200px] overflow-auto p-20"> <div className="whitespace-pre-wrap font-mono text-red-500">{JSON.stringify(error, null, 2)}</div> </div> )} @@ -93,12 +95,12 @@ function GeneralPerformanceDetailsRow({ row }: { row: PnlSummaryPoint }) { const showDebugValues = useShowDebugValues(); return ( - <TableTr key={row.bucketLabel} hoverable={false} bordered={false}> + <TableTr key={row.bucketLabel} hoverable={false}> <TableTd>{_(bucketLabelMap[row.bucketLabel as keyof typeof bucketLabelMap])}</TableTd> - <TableTd>{formatUsd(row.volume, { maxThreshold: null })}</TableTd> + <TableTd className="numbers">{formatUsd(row.volume, { maxThreshold: null })}</TableTd> <TableTd> <TooltipWithPortal - disableHandleStyle + styleType="none" tooltipClassName="cursor-help *:cursor-auto" className={cx("cursor-help underline decoration-dashed decoration-1 underline-offset-2", { "text-green-500 decoration-green-500/50": row.pnlUsd > 0, @@ -114,52 +116,62 @@ function GeneralPerformanceDetailsRow({ row }: { row: PnlSummaryPoint }) { label={t`Realized PnL`} showDollar={false} textClassName={getPositiveOrNegativeClass(row.realizedPnlUsd)} - value={formatUsd(row.realizedPnlUsd)} + value={<span className="numbers">{formatUsd(row.realizedPnlUsd)}</span>} /> <StatsTooltipRow label={t`Unrealized PnL`} showDollar={false} textClassName={getPositiveOrNegativeClass(row.unrealizedPnlUsd)} - value={formatUsd(row.unrealizedPnlUsd)} + value={<span className="numbers">{formatUsd(row.unrealizedPnlUsd)}</span>} /> <StatsTooltipRow label={t`Start Unrealized PnL`} showDollar={false} textClassName={getPositiveOrNegativeClass(row.startUnrealizedPnlUsd)} - value={formatUsd(row.startUnrealizedPnlUsd)} + value={<span className="numbers">{formatUsd(row.startUnrealizedPnlUsd)}</span>} /> </> ) } > - {formatUsd(row.pnlUsd)} + <span className="numbers">{formatUsd(row.pnlUsd)}</span> </TooltipWithPortal> </TableTd> <TableTd> <TooltipWithPortal - disableHandleStyle + styleType="none" tooltipClassName="cursor-help *:cursor-auto" className={cx("cursor-help underline decoration-dashed decoration-1 underline-offset-2", { "text-green-500 decoration-green-500/50": row.pnlBps > 0n, "text-red-500 decoration-red-500/50": row.pnlBps < 0n, "decoration-gray-400": row.pnlBps === 0n, })} - content={<StatsTooltipRow label={t`Capital Used`} showDollar={false} value={formatUsd(row.usedCapitalUsd)} />} + content={ + <StatsTooltipRow + label={t`Capital Used`} + showDollar={false} + value={<span className="numbers">{formatUsd(row.usedCapitalUsd)}</span>} + /> + } > - {formatPercentage(row.pnlBps, { signed: true })} + <span className="numbers">{formatPercentage(row.pnlBps, { signed: true })}</span> </TooltipWithPortal> </TableTd> <TableTd> <TooltipWithPortal - handle={`${row.wins} / ${row.losses}`} + handle={<span className="numbers">{`${row.wins} / ${row.losses}`}</span>} content={ <> - <StatsTooltipRow label={t`Total Trades`} showDollar={false} value={String(row.wins + row.losses)} /> + <StatsTooltipRow + label={t`Total Trades`} + showDollar={false} + value={<span className="numbers">{String(row.wins + row.losses)}</span>} + /> {row.winsLossesRatioBps !== undefined && ( <StatsTooltipRow label={t`Win Rate`} showDollar={false} - value={formatPercentage(row.winsLossesRatioBps)} + value={<span className="numbers">{formatPercentage(row.winsLossesRatioBps)}</span>} /> )} </> diff --git a/src/pages/AccountDashboard/HistoricalLists.tsx b/src/pages/AccountDashboard/HistoricalLists.tsx index 7a2f92d1b7..281084e476 100644 --- a/src/pages/AccountDashboard/HistoricalLists.tsx +++ b/src/pages/AccountDashboard/HistoricalLists.tsx @@ -11,6 +11,7 @@ import { selectPositionsInfoData } from "context/SyntheticsStateContext/selector import { selectOrdersCount } from "context/SyntheticsStateContext/selectors/orderSelectors"; import { useSelector } from "context/SyntheticsStateContext/utils"; import { OrderTypeFilterValue } from "domain/synthetics/orders/ordersFilters"; +import { useBreakpoints } from "lib/breakpoints"; import { useAccountOrders } from "lib/legacy"; import { useLocalStorageSerializeKey } from "lib/localStorage"; import { useEthersSigner } from "lib/wallets/useEthersSigner"; @@ -22,11 +23,12 @@ import { usePositionsV1, } from "pages/Actions/ActionsV1/ActionsV1"; -import { ClaimsHistory } from "components/Synthetics/Claims/ClaimsHistory"; +import Badge, { BadgeIndicator } from "components/Badge/Badge"; +import { ClaimsHistory, useClaimsHistoryState } from "components/Synthetics/Claims/ClaimsHistory"; import { OrderList } from "components/Synthetics/OrderList/OrderList"; import { PositionList } from "components/Synthetics/PositionList/PositionList"; import type { MarketFilterLongShortItemData } from "components/Synthetics/TableMarketFilter/MarketFilterLongShort"; -import { TradeHistory } from "components/Synthetics/TradeHistory/TradeHistory"; +import { TradeHistory, useTradeHistoryState } from "components/Synthetics/TradeHistory/TradeHistory"; import Tabs from "components/Tabs/Tabs"; enum TabKey { @@ -64,15 +66,17 @@ function OrdersTabTitle({ ); } + let indicator: BadgeIndicator | undefined; + if (ordersWarningsCount > 0 && !ordersErrorsCount) { + indicator = "warning"; + } else if (ordersErrorsCount > 0) { + indicator = "error"; + } + return ( - <div className="flex"> - <Trans>Orders ({ordersCount})</Trans> - <div - className={cx("relative top-3 size-6 rounded-full", { - "bg-yellow-500": ordersWarningsCount > 0 && !ordersErrorsCount, - "bg-red-500": ordersErrorsCount > 0, - })} - /> + <div className="flex items-center gap-8"> + <Trans>Orders</Trans> + <Badge value={ordersCount} indicator={indicator} /> </div> ); } @@ -84,7 +88,11 @@ function useTabLabels(): Record<TabKey, React.ReactNode> { const tabLabels = useMemo( () => ({ - [TabKey.Positions]: t`Positions${positionsCount ? ` (${positionsCount})` : ""}`, + [TabKey.Positions]: ( + <div className="flex items-center gap-8"> + <Trans>Positions</Trans> <Badge value={positionsCount} /> + </div> + ), [TabKey.Orders]: ( <OrdersTabTitle ordersCount={ordersCount} @@ -149,10 +157,39 @@ export function HistoricalLists({ chainId, account }: Props) { [tabLabels] ); + const tradeHistoryState = useTradeHistoryState({ + account, + hideDashboardLink: true, + }); + + const { controls: claimsHistoryControls, ...claimsHistoryProps } = useClaimsHistoryState(); + + const actions = ( + <> + {tabKey === TabKey.Trades ? tradeHistoryState.controls : undefined} + {tabKey === TabKey.Claims ? claimsHistoryControls : undefined} + </> + ); + + const { isMobile, isTablet } = useBreakpoints(); + return ( <div> - <div className="py-10"> - <Tabs options={tabsOptions} selectedValue={tabKey} onChange={setTabKey} type="inline" /> + <div className="overflow-x-auto scrollbar-hide"> + <Tabs + options={tabsOptions} + selectedValue={tabKey} + onChange={setTabKey} + type="block" + className={cx("w-[max(100%,600px)] bg-slate-900", { + "mb-8 rounded-b-8": [TabKey.Positions, TabKey.Orders].includes(tabKey as TabKey) && isTablet, + "w-[max(100%,420px)]": isMobile, + })} + regularOptionClassname={cx({ + "first:rounded-l-8 last:rounded-r-8": [TabKey.Positions, TabKey.Orders].includes(tabKey as TabKey), + })} + rightContent={actions} + /> </div> {tabKey === TabKey.Positions && ( @@ -178,8 +215,8 @@ export function HistoricalLists({ chainId, account }: Props) { setOrderTypesFilter={setOrderTypesFilter} /> )} - {tabKey === TabKey.Trades && <TradeHistory account={account} hideDashboardLink />} - {tabKey === TabKey.Claims && <ClaimsHistory />} + {tabKey === TabKey.Trades && <TradeHistory {...tradeHistoryState} />} + {tabKey === TabKey.Claims && <ClaimsHistory {...claimsHistoryProps} />} </div> ); } diff --git a/src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx b/src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx index 595a43a113..0e0ca078e8 100644 --- a/src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx +++ b/src/pages/AccountDashboard/VersionNetworkSwitcherRow.tsx @@ -1,12 +1,12 @@ -import { Trans } from "@lingui/macro"; import cx from "classnames"; -import { Link } from "react-router-dom"; import { type Address } from "viem"; import { CHAIN_NAMES_MAP, SUPPORTED_CHAIN_IDS } from "config/chains"; import { getIsV1Supported } from "config/features"; import { getIcon } from "config/icons"; +import Button from "components/Button/Button"; + import { buildAccountDashboardUrl } from "./buildAccountDashboardUrl"; export function VersionNetworkSwitcherRow({ @@ -18,51 +18,52 @@ export function VersionNetworkSwitcherRow({ chainId: number; version: number; }) { - return ( - <div className="flex flex-wrap items-center gap-12"> - <Trans>Switch to:</Trans> - <Options account={account} version={version} chainId={chainId} /> - </div> - ); + return <Options account={account} version={version} chainId={chainId} />; } function Options({ account, chainId, version }: { account?: Address; chainId: number; version: number }) { return ( - <div className="flex flex-wrap items-center gap-12 *:cursor-pointer"> - {SUPPORTED_CHAIN_IDS.map((supportedChainId) => ( - <Link - to={buildAccountDashboardUrl(account, supportedChainId, 2)} - key={supportedChainId} - className={cx("flex items-center gap-4", { - "text-white": supportedChainId === chainId && version === 2, - "text-slate-100": supportedChainId !== chainId || version !== 2, - })} - > - V2 - <img - className="inline-block h-16" - src={getIcon(supportedChainId, "network")} - alt={CHAIN_NAMES_MAP[supportedChainId]} - /> - </Link> - ))} - {SUPPORTED_CHAIN_IDS.filter(getIsV1Supported).map((supportedChainId) => ( - <Link - to={buildAccountDashboardUrl(account, supportedChainId, 1)} - key={supportedChainId} - className={cx("flex items-center gap-4", { - "text-white": supportedChainId === chainId && version === 1, - "text-slate-100": supportedChainId !== chainId || version !== 1, - })} - > - V1 - <img - className="inline-block h-16" - src={getIcon(supportedChainId, "network")} - alt={CHAIN_NAMES_MAP[supportedChainId]} - /> - </Link> - ))} + <div className="flex flex-wrap items-center gap-8"> + {SUPPORTED_CHAIN_IDS.map((supportedChainId) => { + const isActive = supportedChainId === chainId && version === 2; + return ( + <Button + variant="ghost" + to={buildAccountDashboardUrl(account, supportedChainId, 2)} + key={supportedChainId} + className={cx("flex !min-h-32 items-center gap-4", { + "!bg-slate-800 !text-white": isActive, + })} + > + <img + className="inline-block h-16" + src={getIcon(supportedChainId, "network")} + alt={CHAIN_NAMES_MAP[supportedChainId]} + /> + V2 {CHAIN_NAMES_MAP[supportedChainId]} + </Button> + ); + })} + {SUPPORTED_CHAIN_IDS.filter(getIsV1Supported).map((supportedChainId) => { + const isActive = supportedChainId === chainId && version === 1; + return ( + <Button + variant="ghost" + to={buildAccountDashboardUrl(account, supportedChainId, 1)} + key={supportedChainId} + className={cx("flex !min-h-32 items-center gap-4", { + "!bg-slate-800 !text-white": isActive, + })} + > + <img + className="inline-block h-16" + src={getIcon(supportedChainId, "network")} + alt={CHAIN_NAMES_MAP[supportedChainId]} + /> + V1 {CHAIN_NAMES_MAP[supportedChainId]} + </Button> + ); + })} </div> ); } diff --git a/src/pages/Actions/ActionsRouter.tsx b/src/pages/Actions/ActionsRouter.tsx index 39925de830..0344a61215 100644 --- a/src/pages/Actions/ActionsRouter.tsx +++ b/src/pages/Actions/ActionsRouter.tsx @@ -8,6 +8,7 @@ import { useChainId } from "lib/chains"; import { usePageParams } from "pages/AccountDashboard/usePageParams"; import { VersionNetworkSwitcherRow } from "pages/AccountDashboard/VersionNetworkSwitcherRow"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import PageTitle from "components/PageTitle/PageTitle"; import ActionsPageV1 from "./ActionsV1/ActionsV1"; @@ -23,16 +24,18 @@ export function AccountsRouter() { const chainName = CHAIN_NAMES_MAP[chainId!]; return ( - <div className="default-container page-layout"> - <PageTitle - isTop - title={t`GMX V1 Actions`} - subtitle={<VersionNetworkSwitcherRow chainId={chainId} version={1} />} - /> - <div className="text-center text-yellow-500"> - <Trans>V1 is not supported on {chainName}. Please switch to Arbitrum to use V1.</Trans> + <AppPageLayout> + <div className="default-container page-layout"> + <PageTitle + isTop + title={t`GMX V1 Actions`} + subtitle={<VersionNetworkSwitcherRow chainId={chainId} version={1} />} + /> + <div className="text-center text-yellow-500"> + <Trans>V1 is not supported on {chainName}. Please switch to Arbitrum to use V1.</Trans> + </div> </div> - </div> + </AppPageLayout> ); } diff --git a/src/pages/Actions/ActionsV1/ActionsV1.tsx b/src/pages/Actions/ActionsV1/ActionsV1.tsx index bb35a43e22..8b1972f238 100644 --- a/src/pages/Actions/ActionsV1/ActionsV1.tsx +++ b/src/pages/Actions/ActionsV1/ActionsV1.tsx @@ -18,7 +18,6 @@ import { getV1Tokens, getWhitelistedV1Tokens } from "sdk/configs/tokens"; import OrdersList from "components/Exchange/OrdersList"; import PositionsList from "components/Exchange/PositionsList"; import TradeHistory from "components/Exchange/TradeHistory"; -import Footer from "components/Footer/Footer"; import PageTitle from "components/PageTitle/PageTitle"; import "./ActionsV1.css"; @@ -68,7 +67,6 @@ function ActionsV1({ <PageTitle isTop title={t`GMX V1 Actions`} - chainId={chainId} subtitle={ <> <Trans> @@ -88,7 +86,6 @@ function ActionsV1({ shouldShowPaginationButtons /> </div> - <Footer /> </div> ); } diff --git a/src/pages/Actions/SyntheticsActions.tsx b/src/pages/Actions/SyntheticsActions.tsx index 141f26c0bc..55f59b6beb 100644 --- a/src/pages/Actions/SyntheticsActions.tsx +++ b/src/pages/Actions/SyntheticsActions.tsx @@ -5,9 +5,8 @@ import { selectChainId } from "context/SyntheticsStateContext/selectors/globalSe import { useSelector } from "context/SyntheticsStateContext/utils"; import { VersionNetworkSwitcherRow } from "pages/AccountDashboard/VersionNetworkSwitcherRow"; -import Footer from "components/Footer/Footer"; import PageTitle from "components/PageTitle/PageTitle"; -import { TradeHistory } from "components/Synthetics/TradeHistory/TradeHistory"; +import { TradeHistory, useTradeHistoryState } from "components/Synthetics/TradeHistory/TradeHistory"; import "./SyntheticsActions.scss"; @@ -17,6 +16,11 @@ export default function SyntheticsActions() { const chainId = useSelector(selectChainId); const networkName = getChainName(chainId); + const tradeHistoryState = useTradeHistoryState({ + account: undefined, + forAllAccounts: true, + }); + return ( <div className="default-container page-layout"> <div className="Actions-section"> @@ -24,7 +28,6 @@ export default function SyntheticsActions() { <PageTitle isTop title={t`GMX V2 Actions`} - chainId={chainId} subtitle={ <> <Trans> @@ -35,9 +38,10 @@ export default function SyntheticsActions() { } /> </div> - <TradeHistory account={undefined} forAllAccounts /> + {/* TODO: check where to put this */} + {tradeHistoryState.controls} + <TradeHistory {...tradeHistoryState} /> </div> - <Footer /> </div> ); } diff --git a/src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx b/src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx index 24db7932d9..d2d62bb5ec 100644 --- a/src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx +++ b/src/pages/BeginAccountTransfer/BeginAccountTransfer.tsx @@ -15,10 +15,10 @@ import { callContract, contractFetcher } from "lib/contracts"; import useWallet from "lib/wallets/useWallet"; import { abis } from "sdk/abis"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import { ApproveTokenButton } from "components/ApproveTokenButton/ApproveTokenButton"; import Button from "components/Button/Button"; import Checkbox from "components/Checkbox/Checkbox"; -import Footer from "components/Footer/Footer"; import Modal from "components/Modal/Modal"; import "./BeginAccountTransfer.css"; @@ -292,121 +292,122 @@ export default function BeginAccountTransfer() { ); return ( - <div className="BeginAccountTransfer Page page-layout "> - <Modal - isVisible={isTransferSubmittedModalVisible} - setIsVisible={setIsTransferSubmittedModalVisible} - label={t`Transfer Submitted`} - > - <Trans>Your transfer has been initiated.</Trans> - <br /> - <br /> - <Link className="App-cta" to={completeTransferLink}> - <Trans>Continue</Trans> - </Link> - </Modal> - - <div className="default-container !m-0 pb-16"> - <div className="Page-title"> - <Trans>Transfer Account</Trans> - </div> - <div className="Page-description"> - <Trans> - Please only use this for full account transfers. - <br /> - This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account. - <br /> - Transfers are only supported if the receiving account has not staked GMX or GLP tokens before. - <br /> - Transfers are one-way, you will not be able to transfer staked tokens back to the sending account. - </Trans> - </div> - {hasPendingReceiver && ( + <AppPageLayout> + <div className="BeginAccountTransfer Page page-layout "> + <Modal + isVisible={isTransferSubmittedModalVisible} + setIsVisible={setIsTransferSubmittedModalVisible} + label={t`Transfer Submitted`} + > + <Trans>Your transfer has been initiated.</Trans> + <br /> + <br /> + <Link className="App-cta" to={completeTransferLink}> + <Trans>Continue</Trans> + </Link> + </Modal> + + <div className="default-container !m-0 pb-16"> + <div className="Page-title"> + <Trans>Transfer Account</Trans> + </div> <div className="Page-description"> <Trans> - You have a <Link to={pendingTransferLink}>pending transfer</Link> to {pendingReceiver}. + Please only use this for full account transfers. + <br /> + This will transfer all your GMX, esGMX, GLP, Multiplier Points and voting power to your new account. + <br /> + Transfers are only supported if the receiving account has not staked GMX or GLP tokens before. + <br /> + Transfers are one-way, you will not be able to transfer staked tokens back to the sending account. </Trans> </div> - )} - </div> - <div className="default-container !m-0"> - <div className="input-form"> - <div className="input-row"> - <label className="input-label"> - <Trans>Receiver Address</Trans> - </label> - <div> - <input - type="text" - value={receiver} - onChange={(e) => setReceiver(e.target.value)} - className="text-input" - /> + {hasPendingReceiver && ( + <div className="Page-description"> + <Trans> + You have a <Link to={pendingTransferLink}>pending transfer</Link> to {pendingReceiver}. + </Trans> </div> - </div> - <div className="BeginAccountTransfer-validations"> - <ValidationRow isValid={!hasVestedGmx}> - <Trans>Sender has withdrawn all tokens from GMX Vesting Vault</Trans> - </ValidationRow> - <ValidationRow isValid={!hasVestedGlp}> - <Trans>Sender has withdrawn all tokens from GLP Vesting Vault</Trans> - </ValidationRow> - <ValidationRow isValid={!hasVestedAffiliate}> - <Trans>Sender has withdrawn all tokens from Affiliate Vesting Vault</Trans> - </ValidationRow> - {hasVestedAffiliate && ( + )} + </div> + <div className="default-container !m-0"> + <div className="input-form"> + <div className="input-row"> + <label className="input-label"> + <Trans>Receiver Address</Trans> + </label> + <div> + <input + type="text" + value={receiver} + onChange={(e) => setReceiver(e.target.value)} + className="text-input" + /> + </div> + </div> + <div className="BeginAccountTransfer-validations"> + <ValidationRow isValid={!hasVestedGmx}> + <Trans>Sender has withdrawn all tokens from GMX Vesting Vault</Trans> + </ValidationRow> + <ValidationRow isValid={!hasVestedGlp}> + <Trans>Sender has withdrawn all tokens from GLP Vesting Vault</Trans> + </ValidationRow> + <ValidationRow isValid={!hasVestedAffiliate}> + <Trans>Sender has withdrawn all tokens from Affiliate Vesting Vault</Trans> + </ValidationRow> + {hasVestedAffiliate && ( + <> + <p className="soft-error"> + <Trans> + You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to + transfer them to the new account + </Trans> + </p> + <Checkbox + className="VestedAffiliate-checkbox" + isChecked={isAffiliateVesterSkipValidation} + setIsChecked={setIsAffiliateVesterSkipValidation} + > + <span className="text-sm text-yellow-500"> + <Trans>I do not want to transfer the Affiliate esGMX tokens</Trans> + </span> + </Checkbox> + </> + )} + + <ValidationRow isValid={!hasStakedGmx}> + <Trans>Receiver has not staked GMX tokens before</Trans> + </ValidationRow> + <ValidationRow isValid={!hasStakedGlp}> + <Trans>Receiver has not staked GLP tokens before</Trans> + </ValidationRow> + </div> + + {isReadyForSbfGmxTokenApproval && needFeeGmxTrackerApproval && ( <> - <p className="soft-error"> - <Trans> - You have esGMX tokens in the Affiliate Vault, you need to withdraw these tokens if you want to - transfer them to the new account - </Trans> - </p> - <Checkbox - className="VestedAffiliate-checkbox" - isChecked={isAffiliateVesterSkipValidation} - setIsChecked={setIsAffiliateVesterSkipValidation} - > - <span className="text-sm text-yellow-500"> - <Trans>I do not want to transfer the Affiliate esGMX tokens</Trans> - </span> - </Checkbox> + <ApproveTokenButton + tokenAddress={feeGmxTrackerAddress} + tokenSymbol={"sbfGMX"} + customLabel={t`Allow all my tokens to be transferred to a new account`} + spenderAddress={parsedReceiver} + approveAmount={feeGmxTrackerBalance} + /> + <br /> </> )} - - <ValidationRow isValid={!hasStakedGmx}> - <Trans>Receiver has not staked GMX tokens before</Trans> - </ValidationRow> - <ValidationRow isValid={!hasStakedGlp}> - <Trans>Receiver has not staked GLP tokens before</Trans> - </ValidationRow> - </div> - - {isReadyForSbfGmxTokenApproval && needFeeGmxTrackerApproval && ( - <> - <ApproveTokenButton - tokenAddress={feeGmxTrackerAddress} - tokenSymbol={"sbfGMX"} - customLabel={t`Allow all my tokens to be transferred to a new account`} - spenderAddress={parsedReceiver} - approveAmount={feeGmxTrackerBalance} - /> - <br /> - </> - )} - <div className="input-row"> - <Button - variant="primary-action" - className="w-full" - disabled={!isPrimaryEnabled()} - onClick={() => onClickPrimary()} - > - {getPrimaryText()} - </Button> + <div className="input-row"> + <Button + variant="primary-action" + className="w-full" + disabled={!isPrimaryEnabled()} + onClick={() => onClickPrimary()} + > + {getPrimaryText()} + </Button> + </div> </div> </div> </div> - <Footer /> - </div> + </AppPageLayout> ); } diff --git a/src/pages/Buy/Buy.tsx b/src/pages/Buy/Buy.tsx index 8373d0a66d..72a1da1d5f 100644 --- a/src/pages/Buy/Buy.tsx +++ b/src/pages/Buy/Buy.tsx @@ -2,8 +2,8 @@ import { t } from "@lingui/macro"; import { getPageTitle } from "lib/legacy"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import SEO from "components/Common/SEO"; -import Footer from "components/Footer/Footer"; import PageTitle from "components/PageTitle/PageTitle"; import TokenCard from "components/TokenCard/TokenCard"; @@ -12,15 +12,16 @@ import "./Buy.css"; export default function BuyGMXGLP() { return ( <SEO title={getPageTitle(t`Buy GLP or GMX`)}> - <div className="BuyGMXGLP page-layout"> - <div className="default-container"> - <div className="BuyGMXGLP-container"> - <PageTitle showNetworkIcon={false} isTop title={t`Protocol Tokens`} qa="buy-page" /> - <TokenCard /> + <AppPageLayout> + <div className="BuyGMXGLP page-layout"> + <div className="default-container"> + <div className="BuyGMXGLP-container"> + <PageTitle isTop title={t`Protocol Tokens`} qa="buy-page" /> + <TokenCard /> + </div> </div> </div> - <Footer /> - </div> + </AppPageLayout> </SEO> ); } diff --git a/src/pages/BuyGMX/BuyGMX.css b/src/pages/BuyGMX/BuyGMX.css index ab2ad7a56c..067007d2db 100644 --- a/src/pages/BuyGMX/BuyGMX.css +++ b/src/pages/BuyGMX/BuyGMX.css @@ -44,7 +44,6 @@ display: flex; align-items: center; background: #ffffff0a; - border: 1px solid var(--color-gray-900); border-radius: 0.4rem; text-decoration: none; height: 4.65rem; diff --git a/src/pages/BuyGMX/BuyGMX.tsx b/src/pages/BuyGMX/BuyGMX.tsx index 461db126e5..d5692df73c 100644 --- a/src/pages/BuyGMX/BuyGMX.tsx +++ b/src/pages/BuyGMX/BuyGMX.tsx @@ -9,10 +9,10 @@ import { importImage } from "lib/legacy"; import { switchNetwork } from "lib/wallets"; import useWallet from "lib/wallets/useWallet"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Button from "components/Button/Button"; import Card from "components/Common/Card"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Footer from "components/Footer/Footer"; import bondProtocolIcon from "img/ic_bondprotocol_arbitrum.svg"; import gmxArbitrumIcon from "img/ic_gmx_arbitrum.svg"; @@ -67,129 +67,132 @@ export default function BuyGMX() { }, [chainId, onNetworkSelect]); return ( - <div className="BuyGMXGLP default-container page-layout"> - <div className="BuyGMXGLP-container"> - <div className="section-title-block"> - <div className="section-title-content"> - <div className="Page-title"> - <Trans>Buy GMX on {chainName}</Trans> - <img className="Page-title-icon ml-5 inline-block" src={icons?.network} alt={chainName} /> - </div> - <div className="Page-description"> - <Trans>Choose to buy from decentralized or centralized exchanges.</Trans> - <br /> - <Trans> - To purchase GMX on the {isArbitrum ? "Avalanche" : "Arbitrum"} blockchain, please{" "} - <span onClick={() => onNetworkSelect(isArbitrum ? AVALANCHE : ARBITRUM)}>change your network</span>. - </Trans> - </div> - </div> - </div> - <div className="cards-row"> - <DecentralisedExchanges chainId={chainId} externalLinks={externalLinks} /> - <CentralisedExchanges chainId={chainId} /> - </div> - - {isArbitrum ? ( - <div className="section-title-block mt-top" id="bridge"> + <AppPageLayout> + <div className="BuyGMXGLP default-container page-layout"> + <div className="BuyGMXGLP-container"> + <div className="section-title-block"> <div className="section-title-content"> <div className="Page-title"> - <Trans>Buy or Transfer ETH to Arbitrum</Trans> + <Trans>Buy GMX on {chainName}</Trans> <img className="Page-title-icon ml-5 inline-block" src={icons?.network} alt={chainName} /> </div> <div className="Page-description"> - <Trans>Buy ETH directly on Arbitrum or transfer it there.</Trans> + <Trans>Choose to buy from decentralized or centralized exchanges.</Trans> + <br /> + <Trans> + To purchase GMX on the {isArbitrum ? "Avalanche" : "Arbitrum"} blockchain, please{" "} + <span onClick={() => onNetworkSelect(isArbitrum ? AVALANCHE : ARBITRUM)}>change your network</span>. + </Trans> </div> </div> </div> - ) : ( - <div className="section-title-block mt-top" id="bridge"> - <div className="section-title-content"> - <div className="Page-title"> - <Trans>Buy or Transfer AVAX to Avalanche</Trans> - <img className="Page-title-icon ml-5 inline-block" src={icons?.network} alt={chainName} /> - </div> - <div className="Page-description"> - <Trans>Buy AVAX directly to Avalanche or transfer it there.</Trans> - </div> - </div> + <div className="cards-row"> + <DecentralisedExchanges chainId={chainId} externalLinks={externalLinks} /> + <CentralisedExchanges chainId={chainId} /> </div> - )} - <div className="cards-row"> - <Card title={t`Buy ${nativeTokenSymbol}`}> - <div className="App-card-content"> - <div className="BuyGMXGLP-description"> - {isArbitrum ? ( - <Trans> - You can buy ETH directly on{" "} - <ExternalLink href={externalLinks.networkWebsite}>Arbitrum</ExternalLink> using these options: - </Trans> - ) : ( - <Trans> - You can buy AVAX directly on{" "} - <ExternalLink href={externalLinks.networkWebsite}>Avalanche</ExternalLink> using these options: - </Trans> - )} + {isArbitrum ? ( + <div className="section-title-block mt-top" id="bridge"> + <div className="section-title-content"> + <div className="Page-title"> + <Trans>Buy or Transfer ETH to Arbitrum</Trans> + <img className="Page-title-icon ml-5 inline-block" src={icons?.network} alt={chainName} /> + </div> + <div className="Page-description"> + <Trans>Buy ETH directly on Arbitrum or transfer it there.</Trans> + </div> </div> - <div className="buttons-group"> - {BUY_NATIVE_TOKENS.filter((e) => chainId in e.links).map((exchange) => { - const icon = importImage(exchange.icon) || ""; - const link = exchange.links[chainId]; - return ( - <Button - variant="secondary" - textAlign="left" - key={exchange.name} - to={link} - // eslint-disable-next-line react-perf/jsx-no-new-object-as-prop - imgSrc={icon} - imgAlt={exchange.name} - newTab - > - {exchange.name} - </Button> - ); - })} + </div> + ) : ( + <div className="section-title-block mt-top" id="bridge"> + <div className="section-title-content"> + <div className="Page-title"> + <Trans>Buy or Transfer AVAX to Avalanche</Trans> + <img className="Page-title-icon ml-5 inline-block" src={icons?.network} alt={chainName} /> + </div> + <div className="Page-description"> + <Trans>Buy AVAX directly to Avalanche or transfer it there.</Trans> + </div> </div> </div> - </Card> - <Card title={t`Transfer ${nativeTokenSymbol}`}> - <div className="App-card-content"> - {isArbitrum ? ( + )} + + <div className="cards-row"> + <Card title={t`Buy ${nativeTokenSymbol}`}> + <div className="App-card-content"> <div className="BuyGMXGLP-description"> - <Trans>You can transfer ETH from other networks to Arbitrum using any of the below options:</Trans> + {isArbitrum ? ( + <Trans> + You can buy ETH directly on{" "} + <ExternalLink href={externalLinks.networkWebsite}>Arbitrum</ExternalLink> using these options: + </Trans> + ) : ( + <Trans> + You can buy AVAX directly on{" "} + <ExternalLink href={externalLinks.networkWebsite}>Avalanche</ExternalLink> using these options: + </Trans> + )} </div> - ) : ( - <div className="BuyGMXGLP-description"> - <Trans>You can transfer AVAX from other networks to Avalanche using any of the below options:</Trans> + <div className="buttons-group"> + {BUY_NATIVE_TOKENS.filter((e) => chainId in e.links).map((exchange) => { + const icon = importImage(exchange.icon) || ""; + const link = exchange.links[chainId]; + return ( + <Button + variant="secondary" + textAlign="left" + key={exchange.name} + to={link} + // eslint-disable-next-line react-perf/jsx-no-new-object-as-prop + imgSrc={icon} + imgAlt={exchange.name} + newTab + > + {exchange.name} + </Button> + ); + })} </div> - )} - <div className="buttons-group"> - {TRANSFER_EXCHANGES.filter((e) => chainId in e.links).map((exchange) => { - const icon = importImage(exchange.icon) || ""; - const link = exchange.links[chainId]; - return ( - <Button - variant="secondary" - textAlign="left" - key={exchange.name} - to={link} - imgSrc={icon} - imgAlt={exchange.name} - newTab - > - {exchange.name} - </Button> - ); - })} </div> - </div> - </Card> + </Card> + <Card title={t`Transfer ${nativeTokenSymbol}`}> + <div className="App-card-content"> + {isArbitrum ? ( + <div className="BuyGMXGLP-description"> + <Trans>You can transfer ETH from other networks to Arbitrum using any of the below options:</Trans> + </div> + ) : ( + <div className="BuyGMXGLP-description"> + <Trans> + You can transfer AVAX from other networks to Avalanche using any of the below options: + </Trans> + </div> + )} + <div className="buttons-group"> + {TRANSFER_EXCHANGES.filter((e) => chainId in e.links).map((exchange) => { + const icon = importImage(exchange.icon) || ""; + const link = exchange.links[chainId]; + return ( + <Button + variant="secondary" + textAlign="left" + key={exchange.name} + to={link} + imgSrc={icon} + imgAlt={exchange.name} + newTab + > + {exchange.name} + </Button> + ); + })} + </div> + </div> + </Card> + </div> </div> </div> - <Footer /> - </div> + </AppPageLayout> ); } diff --git a/src/pages/BuyGlp/BuyGlp.jsx b/src/pages/BuyGlp/BuyGlp.jsx index 98e43ade1e..e1c29c8c6c 100644 --- a/src/pages/BuyGlp/BuyGlp.jsx +++ b/src/pages/BuyGlp/BuyGlp.jsx @@ -1,6 +1,6 @@ import { t } from "@lingui/macro"; -import Footer from "components/Footer/Footer"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import GlpSwap from "components/Glp/GlpSwap"; import PageTitle from "components/PageTitle/PageTitle"; @@ -8,15 +8,16 @@ import "./BuyGlp.css"; export default function BuyGlp() { return ( - <div className="default-container page-layout"> - <PageTitle - title={t`Sell GLP`} - subtitle={t`GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets.`} - isTop - qa="buy-glp-page" - /> - <GlpSwap isBuying={false} /> - <Footer /> - </div> + <AppPageLayout> + <div className="default-container page-layout"> + <PageTitle + title={t`Sell GLP`} + subtitle={t`GMX V1 markets are disabled and only allow for position closing. GLP is being phased out and no longer supports GMX V1 markets.`} + isTop + qa="buy-glp-page" + /> + <GlpSwap isBuying={false} /> + </div> + </AppPageLayout> ); } diff --git a/src/pages/ClaimEsGmx/ClaimEsGmx.jsx b/src/pages/ClaimEsGmx/ClaimEsGmx.jsx index f85b9b1a79..6b375dba27 100644 --- a/src/pages/ClaimEsGmx/ClaimEsGmx.jsx +++ b/src/pages/ClaimEsGmx/ClaimEsGmx.jsx @@ -14,6 +14,7 @@ import useWallet from "lib/wallets/useWallet"; import { abis } from "sdk/abis"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Button from "components/Button/Button"; import Checkbox from "components/Checkbox/Checkbox"; import ExternalLink from "components/ExternalLink/ExternalLink"; @@ -327,133 +328,137 @@ export default function ClaimEsGmx() { }; return ( - <div className="ClaimEsGmx Page page-layout"> - <div className="default-container"> - <div className="Page-title"> - <Trans>Claim esGMX</Trans> - </div> - {!isArbitrum && ( - <div className="Page-description"> - <br /> - <Trans>Please switch your network to Arbitrum.</Trans> + <AppPageLayout> + <div className="ClaimEsGmx Page page-layout"> + <div className="default-container"> + <div className="Page-title"> + <Trans>Claim esGMX</Trans> </div> - )} - {isArbitrum && ( - <div> - <div className="Page-description hyphens-auto"> - <br /> - <Trans>You have {formatAmount(esGmxIouBalance, 18, 2, true)} esGMX (IOU) tokens.</Trans> - <br /> - <br /> - <Trans>The address of the esGMX (IOU) token is {esGmxIouAddress}.</Trans> - <br /> - <Trans> - The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another - address to claim if you'd like. - </Trans> - <br /> - <br /> - <Trans>Select your vesting option below then click "Claim".</Trans> - <br /> - <Trans> - After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 - days. - </Trans> + {!isArbitrum && ( + <div className="Page-description"> <br /> - <Trans>The esGMX tokens can be staked or vested at any time.</Trans> - <br /> - <Trans> - Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected behaviour. - </Trans> - <br /> - <Trans> - You can check your claim history{" "} - <ExternalLink href={`https://arbiscan.io/token/${esGmxIouAddress}?a=${account}`}>here</ExternalLink>. - </Trans> + <Trans>Please switch your network to Arbitrum.</Trans> </div> - <br /> - <div className="ClaimEsGmx-vesting-options"> - <Checkbox - className="arbitrum vest-option" - isChecked={selectedOption === VEST_WITH_GMX_ARB} - setIsChecked={() => setSelectedOption(VEST_WITH_GMX_ARB)} - > - <Trans>Vest with GMX on Arbitrum</Trans> - <img src={arbitrumIcon} alt="Arbitrum" /> - </Checkbox> - <Checkbox - className="arbitrum vest-option" - isChecked={selectedOption === VEST_WITH_GLP_ARB} - setIsChecked={() => setSelectedOption(VEST_WITH_GLP_ARB)} - > - <Trans>Vest with GLP on Arbitrum</Trans> - <img src={arbitrumIcon} alt="Arbitrum" /> - </Checkbox> - <Checkbox - className="avalanche vest-option" - isChecked={selectedOption === VEST_WITH_GMX_AVAX} - setIsChecked={() => setSelectedOption(VEST_WITH_GMX_AVAX)} - > - <Trans>Vest with GMX on Avalanche</Trans> - <img src={avaIcon} alt="Avalanche" /> - </Checkbox> - <Checkbox - className="avalanche vest-option" - isChecked={selectedOption === VEST_WITH_GLP_AVAX} - setIsChecked={() => setSelectedOption(VEST_WITH_GLP_AVAX)} - > - <Trans>Vest with GLP on Avalanche</Trans> - <img src={avaIcon} alt="Avalanche" /> - </Checkbox> - </div> - <br /> - {!error && ( - <div className="muted"> + )} + {isArbitrum && ( + <div> + <div className="Page-description hyphens-auto"> + <br /> + <Trans>You have {formatAmount(esGmxIouBalance, 18, 2, true)} esGMX (IOU) tokens.</Trans> + <br /> + <br /> + <Trans>The address of the esGMX (IOU) token is {esGmxIouAddress}.</Trans> + <br /> <Trans> - You can currently vest a maximum of {formatAmount(maxVestableAmount, 18, 2, true)} esGMX tokens at a - ratio of {formatAmount(currentRatio, 4, 2, true)} {stakingToken} to 1 esGMX. + The esGMX (IOU) token is transferrable. You can add the token to your wallet and send it to another + address to claim if you'd like. </Trans> - {shouldShowStakingAmounts && `${formatAmount(initialStakingAmount, 18, 2, true)}.`} + <br /> + <br /> + <Trans>Select your vesting option below then click "Claim".</Trans> <br /> <Trans> - After claiming you will be able to vest a maximum of {formatAmount(nextMaxVestableEsGmx, 18, 2, true)}{" "} - esGMX at a ratio of {formatAmount(nextRatio, 4, 2, true)} {stakingToken} to 1 esGMX. + After claiming, the esGMX tokens will be airdropped to your account on the selected network within 7 + days. </Trans> - {shouldShowStakingAmounts && `${formatAmount(nextStakingAmount, 18, 2, true)}.`} <br /> + <Trans>The esGMX tokens can be staked or vested at any time.</Trans> + <br /> + <Trans> + Your esGMX (IOU) balance will decrease by your claim amount after claiming, this is expected + behaviour. + </Trans> <br /> + <Trans> + You can check your claim history{" "} + <ExternalLink href={`https://arbiscan.io/token/${esGmxIouAddress}?a=${account}`}>here</ExternalLink>. + </Trans> </div> - )} - <div> - <div className="ClaimEsGmx-input-label muted"> - <Trans>Amount to claim</Trans> + <br /> + <div className="ClaimEsGmx-vesting-options"> + <Checkbox + className="arbitrum vest-option" + isChecked={selectedOption === VEST_WITH_GMX_ARB} + setIsChecked={() => setSelectedOption(VEST_WITH_GMX_ARB)} + > + <Trans>Vest with GMX on Arbitrum</Trans> + <img src={arbitrumIcon} alt="Arbitrum" /> + </Checkbox> + <Checkbox + className="arbitrum vest-option" + isChecked={selectedOption === VEST_WITH_GLP_ARB} + setIsChecked={() => setSelectedOption(VEST_WITH_GLP_ARB)} + > + <Trans>Vest with GLP on Arbitrum</Trans> + <img src={arbitrumIcon} alt="Arbitrum" /> + </Checkbox> + <Checkbox + className="avalanche vest-option" + isChecked={selectedOption === VEST_WITH_GMX_AVAX} + setIsChecked={() => setSelectedOption(VEST_WITH_GMX_AVAX)} + > + <Trans>Vest with GMX on Avalanche</Trans> + <img src={avaIcon} alt="Avalanche" /> + </Checkbox> + <Checkbox + className="avalanche vest-option" + isChecked={selectedOption === VEST_WITH_GLP_AVAX} + setIsChecked={() => setSelectedOption(VEST_WITH_GLP_AVAX)} + > + <Trans>Vest with GLP on Avalanche</Trans> + <img src={avaIcon} alt="Avalanche" /> + </Checkbox> </div> - <div className="ClaimEsGmx-input-container"> - <input type="number" placeholder="0.0" value={value} onChange={(e) => setValue(e.target.value)} /> - {value !== formatAmountFree(esGmxIouBalance, 18, 18) && ( - <div - className="ClaimEsGmx-max-button" - onClick={() => setValue(formatAmountFree(esGmxIouBalance, 18, 18))} - > - <Trans>MAX</Trans> - </div> - )} + <br /> + {!error && ( + <div className="muted"> + <Trans> + You can currently vest a maximum of {formatAmount(maxVestableAmount, 18, 2, true)} esGMX tokens at a + ratio of {formatAmount(currentRatio, 4, 2, true)} {stakingToken} to 1 esGMX. + </Trans> + {shouldShowStakingAmounts && `${formatAmount(initialStakingAmount, 18, 2, true)}.`} + <br /> + <Trans> + After claiming you will be able to vest a maximum of{" "} + {formatAmount(nextMaxVestableEsGmx, 18, 2, true)} esGMX at a ratio of{" "} + {formatAmount(nextRatio, 4, 2, true)} {stakingToken} to 1 esGMX. + </Trans> + {shouldShowStakingAmounts && `${formatAmount(nextStakingAmount, 18, 2, true)}.`} + <br /> + <br /> + </div> + )} + <div> + <div className="ClaimEsGmx-input-label muted"> + <Trans>Amount to claim</Trans> + </div> + <div className="ClaimEsGmx-input-container"> + <input type="number" placeholder="0.0" value={value} onChange={(e) => setValue(e.target.value)} /> + {value !== formatAmountFree(esGmxIouBalance, 18, 18) && ( + <div + className="ClaimEsGmx-max-button" + onClick={() => setValue(formatAmountFree(esGmxIouBalance, 18, 18))} + > + <Trans>MAX</Trans> + </div> + )} + </div> + </div> + <br /> + <div> + <Button + variant="primary-action" + className="w-full" + disabled={!isPrimaryEnabled()} + onClick={() => claim()} + > + {getPrimaryText()} + </Button> </div> </div> - <br /> - <div> - <Button - variant="primary-action" - className="w-full" - disabled={!isPrimaryEnabled()} - onClick={() => claim()} - > - {getPrimaryText()} - </Button> - </div> - </div> - )} + )} + </div> </div> - </div> + </AppPageLayout> ); } diff --git a/src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx b/src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx index 19e3d2d806..54ef945553 100644 --- a/src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx +++ b/src/pages/CompleteAccountTransfer/CompleteAccountTransfer.jsx @@ -12,8 +12,8 @@ import { helperToast } from "lib/helperToast"; import useWallet from "lib/wallets/useWallet"; import { abis } from "sdk/abis"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Button from "components/Button/Button"; -import Footer from "components/Footer/Footer"; import Modal from "components/Modal/Modal"; import "./CompleteAccountTransfer.css"; @@ -95,68 +95,69 @@ export default function CompleteAccountTransfer() { } return ( - <div className="CompleteAccountTransfer Page page-layout"> - <Modal - isVisible={isTransferSubmittedModalVisible} - setIsVisible={setIsTransferSubmittedModalVisible} - label="Transfer Completed" - > - <Trans>Your transfer has been completed.</Trans> - <br /> - <br /> - <Link className="App-cta" to="/earn"> - <Trans>Continue</Trans> - </Link> - </Modal> - <div className="default-container !m-0 pb-16"> - <div className="Page-title"> - <Trans>Complete Account Transfer</Trans> - </div> - {!isCorrectAccount && ( - <div className="Page-description"> - <Trans>To complete the transfer, you must switch your connected account to {receiver}.</Trans> - <br /> - <br /> - <Trans> - You will need to be on this page to accept the transfer,{" "} - <span - onClick={() => { - copyToClipboard(window.location.href); - helperToast.success("Link copied to your clipboard"); - }} - > - click here - </span>{" "} - to copy the link to this page if needed. - </Trans> - <br /> - <br /> + <AppPageLayout> + <div className="CompleteAccountTransfer Page page-layout"> + <Modal + isVisible={isTransferSubmittedModalVisible} + setIsVisible={setIsTransferSubmittedModalVisible} + label="Transfer Completed" + > + <Trans>Your transfer has been completed.</Trans> + <br /> + <br /> + <Link className="App-cta" to="/earn"> + <Trans>Continue</Trans> + </Link> + </Modal> + <div className="default-container !m-0 pb-16"> + <div className="Page-title"> + <Trans>Complete Account Transfer</Trans> </div> - )} + {!isCorrectAccount && ( + <div className="Page-description"> + <Trans>To complete the transfer, you must switch your connected account to {receiver}.</Trans> + <br /> + <br /> + <Trans> + You will need to be on this page to accept the transfer,{" "} + <span + onClick={() => { + copyToClipboard(window.location.href); + helperToast.success("Link copied to your clipboard"); + }} + > + click here + </span>{" "} + to copy the link to this page if needed. + </Trans> + <br /> + <br /> + </div> + )} + {isCorrectAccount && ( + <div className="Page-description hyphens-auto"> + <Trans>You have a pending transfer from {sender}.</Trans> + <br /> + </div> + )} + </div> {isCorrectAccount && ( - <div className="Page-description hyphens-auto"> - <Trans>You have a pending transfer from {sender}.</Trans> - <br /> + <div className="default-container !m-0"> + <div className="input-form"> + <div className="input-row"> + <Button + variant="primary-action" + className="w-full" + disabled={!isPrimaryEnabled()} + onClick={onClickPrimary} + > + {getPrimaryText()} + </Button> + </div> + </div> </div> )} </div> - {isCorrectAccount && ( - <div className="default-container !m-0"> - <div className="input-form"> - <div className="input-row"> - <Button - variant="primary-action" - className="w-full" - disabled={!isPrimaryEnabled()} - onClick={onClickPrimary} - > - {getPrimaryText()} - </Button> - </div> - </div> - </div> - )} - <Footer /> - </div> + </AppPageLayout> ); } diff --git a/src/pages/Dashboard/AssetDropdown.tsx b/src/pages/Dashboard/AssetDropdown.tsx index 22d800080b..65e84f3caa 100644 --- a/src/pages/Dashboard/AssetDropdown.tsx +++ b/src/pages/Dashboard/AssetDropdown.tsx @@ -3,7 +3,7 @@ import { Menu } from "@headlessui/react"; import { Trans, t } from "@lingui/macro"; import { ethers, isAddress } from "ethers"; import { useCallback } from "react"; -import { FiChevronDown } from "react-icons/fi"; +import { HiDotsVertical } from "react-icons/hi"; import { Link } from "react-router-dom"; import { getTokenExplorerUrl } from "config/chains"; @@ -80,7 +80,7 @@ function AssetDropdown({ assetSymbol, token: propsToken, position = "right", mar ref={refs.setReference} className="dropdown-arrow center-both" > - <FiChevronDown size={20} /> + <HiDotsVertical size={16} /> </Menu.Button> <FloatingPortal> <Menu.Items diff --git a/src/pages/Dashboard/DashboardV2.css b/src/pages/Dashboard/DashboardV2.css index 72b18e5001..c4a86628d3 100644 --- a/src/pages/Dashboard/DashboardV2.css +++ b/src/pages/Dashboard/DashboardV2.css @@ -1,7 +1,3 @@ -.DashboardV2 { - padding-top: 4.65rem; -} - .DashboardV2-cards { display: grid; grid-template-columns: 1fr 1fr; @@ -60,8 +56,6 @@ } .stats-piechart { - margin: -1rem; - margin-left: 1.5rem; } .stats-block--glp .stats-label { @@ -154,7 +148,7 @@ } } -@media (max-width: 1100px) { +@media (max-width: 1024px) { .token-table-wrapper { display: none; } diff --git a/src/pages/Dashboard/DashboardV2.tsx b/src/pages/Dashboard/DashboardV2.tsx index a0f61f2dc1..bdd915bffe 100644 --- a/src/pages/Dashboard/DashboardV2.tsx +++ b/src/pages/Dashboard/DashboardV2.tsx @@ -14,13 +14,16 @@ import useWallet from "lib/wallets/useWallet"; import { getWhitelistedV1Tokens } from "sdk/configs/tokens"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import SEO from "components/Common/SEO"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Footer from "components/Footer/Footer"; import PageTitle from "components/PageTitle/PageTitle"; +import { ChainContentHeader } from "components/Synthetics/ChainContentHeader/ChainContentHeader"; import { MarketsList } from "components/Synthetics/MarketsList/MarketsList"; -import { DashboardPageTitle } from "./DashboardPageTitle"; +import V1Icon from "img/ic_v1.svg?react"; +import V2Icon from "img/ic_v2.svg?react"; + import { GlpCard } from "./GlpCard"; import { GmCard } from "./GmCard"; import { GmxCard } from "./GmxCard"; @@ -109,72 +112,81 @@ export default function DashboardV2() { return ( <SEO title={getPageTitle(t`Stats`)}> - <div className="default-container DashboardV2 page-layout"> - <PageTitle - title={t`Total Stats`} - showNetworkIcon={false} - isTop - qa="dashboard-page" - subtitle={ - <div> - <Trans>For detailed stats:</Trans>{" "} - {chainId === ARBITRUM && <ExternalLink href="https://stats.gmx.io">V1 Analytics</ExternalLink>} - {chainId === AVALANCHE && <ExternalLink href="https://stats.gmx.io/avalanche">V1 Analytics</ExternalLink>} - {(chainId === ARBITRUM || chainId === AVALANCHE) && " | "} - <ExternalLink href="https://dune.com/gmx-io/gmx-analytics">V2 Analytics</ExternalLink> - {" | "} - <Link className="link-underline" to="/monitor"> - V2 Pools Stats - </Link> - . + <AppPageLayout header={<ChainContentHeader />}> + <div className="default-container DashboardV2 page-layout flex flex-col gap-20"> + <PageTitle + title={t`Total Stats`} + qa="dashboard-page" + subtitle={ + <div className="flex items-center gap-6 font-medium text-slate-100"> + <Trans>For detailed stats</Trans>{" "} + {chainId === ARBITRUM && ( + <ExternalLink className="flex items-center gap-4 !no-underline" href="https://stats.gmx.io"> + <V1Icon className="size-15" /> Analytics + </ExternalLink> + )} + {chainId === AVALANCHE && ( + <ExternalLink className="flex items-center gap-4 !no-underline" href="https://stats.gmx.io/avalanche"> + <V1Icon className="size-15" /> Analytics + </ExternalLink> + )} + <ExternalLink + className="flex items-center gap-4 !no-underline" + href="https://dune.com/gmx-io/gmx-analytics" + > + <V2Icon className="size-15" /> Analytics + </ExternalLink> + <Link className="flex items-center gap-4 text-slate-100 !no-underline hover:text-white" to="/monitor"> + <V2Icon className="size-15" /> Pools Stats + </Link> + </div> + } + /> + <div className="flex flex-col gap-20"> + <div className="DashboardV2-cards"> + <OverviewCard statsArbitrum={statsArbitrum} statsAvalanche={statsAvalanche} /> + <StatsCard statsArbitrum={statsArbitrum} statsAvalanche={statsAvalanche} /> </div> - } - /> - <div className="DashboardV2-content"> - <div className="DashboardV2-cards"> - <OverviewCard statsArbitrum={statsArbitrum} statsAvalanche={statsAvalanche} /> - <StatsCard statsArbitrum={statsArbitrum} statsAvalanche={statsAvalanche} /> - </div> - <DashboardPageTitle tradePageVersion={tradePageVersion} /> - <div className="DashboardV2-token-cards"> - <div className="stats-wrapper stats-wrapper--gmx"> - <GmxCard - chainId={chainId} - gmxPrice={gmxPrice} - gmxPriceFromArbitrum={gmxPriceFromArbitrum} - gmxPriceFromAvalanche={gmxPriceFromAvalanche} - totalGmxSupply={totalGmxSupply} - gmxMarketCap={gmxMarketCap} - totalGmxInLiquidity={totalGmxInLiquidity} - /> + <h2 className="text-h2 px-12 font-medium">{t`Tokens`}</h2> + <div className="DashboardV2-token-cards"> + <div className="stats-wrapper stats-wrapper--gmx"> + <GmxCard + chainId={chainId} + gmxPrice={gmxPrice} + gmxPriceFromArbitrum={gmxPriceFromArbitrum} + gmxPriceFromAvalanche={gmxPriceFromAvalanche} + totalGmxSupply={totalGmxSupply} + gmxMarketCap={gmxMarketCap} + totalGmxInLiquidity={totalGmxInLiquidity} + /> + {isV1 && ( + <GlpCard + chainId={chainId} + glpPrice={glpPrice} + glpSupply={glpSupply} + glpMarketCap={glpMarketCap} + adjustedUsdgSupply={adjustedUsdgSupply} + /> + )} + {isV2 && <GmCard />} + </div> {isV1 && ( - <GlpCard + <MarketsListV1 chainId={chainId} - glpPrice={glpPrice} - glpSupply={glpSupply} - glpMarketCap={glpMarketCap} + infoTokens={infoTokens} + totalTokenWeights={totalTokenWeights} adjustedUsdgSupply={adjustedUsdgSupply} /> )} - {isV2 && <GmCard />} + {isV2 && ( + <SyntheticsStateContextProvider skipLocalReferralCode={false} pageType="pools"> + <MarketsList /> + </SyntheticsStateContextProvider> + )} </div> - {isV1 && ( - <MarketsListV1 - chainId={chainId} - infoTokens={infoTokens} - totalTokenWeights={totalTokenWeights} - adjustedUsdgSupply={adjustedUsdgSupply} - /> - )} - {isV2 && ( - <SyntheticsStateContextProvider skipLocalReferralCode={false} pageType="pools"> - <MarketsList /> - </SyntheticsStateContextProvider> - )} </div> </div> - <Footer /> - </div> + </AppPageLayout> </SEO> ); } diff --git a/src/pages/Dashboard/GmCard.tsx b/src/pages/Dashboard/GmCard.tsx index f471b9f1a4..72457d6c0b 100644 --- a/src/pages/Dashboard/GmCard.tsx +++ b/src/pages/Dashboard/GmCard.tsx @@ -17,10 +17,10 @@ import { EMPTY_OBJECT } from "lib/objects"; import { TOKEN_COLOR_MAP } from "sdk/configs/tokens"; import { bigMath } from "sdk/utils/bigmath"; +import { AppCard, AppCardSection, AppCardSplit } from "components/AppCard/AppCard"; +import Button from "components/Button/Button"; import InteractivePieChart from "components/InteractivePieChart/InteractivePieChart"; -import AssetDropdown from "./AssetDropdown"; - export function GmCard() { const { chainId } = useChainId(); const currentIcons = getIcons(chainId)!; @@ -65,39 +65,60 @@ export function GmCard() { }, [marketsInfoData, totalGMSupply]); return ( - <div className="App-card"> - <div className="stats-block"> - <div className="App-card-title"> - <div className="App-card-title-mark"> - <div className="App-card-title-mark-icon"> - <img src={currentIcons.gm} width="40" alt="GM Icon" /> - </div> - <div className="App-card-title-mark-info"> - <div className="App-card-title-mark-title">GM</div> - <div className="App-card-title-mark-subtitle">GM</div> - </div> - <div> - <AssetDropdown assetSymbol="GM" /> - </div> - </div> - </div> - <div className="App-card-divider"></div> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>Supply</Trans> - </div> - <div>{formatAmountHuman(totalGMSupply?.amount, 18, false, 2)}</div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Market Cap</Trans> - </div> - <div>{formatAmountHuman(totalGMSupply?.usd, USD_DECIMALS, true, 2)}</div> - </div> - </div> - </div> - <InteractivePieChart data={chartData} label={t`GM Markets`} /> - </div> + <AppCard> + <AppCardSplit + className="grid h-full grid-cols-[1fr_minmax(250px,auto)] max-md:grid-cols-1" + leftClassName="max-md:border-b-stroke max-md:border-r-0" + left={ + <> + <AppCardSection> + <div className="flex items-center justify-between"> + <div className="App-card-title-mark"> + <div className="App-card-title-mark-icon"> + <img src={currentIcons.gm} width="40" alt="GM Icon" /> + </div> + <div className="App-card-title-mark-info"> + <div className="App-card-title-mark-title">GM</div> + <div className="App-card-title-mark-subtitle">GM</div> + </div> + </div> + <div className="h-32"> + <Button size="small" variant="secondary" to="/pools"> + <img src={currentIcons.gm} width="16" alt="GMX Icon" /> + <Trans>Buy GM</Trans> + </Button> + </div> + </div> + <div className="text-13 text-slate-100"> + GM is the liquidity provider token for GMX V2 markets. Accrues 63% of the V2 markets generated fees. + </div> + </AppCardSection> + <AppCardSection> + <div className="App-card-row"> + <div className="label"> + <Trans>Supply</Trans> + </div> + <div> + <span className="numbers">{formatAmountHuman(totalGMSupply?.amount, 18, false, 2)}</span> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Market Cap</Trans> + </div> + <div> + <span className="numbers">{formatAmountHuman(totalGMSupply?.usd, USD_DECIMALS, true, 2)}</span> + </div> + </div> + </AppCardSection> + </> + } + right={ + <AppCardSection> + <InteractivePieChart data={chartData} label={t`GM Markets`} /> + </AppCardSection> + } + /> + </AppCard> ); } diff --git a/src/pages/Dashboard/GmxCard.tsx b/src/pages/Dashboard/GmxCard.tsx index ad2b84b2b4..39b123f837 100644 --- a/src/pages/Dashboard/GmxCard.tsx +++ b/src/pages/Dashboard/GmxCard.tsx @@ -12,12 +12,12 @@ import { sumBigInts } from "lib/sumBigInts"; import { bigMath } from "sdk/utils/bigmath"; import { AmountWithUsdHuman } from "components/AmountWithUsd/AmountWithUsd"; +import { AppCard, AppCardSection, AppCardSplit } from "components/AppCard/AppCard"; +import Button from "components/Button/Button"; import InteractivePieChart from "components/InteractivePieChart/InteractivePieChart"; import StatsTooltipRow from "components/StatsTooltip/StatsTooltipRow"; import TooltipComponent from "components/Tooltip/Tooltip"; -import AssetDropdown from "./AssetDropdown"; - export function GmxCard({ chainId, gmxPrice, @@ -88,128 +88,155 @@ export function GmxCard({ const formattedTotalStakedGmxUsd = formatAmountHuman(totalStakedGmxUsd, USD_DECIMALS, true, 2); return ( - <div className="App-card"> - <div className="stats-block"> - <div className="App-card-title"> - <div className="App-card-title-mark"> - <div className="App-card-title-mark-icon"> - <img src={currentIcons.gmx} width="40" alt="GMX Token Icon" /> - </div> - <div className="App-card-title-mark-info"> - <div className="App-card-title-mark-title">GMX</div> - <div className="App-card-title-mark-subtitle">GMX</div> - </div> - <div> - <AssetDropdown assetSymbol="GMX" /> - </div> - </div> - </div> - <div className="App-card-divider"></div> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>Price</Trans> - </div> - <div> - {gmxPrice === undefined || gmxPrice === 0n ? ( - "..." - ) : ( - <TooltipComponent - position="bottom-end" - className="whitespace-nowrap" - handle={"$" + formatAmount(gmxPrice, USD_DECIMALS, GMX_PRICE_DECIMALS, true)} - content={ - <> - <StatsTooltipRow - label={t`Price on Arbitrum`} - value={formatAmount(gmxPriceFromArbitrum, USD_DECIMALS, GMX_PRICE_DECIMALS, true)} - showDollar={true} - /> - <StatsTooltipRow - label={t`Price on Avalanche`} - value={formatAmount(gmxPriceFromAvalanche, USD_DECIMALS, GMX_PRICE_DECIMALS, true)} - showDollar={true} - /> - </> - } - /> - )} - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Total Supply</Trans> - </div> - <div> - <TooltipComponent - position="bottom-end" - handle={formatAmountHuman(totalGmxSupply, GMX_DECIMALS, false, 2)} - content={t`Total circulating supply of GMX tokens.`} - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Total Staked</Trans> - </div> - <div> - <TooltipComponent - position="bottom-end" - tooltipClassName="!max-w-[450px]" - handle={formattedTotalStakedGmxUsd} - content={ - <> - <StatsTooltipRow - label={t`Staked on Arbitrum`} - value={ - <AmountWithUsdHuman - amount={stakedGmxArbitrum} - usd={stakedGmxArbitrumUsd} - decimals={GMX_DECIMALS} - symbol="GMX" - /> + <AppCard> + <AppCardSplit + className="grid h-full grid-cols-[1fr_minmax(250px,auto)] max-md:grid-cols-1" + leftClassName="max-md:border-b-stroke max-md:border-r-0" + left={ + <> + <AppCardSection> + <div className="flex items-center justify-between"> + <div className="App-card-title-mark"> + <div className="App-card-title-mark-icon"> + <img src={currentIcons.gmx} width="40" alt="GMX Token Icon" /> + </div> + <div className="App-card-title-mark-info"> + <div className="App-card-title-mark-title">GMX</div> + <div className="App-card-title-mark-subtitle">GMX</div> + </div> + </div> + <div className="h-32"> + <Button size="small" variant="secondary" to="/buy_gmx"> + <img src={currentIcons.gmx} width="16" alt="GMX Icon" /> + <Trans>Buy GMX</Trans> + </Button> + </div> + </div> + <div className="text-13 text-slate-100"> + GMX is the utility and governance token. Accrues 30% and 27% of V1 and V2 markets generated fees, + respectively. + </div> + </AppCardSection> + + <AppCardSection> + <div className="App-card-row"> + <div className="label"> + <Trans>Price</Trans> + </div> + <div> + {gmxPrice === undefined || gmxPrice === 0n ? ( + "..." + ) : ( + <TooltipComponent + position="bottom-end" + className="whitespace-nowrap" + handle={ + <span className="numbers"> + {"$" + formatAmount(gmxPrice, USD_DECIMALS, GMX_PRICE_DECIMALS, true)} + </span> } - showDollar={false} - /> - <StatsTooltipRow - label={t`Staked on Avalanche`} - value={ - <AmountWithUsdHuman - amount={stakedGmxAvalanche} - usd={stakedGmxAvalancheUsd} - decimals={GMX_DECIMALS} - symbol="GMX" - /> + content={ + <> + <StatsTooltipRow + label={t`Price on Arbitrum`} + value={formatAmount(gmxPriceFromArbitrum, USD_DECIMALS, GMX_PRICE_DECIMALS, true)} + showDollar={true} + /> + <StatsTooltipRow + label={t`Price on Avalanche`} + value={formatAmount(gmxPriceFromAvalanche, USD_DECIMALS, GMX_PRICE_DECIMALS, true)} + showDollar={true} + /> + </> } - showDollar={false} /> - <div className="!my-8 h-1 bg-gray-800" /> - <StatsTooltipRow - label={t`Total`} - value={ - <AmountWithUsdHuman - amount={totalStakedGmx} - usd={totalStakedGmxUsd} - decimals={GMX_DECIMALS} - symbol="GMX" + )} + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Total Supply</Trans> + </div> + <div> + <TooltipComponent + position="bottom-end" + handle={ + <span className="numbers">{formatAmountHuman(totalGmxSupply, GMX_DECIMALS, false, 2)}</span> + } + content={t`Total circulating supply of GMX tokens.`} + /> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Total Staked</Trans> + </div> + <div> + <TooltipComponent + position="bottom-end" + tooltipClassName="!max-w-[450px]" + handle={<span className="numbers">{formattedTotalStakedGmxUsd}</span>} + content={ + <> + <StatsTooltipRow + label={t`Staked on Arbitrum`} + value={ + <AmountWithUsdHuman + amount={stakedGmxArbitrum} + usd={stakedGmxArbitrumUsd} + decimals={GMX_DECIMALS} + symbol="GMX" + /> + } + showDollar={false} /> - } - showDollar={false} - /> - </> - } - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Market Cap</Trans> - </div> - <div>{formatAmountHuman(gmxMarketCap, USD_DECIMALS, true, 2)}</div> - </div> - </div> - </div> - <InteractivePieChart data={gmxDistributionData} label={t`Distribution`} /> - </div> + <StatsTooltipRow + label={t`Staked on Avalanche`} + value={ + <AmountWithUsdHuman + amount={stakedGmxAvalanche} + usd={stakedGmxAvalancheUsd} + decimals={GMX_DECIMALS} + symbol="GMX" + /> + } + showDollar={false} + /> + <div className="!my-8 h-1 bg-gray-800" /> + <StatsTooltipRow + label={t`Total`} + value={ + <AmountWithUsdHuman + amount={totalStakedGmx} + usd={totalStakedGmxUsd} + decimals={GMX_DECIMALS} + symbol="GMX" + /> + } + showDollar={false} + /> + </> + } + /> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Market Cap</Trans> + </div> + <div> + <span className="numbers">{formatAmountHuman(gmxMarketCap, USD_DECIMALS, true, 2)}</span> + </div> + </div> + </AppCardSection> + </> + } + right={ + <AppCardSection> + <InteractivePieChart data={gmxDistributionData} label={t`Distribution`} /> + </AppCardSection> + } + ></AppCardSplit> + </AppCard> ); } diff --git a/src/pages/Dashboard/MarketsListV1.tsx b/src/pages/Dashboard/MarketsListV1.tsx index ad33d22675..9a96620555 100644 --- a/src/pages/Dashboard/MarketsListV1.tsx +++ b/src/pages/Dashboard/MarketsListV1.tsx @@ -47,7 +47,7 @@ export function MarketsListV1({ </div> <table className="w-full"> <thead> - <TableTheadTr bordered> + <TableTheadTr> <TableTh> <Trans>TOKEN</Trans> </TableTh> @@ -87,7 +87,7 @@ export function MarketsListV1({ } return ( - <TableTr key={token.address} bordered={false} hoverable={false}> + <TableTr key={token.address} hoverable={false}> <TableTd> <div className="token-symbol-wrapper"> <div className="App-card-title-info"> diff --git a/src/pages/Dashboard/OverviewCard.tsx b/src/pages/Dashboard/OverviewCard.tsx index 41ab8afb78..b33921c610 100644 --- a/src/pages/Dashboard/OverviewCard.tsx +++ b/src/pages/Dashboard/OverviewCard.tsx @@ -17,6 +17,7 @@ import { sumBigInts } from "lib/sumBigInts"; import useWallet from "lib/wallets/useWallet"; import { bigMath } from "sdk/utils/bigmath"; +import { AppCard, AppCardSection, AppCardSplit } from "components/AppCard/AppCard"; import ChainsStatsTooltipRow from "components/StatsTooltip/ChainsStatsTooltipRow"; import StatsTooltipRow from "components/StatsTooltip/StatsTooltipRow"; import TooltipComponent from "components/Tooltip/Tooltip"; @@ -336,13 +337,15 @@ export function OverviewCard({ <span className="label"> <Trans>Annualized:</Trans> </span> - <span className="amount">{formatAmountHuman(annualizedTotal, USD_DECIMALS, true, 2)}</span> + <span className="amount numbers">{formatAmountHuman(annualizedTotal, USD_DECIMALS, true, 2)}</span> </p> <p className="Tooltip-row"> <span className="label"> <Trans>Annualized Buy Pressure (BB&D):</Trans> </span> - <span className="amount">{formatAmountHuman(annualizedTotalBuyingPressure, USD_DECIMALS, true, 2)}</span> + <span className="amount numbers"> + {formatAmountHuman(annualizedTotalBuyingPressure, USD_DECIMALS, true, 2)} + </span> </p> <p className="Tooltip-row !mt-16"> <Trans>Annualized data based on the past 7 days.</Trans> @@ -359,200 +362,217 @@ export function OverviewCard({ ]); return ( - <div className="App-card"> - <div className="App-card-title"> + <AppCard> + <AppCardSection className="text-body-large font-medium"> <Trans>Overview</Trans> - </div> - <div className="App-card-divider"></div> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>TVL</Trans> - </div> - <div> - <TooltipComponent - handle={formatAmountHuman(displayTvl, USD_DECIMALS, true, 2)} - position="bottom-end" - content={ - <> - <Trans>Total value locked takes into account:</Trans> - <br /> - <ul className="my-8 list-disc"> - <li className="p-2">GMX Staked</li> - <li className="p-2">GLP Pool</li> - <li className="p-2">GM Pools</li> - <li className="p-2">Positions' Collateral</li> - </ul> - <StatsTooltipRow - label="Arbitrum" - showDollar={false} - value={formatAmountHuman(displayTvlArbitrum, USD_DECIMALS, true, 2)} - /> - <StatsTooltipRow - label="Avalanche" - showDollar={false} - value={formatAmountHuman(displayTvlAvalanche, USD_DECIMALS, true, 2)} - /> - <StatsTooltipRow - label="Botanix" - showDollar={false} - value={formatAmountHuman(displayTvlBotanix, USD_DECIMALS, true, 2)} - /> - <div className="!my-8 h-1 bg-gray-800" /> - <StatsTooltipRow - label="Total" - showDollar={false} - value={formatAmountHuman(displayTvl, USD_DECIMALS, true, 2)} - /> - </> - } - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>GLP Pool</Trans> - </div> - <div> - <TooltipComponent - handle={formatAmountHuman(totalGlpTvl, USD_DECIMALS, true, 2)} - position="bottom-end" - content={ - <> - <Trans>Total value of tokens in the GLP pools.</Trans> - <br /> - <br /> - <StatsTooltipRow - label="Arbitrum" - showDollar={false} - value={formatAmountHuman(glpTvlArbitrum, USD_DECIMALS, true, 2)} - /> - <StatsTooltipRow - label="Avalanche" - showDollar={false} - value={formatAmountHuman(glpTvlAvalanche, USD_DECIMALS, true, 2)} - /> - <div className="my-8 h-1 bg-gray-800" /> - <StatsTooltipRow - label="Total" - showDollar={false} - value={formatAmountHuman(totalGlpTvl, USD_DECIMALS, true, 2)} - /> - <br /> - <Trans> - This value may be higher on other websites due to the collateral of positions being included in the - calculation. - </Trans> - </> - } - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>GM Pools</Trans> - </div> - <div> - <TooltipComponent - handle={formatAmountHuman(totalGmTvl, USD_DECIMALS, true, 2)} - position="bottom-end" - content={ - <> - <Trans>Total value of tokens in GM Pools.</Trans> - <br /> - <br /> - <StatsTooltipRow - label="Arbitrum" - showDollar={false} - value={formatAmountHuman(gmTvlArbitrum, USD_DECIMALS, true, 2)} - /> - <StatsTooltipRow - label="Avalanche" - showDollar={false} - value={formatAmountHuman(gmTvlAvalanche, USD_DECIMALS, true, 2)} - /> - <StatsTooltipRow - label="Botanix" - showDollar={false} - value={formatAmountHuman(gmTvlBotanix, USD_DECIMALS, true, 2)} - /> - <div className="!my-8 h-1 bg-gray-800" /> - <StatsTooltipRow - label="Total" - showDollar={false} - value={formatAmountHuman(totalGmTvl, USD_DECIMALS, true, 2)} - /> - </> - } - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>24h Volume</Trans> - </div> - <div> - <TooltipComponent - position="bottom-end" - className="whitespace-nowrap" - handle={formatAmountHuman(totalDailyVolume, USD_DECIMALS, true, 2)} - content={<ChainsStatsTooltipRow entries={dailyVolumeEntries} />} - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Open Interest</Trans> - </div> - <div> - <TooltipComponent - position="bottom-end" - className="whitespace-nowrap" - handle={formatAmountHuman(totalOpenInterest, USD_DECIMALS, true, 2)} - content={<ChainsStatsTooltipRow entries={openInterestEntries} />} - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Long Positions</Trans> - </div> - <div> - <TooltipComponent - position="bottom-end" - className="whitespace-nowrap" - handle={formatAmountHuman(totalLongPositionSizes, USD_DECIMALS, true, 2)} - content={<ChainsStatsTooltipRow entries={totalLongPositionSizesEntries} />} - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Short Positions</Trans> - </div> - <div> - <TooltipComponent - position="bottom-end" - className="whitespace-nowrap" - handle={formatAmountHuman(totalShortPositionSizes, USD_DECIMALS, true, 2)} - content={<ChainsStatsTooltipRow entries={totalShortPositionSizesEntries} />} - /> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Fees for the past</Trans> {formattedDuration} - </div> - <div> - <TooltipComponent - position="bottom-end" - className="whitespace-nowrap" - handle={formatAmountHuman(totalEpochFeesUsd, USD_DECIMALS, true, 2)} - content={<ChainsStatsTooltipRow entries={epochFeesEntries} subtotal={feesSubtotal} />} - /> - </div> - </div> - </div> - </div> + </AppCardSection> + <AppCardSplit + className="max-lg:flex-col" + leftClassName="max-lg:border-r-0 max-lg:border-b" + right={ + <AppCardSection className="pb-24"> + <div className="App-card-row"> + <div className="label"> + <Trans>TVL</Trans> + </div> + <div> + <TooltipComponent + handle={<span className="numbers">{formatAmountHuman(displayTvl, USD_DECIMALS, true, 2)}</span>} + position="bottom-end" + content={ + <> + <Trans>Total value locked takes into account:</Trans> + <br /> + <ul className="my-8 list-disc"> + <li className="p-2">GMX Staked</li> + <li className="p-2">GLP Pool</li> + <li className="p-2">GM Pools</li> + <li className="p-2">Positions' Collateral</li> + </ul> + <StatsTooltipRow + label="Arbitrum" + showDollar={false} + value={formatAmountHuman(displayTvlArbitrum, USD_DECIMALS, true, 2)} + /> + <StatsTooltipRow + label="Avalanche" + showDollar={false} + value={formatAmountHuman(displayTvlAvalanche, USD_DECIMALS, true, 2)} + /> + <StatsTooltipRow + label="Botanix" + showDollar={false} + value={formatAmountHuman(displayTvlBotanix, USD_DECIMALS, true, 2)} + /> + <div className="!my-8 h-1 bg-gray-800" /> + <StatsTooltipRow + label="Total" + showDollar={false} + value={formatAmountHuman(displayTvl, USD_DECIMALS, true, 2)} + /> + </> + } + /> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>GLP Pool</Trans> + </div> + <div> + <TooltipComponent + handle={<span className="numbers">{formatAmountHuman(totalGlpTvl, USD_DECIMALS, true, 2)}</span>} + position="bottom-end" + content={ + <> + <Trans>Total value of tokens in the GLP pools.</Trans> + <br /> + <br /> + <StatsTooltipRow + label="Arbitrum" + showDollar={false} + value={formatAmountHuman(glpTvlArbitrum, USD_DECIMALS, true, 2)} + /> + <StatsTooltipRow + label="Avalanche" + showDollar={false} + value={formatAmountHuman(glpTvlAvalanche, USD_DECIMALS, true, 2)} + /> + <div className="my-8 h-1 bg-gray-800" /> + <StatsTooltipRow + label="Total" + showDollar={false} + value={formatAmountHuman(totalGlpTvl, USD_DECIMALS, true, 2)} + /> + <br /> + <Trans> + This value may be higher on other websites due to the collateral of positions being included in + the calculation. + </Trans> + </> + } + /> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>GM Pools</Trans> + </div> + <div> + <TooltipComponent + handle={<span className="numbers">{formatAmountHuman(totalGmTvl, USD_DECIMALS, true, 2)}</span>} + position="bottom-end" + content={ + <> + <Trans>Total value of tokens in GM Pools.</Trans> + <br /> + <br /> + <StatsTooltipRow + label="Arbitrum" + showDollar={false} + value={formatAmountHuman(gmTvlArbitrum, USD_DECIMALS, true, 2)} + /> + <StatsTooltipRow + label="Avalanche" + showDollar={false} + value={formatAmountHuman(gmTvlAvalanche, USD_DECIMALS, true, 2)} + /> + <StatsTooltipRow + label="Botanix" + showDollar={false} + value={formatAmountHuman(gmTvlBotanix, USD_DECIMALS, true, 2)} + /> + <div className="!my-8 h-1 bg-gray-800" /> + <StatsTooltipRow + label="Total" + showDollar={false} + value={formatAmountHuman(totalGmTvl, USD_DECIMALS, true, 2)} + /> + </> + } + /> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>24h Volume</Trans> + </div> + <div> + <TooltipComponent + position="bottom-end" + className="whitespace-nowrap" + handle={<span className="numbers">{formatAmountHuman(totalDailyVolume, USD_DECIMALS, true, 2)}</span>} + content={<ChainsStatsTooltipRow entries={dailyVolumeEntries} />} + /> + </div> + </div> + </AppCardSection> + } + left={ + <AppCardSection className="pb-24"> + <div className="App-card-row"> + <div className="label"> + <Trans>Open Interest</Trans> + </div> + <div> + <TooltipComponent + position="bottom-end" + className="whitespace-nowrap" + handle={ + <span className="numbers">{formatAmountHuman(totalOpenInterest, USD_DECIMALS, true, 2)}</span> + } + content={<ChainsStatsTooltipRow entries={openInterestEntries} />} + /> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Long Positions</Trans> + </div> + <div> + <TooltipComponent + position="bottom-end" + className="whitespace-nowrap" + handle={ + <span className="numbers">{formatAmountHuman(totalLongPositionSizes, USD_DECIMALS, true, 2)}</span> + } + content={<ChainsStatsTooltipRow entries={totalLongPositionSizesEntries} />} + /> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Short Positions</Trans> + </div> + <div> + <TooltipComponent + position="bottom-end" + className="whitespace-nowrap" + handle={ + <span className="numbers">{formatAmountHuman(totalShortPositionSizes, USD_DECIMALS, true, 2)}</span> + } + content={<ChainsStatsTooltipRow entries={totalShortPositionSizesEntries} />} + /> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Fees for the past</Trans> {formattedDuration} + </div> + <div> + <TooltipComponent + position="bottom-end" + className="whitespace-nowrap" + handle={ + <span className="numbers">{formatAmountHuman(totalEpochFeesUsd, USD_DECIMALS, true, 2)}</span> + } + content={<ChainsStatsTooltipRow entries={epochFeesEntries} subtotal={feesSubtotal} />} + /> + </div> + </div> + </AppCardSection> + } + ></AppCardSplit> + </AppCard> ); } diff --git a/src/pages/Dashboard/StatsCard.tsx b/src/pages/Dashboard/StatsCard.tsx index d07a2db28e..0328b53edb 100644 --- a/src/pages/Dashboard/StatsCard.tsx +++ b/src/pages/Dashboard/StatsCard.tsx @@ -15,6 +15,7 @@ import useWallet from "lib/wallets/useWallet"; import { getTokenBySymbol } from "sdk/configs/tokens"; import { bigMath } from "sdk/utils/bigmath"; +import { AppCard, AppCardSection } from "components/AppCard/AppCard"; import ChainsStatsTooltipRow from "components/StatsTooltip/ChainsStatsTooltipRow"; import TooltipComponent from "components/Tooltip/Tooltip"; @@ -129,12 +130,11 @@ export function StatsCard({ ); return ( - <div className="App-card"> - <div className="App-card-title"> + <AppCard> + <AppCardSection className="text-body-large font-medium"> <Trans>Stats</Trans> - </div> - <div className="App-card-divider"></div> - <div className="App-card-content"> + </AppCardSection> + <AppCardSection> <div className="App-card-row"> <div className="label"> <Trans>Fees</Trans> @@ -143,7 +143,7 @@ export function StatsCard({ <TooltipComponent position="bottom-end" className="whitespace-nowrap" - handle={formatAmountHuman(totalFeesUsd, USD_DECIMALS, true, 2)} + handle={<span className="numbers">{formatAmountHuman(totalFeesUsd, USD_DECIMALS, true, 2)}</span>} content={<ChainsStatsTooltipRow entries={totalFeesEntries} />} /> </div> @@ -156,19 +156,23 @@ export function StatsCard({ <TooltipComponent position="bottom-end" className="whitespace-nowrap" - handle={formatAmountHuman( - sumBigInts( - v1TotalVolume?.[ARBITRUM], - v1TotalVolume?.[AVALANCHE], - v1TotalVolume?.[BOTANIX], - v2ArbitrumOverview?.totalVolume, - v2AvalancheOverview?.totalVolume, - v2BotanixOverview?.totalVolume - ), - USD_DECIMALS, - true, - 2 - )} + handle={ + <span className="numbers"> + {formatAmountHuman( + sumBigInts( + v1TotalVolume?.[ARBITRUM], + v1TotalVolume?.[AVALANCHE], + v1TotalVolume?.[BOTANIX], + v2ArbitrumOverview?.totalVolume, + v2AvalancheOverview?.totalVolume, + v2BotanixOverview?.totalVolume + ), + USD_DECIMALS, + true, + 2 + )} + </span> + } content={<ChainsStatsTooltipRow entries={totalVolumeEntries} />} /> </div> @@ -181,19 +185,23 @@ export function StatsCard({ <TooltipComponent position="bottom-end" className="whitespace-nowrap" - handle={formatAmountHuman( - sumBigInts( - uniqueUsers?.[ARBITRUM], - uniqueUsers?.[AVALANCHE], - uniqueUsers?.[BOTANIX], - v2ArbitrumOverview?.totalUsers, - v2AvalancheOverview?.totalUsers, - v2BotanixOverview?.totalUsers - ), - 0, - false, - 2 - )} + handle={ + <span className="numbers"> + {formatAmountHuman( + sumBigInts( + uniqueUsers?.[ARBITRUM], + uniqueUsers?.[AVALANCHE], + uniqueUsers?.[BOTANIX], + v2ArbitrumOverview?.totalUsers, + v2AvalancheOverview?.totalUsers, + v2BotanixOverview?.totalUsers + ), + 0, + false, + 2 + )} + </span> + } content={ <ChainsStatsTooltipRow showDollar={false} entries={uniqueUsersEntries} decimalsForConversion={0} /> } @@ -204,9 +212,11 @@ export function StatsCard({ <div className="label"> <Trans>Treasury</Trans> </div> - <div>{formatAmountHuman(totalTreasuryFundUsd, USD_DECIMALS, true, 2)}</div> + <div> + <span className="numbers">{formatAmountHuman(totalTreasuryFundUsd, USD_DECIMALS, true, 2)}</span> + </div> </div> - </div> - </div> + </AppCardSection> + </AppCard> ); } diff --git a/src/pages/Ecosystem/Ecosystem.css b/src/pages/Ecosystem/Ecosystem.css index 5ae6ba571c..a41cb5ac66 100644 --- a/src/pages/Ecosystem/Ecosystem.css +++ b/src/pages/Ecosystem/Ecosystem.css @@ -4,6 +4,32 @@ grid-gap: 1.5rem; } +.Ecosystem-projects .App-card-title-icon { + position: relative; +} + +.Ecosystem-projects .App-card-title-icon img { + position: absolute; + max-width: 20px; + top: 50%; + transform: translateY(-50%); +} + +.Ecosystem-projects .App-card-title-icon img:nth-child(1) { + right: 0px; + z-index: 1; +} + +.Ecosystem-projects .App-card-title-icon img:nth-child(2) { + right: 16px; + z-index: 2; +} + +.Ecosystem-projects .App-card-title-icon img:nth-child(3) { + right: 32px; + z-index: 3; +} + @media (max-width: 1000px) { .Ecosystem-projects { grid-template-columns: 1fr 1fr; diff --git a/src/pages/Ecosystem/Ecosystem.tsx b/src/pages/Ecosystem/Ecosystem.tsx index 619093edd2..f9086cf2cd 100644 --- a/src/pages/Ecosystem/Ecosystem.tsx +++ b/src/pages/Ecosystem/Ecosystem.tsx @@ -5,9 +5,9 @@ import { ARBITRUM, AVALANCHE } from "config/chains"; import { getIcon } from "config/icons"; import { getPageTitle } from "lib/legacy"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import SEO from "components/Common/SEO"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Footer from "components/Footer/Footer"; import PageTitle from "components/PageTitle/PageTitle"; import { communityProjects, dashboardProjects, gmxPages, integrations, telegramGroups } from "./ecosystemConstants"; @@ -28,236 +28,226 @@ export default function Ecosystem() { const { _ } = useLingui(); return ( - <SEO title={getPageTitle(t`Ecosystem Projects`)}> - <div className="default-container page-layout"> - <div> - <PageTitle - showNetworkIcon={false} - isTop - title={t`GMX Pages`} - subtitle={t`GMX ecosystem pages.`} - qa="ecosystem-page" - /> - <div className="Ecosystem-projects"> - {gmxPages.map((item) => { - const linkLabel = item.linkLabel ? item.linkLabel : item.link; - return ( - <div className="App-card" key={item.title.id}> - <div className="App-card-title"> - {_(item.title)} - <div className="App-card-title-icon"> - {item.chainIds.map((network) => ( - <img width="16" key={network} src={NETWORK_ICONS[network]} alt={NETWORK_ICON_ALTS[network]} /> - ))} - </div> - </div> - <div className="App-card-divider"></div> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>Link</Trans> - </div> - <div> - <ExternalLink href={item.link}>{linkLabel}</ExternalLink> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>About</Trans> + <AppPageLayout> + <SEO title={getPageTitle(t`Ecosystem Projects`)}> + <div className="default-container page-layout"> + <div className="flex flex-col gap-20"> + <PageTitle isTop title={t`GMX Pages`} subtitle={t`GMX ecosystem pages.`} qa="ecosystem-page" /> + <div className="Ecosystem-projects"> + {gmxPages.map((item) => { + const linkLabel = item.linkLabel ? item.linkLabel : item.link; + return ( + <div className="App-card" key={item.title.id}> + <div className="App-card-title"> + {_(item.title)} + <div className="App-card-title-icon"> + {item.chainIds.toReversed().map((network) => ( + <img width="20" key={network} src={NETWORK_ICONS[network]} alt={NETWORK_ICON_ALTS[network]} /> + ))} + </div> + </div> + <div className="App-card-divider"></div> + <div className="App-card-content"> + <div className="App-card-row"> + <div className="label"> + <Trans>Link</Trans> + </div> + <div> + <ExternalLink href={item.link}>{linkLabel}</ExternalLink> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>About</Trans> + </div> + <div>{_(item.about)}</div> </div> - <div>{_(item.about)}</div> </div> </div> - </div> - ); - })} - </div> + ); + })} + </div> - <PageTitle - showNetworkIcon={false} - title={t`Community Projects`} - subtitle={ - <Trans> - Projects developed by the GMX community. <br /> - Please exercise caution when interacting with any app, apps are fully maintained by community - developers. - </Trans> - } - /> - <div className="Ecosystem-projects"> - {communityProjects.map((item) => { - const linkLabel = item.linkLabel ? item.linkLabel : item.link; - return ( - <div className="App-card" key={item.title.id}> - <div className="App-card-title"> - {_(item.title)} - <div className="App-card-title-icon"> - {item.chainIds.map((network) => ( - <img width="16" key={network} src={NETWORK_ICONS[network]} alt={NETWORK_ICON_ALTS[network]} /> - ))} - </div> - </div> - <div className="App-card-divider" /> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>Link</Trans> + <PageTitle + title={t`Community Projects`} + subtitle={ + <Trans> + Projects developed by the GMX community. <br /> + Please exercise caution when interacting with any app, apps are fully maintained by community + developers. + </Trans> + } + /> + <div className="Ecosystem-projects"> + {communityProjects.map((item) => { + const linkLabel = item.linkLabel ? item.linkLabel : item.link; + return ( + <div className="App-card" key={item.title.id}> + <div className="App-card-title"> + {_(item.title)} + <div className="App-card-title-icon"> + {item.chainIds.toReversed().map((network) => ( + <img width="20" key={network} src={NETWORK_ICONS[network]} alt={NETWORK_ICON_ALTS[network]} /> + ))} + </div> + </div> + <div className="App-card-divider" /> + <div className="App-card-content"> + <div className="App-card-row"> + <div className="label"> + <Trans>Link</Trans> + </div> + <div> + <ExternalLink href={item.link}>{linkLabel}</ExternalLink> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>About</Trans> + </div> + <div>{_(item.about)}</div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Creator</Trans> + </div> + <div> + {Array.isArray(item.creatorLabel) ? ( + <div className="gap-right-xs"> + {item.creatorLabel.map((label, index) => ( + <ExternalLink key={label} href={item.creatorLink[index]}> + {label} + </ExternalLink> + ))} + </div> + ) : ( + <ExternalLink href={item.creatorLink as string}>{item.creatorLabel as string}</ExternalLink> + )} + </div> </div> - <div> - <ExternalLink href={item.link}>{linkLabel}</ExternalLink> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>About</Trans> - </div> - <div>{_(item.about)}</div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Creator</Trans> - </div> - <div> - {Array.isArray(item.creatorLabel) ? ( - <div className="gap-right-xs"> - {item.creatorLabel.map((label, index) => ( - <ExternalLink key={label} href={item.creatorLink[index]}> - {label} - </ExternalLink> - ))} - </div> - ) : ( - <ExternalLink href={item.creatorLink as string}>{item.creatorLabel as string}</ExternalLink> - )} - </div> - </div> - </div> - </div> - ); - })} - </div> - <PageTitle showNetworkIcon={false} title={t`Dashboards`} subtitle={t`GMX dashboards and analytics.`} /> - <div className="Ecosystem-projects"> - {dashboardProjects.map((item) => { - const linkLabel = item.linkLabel ? item.linkLabel : item.link; - return ( - <div className="App-card" key={item.title.id}> - <div className="App-card-title"> - {_(item.title)} - <div className="App-card-title-icon"> - {item.chainIds.map((network) => ( - <img width="16" key={network} src={NETWORK_ICONS[network]} alt={NETWORK_ICON_ALTS[network]} /> - ))} </div> </div> - - <div className="App-card-divider"></div> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>Link</Trans> - </div> - <div> - <ExternalLink href={item.link}>{linkLabel}</ExternalLink> + ); + })} + </div> + <PageTitle title={t`Dashboards`} subtitle={t`GMX dashboards and analytics.`} /> + <div className="Ecosystem-projects"> + {dashboardProjects.map((item) => { + const linkLabel = item.linkLabel ? item.linkLabel : item.link; + return ( + <div className="App-card" key={item.title.id}> + <div className="App-card-title"> + {_(item.title)} + <div className="App-card-title-icon"> + {item.chainIds.toReversed().map((network) => ( + <img width="20" key={network} src={NETWORK_ICONS[network]} alt={NETWORK_ICON_ALTS[network]} /> + ))} </div> </div> - <div className="App-card-row"> - <div className="label"> - <Trans>About</Trans> - </div> - <div>{_(item.about)}</div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>Creator</Trans> - </div> - <div> - <ExternalLink href={item.creatorLink}>{item.creatorLabel}</ExternalLink> + + <div className="App-card-divider"></div> + <div className="App-card-content"> + <div className="App-card-row"> + <div className="label"> + <Trans>Link</Trans> + </div> + <div> + <ExternalLink href={item.link}>{linkLabel}</ExternalLink> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>About</Trans> + </div> + <div>{_(item.about)}</div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>Creator</Trans> + </div> + <div> + <ExternalLink href={item.creatorLink}>{item.creatorLabel}</ExternalLink> + </div> </div> </div> </div> - </div> - ); - })} - </div> - <PageTitle - showNetworkIcon={false} - title={t`Partnerships and Integrations`} - subtitle={t`Projects integrated with GMX.`} - /> - <div className="Ecosystem-projects"> - {integrations.map((item) => { - const linkLabel = item.linkLabel ? item.linkLabel : item.link; - return ( - <div key={item.title.id} className="App-card"> - <div className="App-card-title"> - {_(item.title)} - <div className="App-card-title-icon"> - {item.chainIds.map((network) => ( - <img width="16" key={network} src={NETWORK_ICONS[network]} alt={NETWORK_ICON_ALTS[network]} /> - ))} - </div> - </div> - <div className="App-card-divider"></div> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>Link</Trans> - </div> - <div> - <ExternalLink href={item.link}>{linkLabel}</ExternalLink> + ); + })} + </div> + <PageTitle title={t`Partnerships and Integrations`} subtitle={t`Projects integrated with GMX.`} /> + <div className="Ecosystem-projects"> + {integrations.map((item) => { + const linkLabel = item.linkLabel ? item.linkLabel : item.link; + return ( + <div key={item.title.id} className="App-card"> + <div className="App-card-title"> + {_(item.title)} + <div className="App-card-title-icon"> + {item.chainIds.toReversed().map((network) => ( + <img width="20" key={network} src={NETWORK_ICONS[network]} alt={NETWORK_ICON_ALTS[network]} /> + ))} + </div> + </div> + <div className="App-card-divider"></div> + <div className="App-card-content"> + <div className="App-card-row"> + <div className="label"> + <Trans>Link</Trans> + </div> + <div> + <ExternalLink href={item.link}>{linkLabel}</ExternalLink> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>About</Trans> + </div> + <div>{_(item.about)}</div> </div> </div> - <div className="App-card-row"> - <div className="label"> - <Trans>About</Trans> - </div> - <div>{_(item.about)}</div> - </div> </div> - </div> - ); - })} - </div> - <div className="text-body-large mt-16"> - <Trans> - GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow{" "} - <ExternalLink href="https://www.tradingview.com/symbols/BTCUSD/">BTCUSD</ExternalLink> price in real-time, - along with other currency pair rates. The interactive charts offer advanced tools and a user-friendly - interface for easier market analysis and decision-making. - </Trans> - </div> - <PageTitle showNetworkIcon={false} title={t`Telegram Groups`} subtitle={t`Community-led Telegram groups.`} /> - <div className="Ecosystem-projects"> - {telegramGroups.map((item) => { - const linkLabel = item.linkLabel ? item.linkLabel : item.link; - return ( - <div className="App-card" key={item.title.id}> - <div className="App-card-title">{_(item.title)}</div> - <div className="App-card-divider"></div> - <div className="App-card-content"> - <div className="App-card-row"> - <div className="label"> - <Trans>Link</Trans> - </div> - <div> - <ExternalLink href={item.link}>{linkLabel}</ExternalLink> - </div> - </div> - <div className="App-card-row"> - <div className="label"> - <Trans>About</Trans> + ); + })} + </div> + <div className="text-body-large mt-16"> + <Trans> + GMX uses TradingView to provide real-time cryptocurrency charts, so you can easily follow{" "} + <ExternalLink href="https://www.tradingview.com/symbols/BTCUSD/">BTCUSD</ExternalLink> price in + real-time, along with other currency pair rates. The interactive charts offer advanced tools and a + user-friendly interface for easier market analysis and decision-making. + </Trans> + </div> + <PageTitle title={t`Telegram Groups`} subtitle={t`Community-led Telegram groups.`} /> + <div className="Ecosystem-projects"> + {telegramGroups.map((item) => { + const linkLabel = item.linkLabel ? item.linkLabel : item.link; + return ( + <div className="App-card" key={item.title.id}> + <div className="App-card-title">{_(item.title)}</div> + <div className="App-card-divider"></div> + <div className="App-card-content"> + <div className="App-card-row"> + <div className="label"> + <Trans>Link</Trans> + </div> + <div> + <ExternalLink href={item.link}>{linkLabel}</ExternalLink> + </div> + </div> + <div className="App-card-row"> + <div className="label"> + <Trans>About</Trans> + </div> + <div>{_(item.about)}</div> </div> - <div>{_(item.about)}</div> </div> </div> - </div> - ); - })} + ); + })} + </div> </div> </div> - <Footer /> - </div> - </SEO> + </SEO> + </AppPageLayout> ); } diff --git a/src/pages/Exchange/Exchange.css b/src/pages/Exchange/Exchange.css index 12b0d000bb..930377da55 100644 --- a/src/pages/Exchange/Exchange.css +++ b/src/pages/Exchange/Exchange.css @@ -344,11 +344,10 @@ body.dragging .ExchangeChart iframe { } .PositionEditor .Modal-content { - width: 38rem; + max-width: 38rem; position: absolute; max-height: 80vh; overflow: hidden; - border: none; top: auto; bottom: auto; } @@ -543,7 +542,7 @@ table.Position-list .Exchange-list-item-active { content: ""; border-left: 2px solid var(--color-cold-blue-500); position: absolute; - left: -10px; + left: -8px; bottom: -1px; height: 21px; } @@ -666,7 +665,7 @@ table.Position-list .Exchange-list-item-active { background: linear-gradient( 90deg, var(--color-cold-blue-900) 0%, - color-mix(in srgb, var(--color-slate-500) 40%, transparent) 100% + color-mix(in srgb, var(--color-slate-100) 40%, transparent) 100% ); outline: 0.05rem solid transparent; outline-offset: -0.1rem; @@ -833,12 +832,6 @@ table.Exchange-list-small td { max-height: 350px; overflow-y: auto; } - -.Exchange-list-info-label { - font-size: var(--font-size-body-medium); - margin-top: 0.31rem; -} - .Exchange-list-muted { font-size: var(--font-size-body-medium); } @@ -903,9 +896,6 @@ table.Exchange-list-small td { opacity: 0.6; } -.chart-positions:hover { - color: var(--color-white); -} .position-list-collateral { display: flex; align-items: flex-end; @@ -963,7 +953,7 @@ table.Exchange-list-small td { } } -@media (max-width: 1300px) { +@media (max-width: 1024px) { .Exchange-list.large { display: none; } @@ -993,7 +983,7 @@ table.Exchange-list-small td { } } -@media (max-width: 1100px) { +@media (max-width: 1024px) { .Chart-24h-low { display: block; } @@ -1138,9 +1128,6 @@ table.Exchange-list-small td { } @media (max-width: 450px) { - .chart-positions { - display: none; - } .Chart-min-max-price { display: none; } diff --git a/src/pages/Exchange/Exchange.tsx b/src/pages/Exchange/Exchange.tsx index e15168a2f0..f6d1f16a6d 100644 --- a/src/pages/Exchange/Exchange.tsx +++ b/src/pages/Exchange/Exchange.tsx @@ -37,6 +37,7 @@ import useWallet from "lib/wallets/useWallet"; import { getPriceDecimals, getToken, getTokenBySymbol, getV1Tokens, getWhitelistedV1Tokens } from "sdk/configs/tokens"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Checkbox from "components/Checkbox/Checkbox"; import ExchangeBanner from "components/Exchange/ExchangeBanner"; import ExchangeTVChart, { getChartToken } from "components/Exchange/ExchangeTVChart"; @@ -47,7 +48,6 @@ import SwapBox from "components/Exchange/SwapBox"; import TradeHistory from "components/Exchange/TradeHistory"; import UsefulLinks from "components/Exchange/UsefulLinks"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Footer from "components/Footer/Footer"; import Tabs from "components/Tabs/Tabs"; import "./Exchange.css"; @@ -1069,76 +1069,77 @@ export const Exchange = forwardRef( }; return ( - <div className="Exchange page-layout"> - {showBanner && <ExchangeBanner hideBanner={hideBanner} />} - <div className="Exchange-content"> - <div className="Exchange-left"> - {renderChart()} - <div className="Exchange-lists large">{getListSection()}</div> - </div> - <div className="Exchange-right"> - {getIsV1Supported(chainId) && ( - <SwapBox - pendingPositions={pendingPositions} - setPendingPositions={setPendingPositions} - setIsWaitingForPluginApproval={setIsWaitingForPluginApproval} - setIsWaitingForPositionRouterApproval={setIsWaitingForPositionRouterApproval} - approveOrderBook={approveOrderBook} - approvePositionRouter={approvePositionRouter} - isPluginApproving={isPluginApproving} - isPositionRouterApproving={isPositionRouterApproving} - isWaitingForPluginApproval={isWaitingForPluginApproval} - isWaitingForPositionRouterApproval={isWaitingForPositionRouterApproval} - orderBookApproved={orderBookApproved} - positionRouterApproved={positionRouterApproved} - orders={orders} - flagOrdersEnabled={flagOrdersEnabled} - chainId={chainId} - infoTokens={infoTokens} - positionsMap={positionsMap} - fromTokenAddress={fromTokenAddress} - setFromTokenAddress={setFromTokenAddress} - toTokenAddress={toTokenAddress} - setToTokenAddress={setToTokenAddress} - swapOption={swapOption} - setSwapOption={setSwapOption} - pendingTxns={pendingTxns} - setPendingTxns={setPendingTxns} - tokenSelection={tokenSelection} - setTokenSelection={setTokenSelection} - isConfirming={isConfirming} - setIsConfirming={setIsConfirming} - isPendingConfirmation={isPendingConfirmation} - setIsPendingConfirmation={setIsPendingConfirmation} - savedIsPnlInLeverage={isPnlInLeverage} - setSavedIsPnlInLeverage={setIsPnlInLeverage} - nativeTokenAddress={nativeTokenAddress} - savedSlippageAmount={savedAllowedSlippage} - totalTokenWeights={totalTokenWeights} - usdgSupply={usdgSupply} - savedShouldDisableValidationForTesting={shouldDisableValidationForTesting} - minExecutionFee={minExecutionFee} - minExecutionFeeUSD={minExecutionFeeUSD} - minExecutionFeeErrorMessage={minExecutionFeeErrorMessage} - positions={positions} - orderOption={orderOption} - setOrderOption={setOrderOption} - setShortCollateralAddress={setShortCollateralAddress} - shortCollateralAddress={shortCollateralAddress} - /> - )} - - <div className="Exchange-wallet-tokens"> - <div className="Exchange-wallet-tokens-content"> - <ExchangeWalletTokens tokens={tokens} infoTokens={infoTokens} onSelectToken={onSelectWalletToken} /> + <AppPageLayout> + <div className="flex flex-col gap-8"> + {showBanner && <ExchangeBanner hideBanner={hideBanner} />} + <div className="flex gap-8"> + <div className="grow"> + {renderChart()} + <div className="Exchange-lists large">{getListSection()}</div> + </div> + <div className="Exchange-right"> + {getIsV1Supported(chainId) && ( + <SwapBox + pendingPositions={pendingPositions} + setPendingPositions={setPendingPositions} + setIsWaitingForPluginApproval={setIsWaitingForPluginApproval} + setIsWaitingForPositionRouterApproval={setIsWaitingForPositionRouterApproval} + approveOrderBook={approveOrderBook} + approvePositionRouter={approvePositionRouter} + isPluginApproving={isPluginApproving} + isPositionRouterApproving={isPositionRouterApproving} + isWaitingForPluginApproval={isWaitingForPluginApproval} + isWaitingForPositionRouterApproval={isWaitingForPositionRouterApproval} + orderBookApproved={orderBookApproved} + positionRouterApproved={positionRouterApproved} + orders={orders} + flagOrdersEnabled={flagOrdersEnabled} + chainId={chainId} + infoTokens={infoTokens} + positionsMap={positionsMap} + fromTokenAddress={fromTokenAddress} + setFromTokenAddress={setFromTokenAddress} + toTokenAddress={toTokenAddress} + setToTokenAddress={setToTokenAddress} + swapOption={swapOption} + setSwapOption={setSwapOption} + pendingTxns={pendingTxns} + setPendingTxns={setPendingTxns} + tokenSelection={tokenSelection} + setTokenSelection={setTokenSelection} + isConfirming={isConfirming} + setIsConfirming={setIsConfirming} + isPendingConfirmation={isPendingConfirmation} + setIsPendingConfirmation={setIsPendingConfirmation} + savedIsPnlInLeverage={isPnlInLeverage} + setSavedIsPnlInLeverage={setIsPnlInLeverage} + nativeTokenAddress={nativeTokenAddress} + savedSlippageAmount={savedAllowedSlippage} + totalTokenWeights={totalTokenWeights} + usdgSupply={usdgSupply} + savedShouldDisableValidationForTesting={shouldDisableValidationForTesting} + minExecutionFee={minExecutionFee} + minExecutionFeeUSD={minExecutionFeeUSD} + minExecutionFeeErrorMessage={minExecutionFeeErrorMessage} + positions={positions} + orderOption={orderOption} + setOrderOption={setOrderOption} + setShortCollateralAddress={setShortCollateralAddress} + shortCollateralAddress={shortCollateralAddress} + /> + )} + + <div className="Exchange-wallet-tokens"> + <div className="Exchange-wallet-tokens-content"> + <ExchangeWalletTokens tokens={tokens} infoTokens={infoTokens} onSelectToken={onSelectWalletToken} /> + </div> </div> </div> + <div className="Exchange-lists small">{getListSection()}</div> + <UsefulLinks className="Useful-links-exchange" /> </div> - <div className="Exchange-lists small">{getListSection()}</div> - <UsefulLinks className="Useful-links-exchange" /> </div> - <Footer /> - </div> + </AppPageLayout> ); } ); diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx index 8205ff9d75..20f960eaaa 100644 --- a/src/pages/Home/Home.tsx +++ b/src/pages/Home/Home.tsx @@ -14,7 +14,6 @@ import { userAnalytics } from "lib/userAnalytics"; import { LandingPageLaunchAppEvent, LandingPageViewEvent } from "lib/userAnalytics/types"; import { useRedirectPopupTimestamp } from "lib/useRedirectPopupTimestamp"; -import Footer from "components/Footer/Footer"; import { HeaderLink } from "components/Header/HeaderLink"; import TokenCard from "components/TokenCard/TokenCard"; @@ -358,7 +357,6 @@ export default function Home({ showRedirectModal }) { </div> </div> </div> */} - <Footer showRedirectModal={showRedirectModal} /> </div> ); } diff --git a/src/pages/Jobs/Jobs.jsx b/src/pages/Jobs/Jobs.jsx index a26ac27f17..93860a6280 100644 --- a/src/pages/Jobs/Jobs.jsx +++ b/src/pages/Jobs/Jobs.jsx @@ -3,33 +3,34 @@ import React from "react"; import { getPageTitle } from "lib/legacy"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Card from "components/Common/Card"; import SEO from "components/Common/SEO"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Footer from "components/Footer/Footer"; import "./Jobs.css"; function Jobs() { return ( <SEO title={getPageTitle(t`Job Openings`)}> - <div className="default-container page-layout Referrals"> - <div className="section-title-block"> - <div className="section-title-icon" /> - <div className="section-title-content"> - <div className="Page-title"> - <Trans>Jobs</Trans> - </div> - <div className="Page-description"> - <Trans>Job openings at GMX.</Trans> + <AppPageLayout> + <div className="default-container page-layout Referrals"> + <div className="section-title-block"> + <div className="section-title-icon" /> + <div className="section-title-content"> + <div className="Page-title"> + <Trans>Jobs</Trans> + </div> + <div className="Page-description"> + <Trans>Job openings at GMX.</Trans> + </div> </div> </div> + <div className="jobs-page-body"> + <NoJob /> + </div> </div> - <div className="jobs-page-body"> - <NoJob /> - </div> - </div> - <Footer /> + </AppPageLayout> </SEO> ); } diff --git a/src/pages/LeaderboardPage/LeaderboardPage.scss b/src/pages/LeaderboardPage/LeaderboardPage.scss index 637c42ca80..5e31df4314 100644 --- a/src/pages/LeaderboardPage/LeaderboardPage.scss +++ b/src/pages/LeaderboardPage/LeaderboardPage.scss @@ -230,7 +230,7 @@ $tabs-threshold: 990px; margin-bottom: 0.5rem; font-size: 1.5rem; - @media screen and (max-width: 1100px) { + @media screen and (max-width: 1024px) { font-size: 1.2rem; } } @@ -241,7 +241,7 @@ $tabs-threshold: 990px; white-space: nowrap; font-size: 2rem; - @media screen and (max-width: 1100px) { + @media screen and (max-width: 1024px) { font-size: 1.5rem; } } @@ -323,7 +323,6 @@ $tabs-threshold: 990px; a { text-decoration: none; - font-family: monospace; } } diff --git a/src/pages/LeaderboardPage/LeaderboardPage.tsx b/src/pages/LeaderboardPage/LeaderboardPage.tsx index fa408a978e..dde78b67b3 100644 --- a/src/pages/LeaderboardPage/LeaderboardPage.tsx +++ b/src/pages/LeaderboardPage/LeaderboardPage.tsx @@ -1,21 +1,49 @@ -import { useEffect } from "react"; +import { Trans } from "@lingui/macro"; +import { useEffect, useMemo } from "react"; import { useHistory } from "react-router-dom"; +import { useLeaderboardPageKey } from "context/SyntheticsStateContext/hooks/leaderboardHooks"; import { LeaderboardPageConfig } from "domain/synthetics/leaderboard"; import { LEADERBOARD_PAGES } from "domain/synthetics/leaderboard/constants"; import { useChainId } from "lib/chains"; -import Footer from "components/Footer/Footer"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; +import { Breadcrumbs, BreadcrumbItem } from "components/Breadcrumbs/Breadcrumbs"; +import { ChainContentHeader } from "components/Synthetics/ChainContentHeader/ChainContentHeader"; -import "./LeaderboardPage.scss"; import { LeaderboardContainer } from "./components/LeaderboardContainer"; +import "./LeaderboardPage.scss"; export function LeaderboardPage() { + const pageKey = useLeaderboardPageKey(); + + const breadcrumbs = useMemo(() => { + const currentPage = LEADERBOARD_PAGES[pageKey]; + const isCompetition = currentPage.isCompetition; + const isConcluded = currentPage.timeframe.to && currentPage.timeframe.to < Date.now() / 1000; + + if (!isCompetition && !isConcluded) { + return null; + } + + return ( + <Breadcrumbs> + <BreadcrumbItem to="/leaderboard" back> + <Trans>Leaderboard</Trans> + </BreadcrumbItem> + <BreadcrumbItem active> + <Trans>Concluded Competitions</Trans> + </BreadcrumbItem> + </Breadcrumbs> + ); + }, [pageKey]); + return ( - <div className="page-layout"> - <LeaderboardContainer /> - <Footer /> - </div> + <AppPageLayout header={<ChainContentHeader breadcrumbs={breadcrumbs} />}> + <div className="page-layout"> + <LeaderboardContainer /> + </div> + </AppPageLayout> ); } diff --git a/src/pages/LeaderboardPage/components/CompetitionPrizes.tsx b/src/pages/LeaderboardPage/components/CompetitionPrizes.tsx index ba13f0f55d..ddc2482e2c 100644 --- a/src/pages/LeaderboardPage/components/CompetitionPrizes.tsx +++ b/src/pages/LeaderboardPage/components/CompetitionPrizes.tsx @@ -1,5 +1,6 @@ -import { t } from "@lingui/macro"; +import { t, Trans } from "@lingui/macro"; import { useCallback, useMemo } from "react"; +import { FaChevronRight } from "react-icons/fa6"; import Jazzicon, { jsNumberForAddress } from "react-jazzicon"; import { Link } from "react-router-dom"; import type { Address } from "viem"; @@ -11,6 +12,7 @@ import { } from "context/SyntheticsStateContext/selectors/leaderboardSelectors"; import { useSelector } from "context/SyntheticsStateContext/utils"; import { CompetitionType, LeaderboardAccount, LeaderboardPageKey } from "domain/synthetics/leaderboard"; +import { useBreakpoints } from "lib/breakpoints"; import { shortenAddress } from "lib/legacy"; import { mustNeverExist } from "lib/types"; import { buildAccountDashboardUrl } from "pages/AccountDashboard/buildAccountDashboardUrl"; @@ -142,7 +144,7 @@ export function CompetitionPrizes({ }, [accounts, competitionType, hasEnded, leaderboardPageKey]); return ( - <BodyScrollFadeContainer className="CompetitionPrizes default-container"> + <BodyScrollFadeContainer className="flex border-b-stroke border-slate-600"> {prizes.map((prize) => ( <CompetitionPrize prize={prize} key={prize.key} /> ))} @@ -152,14 +154,13 @@ export function CompetitionPrizes({ function CompetitionPrize({ prize }: { prize: Prize }) { return ( - <div className="CompetitionPrizes__prize-container"> - <div className="CompetitionPrizes__prize"> - <div className="CompetitionPrizes__prize-icon-container"> - <img className="CompetitionPrizes__prize-icon" src={iconByType[prize.imgType]} /> - </div> - <div className="CompetitionPrizes__prize-text"> - <div className="CompetitionPrizes__prize-title">{prize.title}</div> - <div className="CompetitionPrizes__prize-description">{prize.description}</div> + <div className="flex grow items-center justify-between gap-8 border-r-stroke border-slate-600 bg-slate-900 p-20 last:border-r-0"> + <div className="flex items-center gap-12"> + <img className="size-52" src={iconByType[prize.imgType]} /> + + <div> + <div className="text-body-medium font-medium text-slate-100">{prize.title}</div> + <div className="text-20 font-medium">{prize.description}</div> </div> </div> <CompetitionPrizeWinners winners={prize.winners} /> @@ -169,44 +170,39 @@ function CompetitionPrize({ prize }: { prize: Prize }) { function CompetitionPrizeWinners({ winners }: { winners: LeaderboardAccount[] }) { const winner = winners[0]; - const showCount = winners.length === 1 ? 1 : Math.min(4, winners.length); - const restCount = winners.length - showCount; - - const oneWinner = - showCount === 1 && winner ? ( - <div className="CompetitionPrizes__prize-winners"> - <Link - target="_blank" - to={buildAccountDashboardUrl(winner.account as Address, undefined, 2)} - className="CompetitionPrizes__prize-winner" - > - <Jazzicon diameter={20} seed={jsNumberForAddress(winner.account)} /> - <div className="CompetitionPrizes__prize-rest">{shortenAddress(winner.account, 14)}</div> - </Link> - </div> - ) : null; - const manyWinnersContent = - winners.length > 1 ? ( - <div className="CompetitionPrizes__prize-winners"> - {winners.slice(0, showCount).map((winner) => ( - <Link - target="_blank" - to={buildAccountDashboardUrl(winner.account as Address, undefined, 2)} - className="CompetitionPrizes__prize-winner CompetitionPrizes__prize-winner_many " - key={winner.account} - > - <Jazzicon diameter={20} seed={jsNumberForAddress(winner.account)} /> - </Link> - ))} - {restCount > 0 && <div className="CompetitionPrizes__prize-rest">{`+${restCount}`}</div>} - </div> + + const { isSmallDesktop } = useBreakpoints(); + + let handle = winner ? ( + <Link + target="_blank" + to={buildAccountDashboardUrl(winner.account as Address, undefined, 2)} + className="flex items-center gap-6 rounded-full bg-slate-700 px-12 py-8 hover:bg-slate-600" + > + <div className="text-13 font-medium">{winners.length > 1 ? <Trans>Winners</Trans> : <Trans>Winner</Trans>}</div> + <Jazzicon diameter={16} seed={jsNumberForAddress(winner.account)} /> + </Link> + ) : null; + + if (isSmallDesktop) { + handle = winner ? ( + <Link + target="_blank" + to={buildAccountDashboardUrl(winner.account as Address, undefined, 2)} + className={`flex items-center gap-6 rounded-full bg-slate-600 p-10 text-slate-100 + hover:bg-slate-500 hover:text-white active:bg-slate-500 active:text-white`} + > + <FaChevronRight size={12} /> + </Link> ) : null; + } + const renderTooltipContent = useCallback(() => { return winners.map((winner) => ( <Link target="_blank" to={buildAccountDashboardUrl(winner.account as Address, undefined, 2)} - className="CompetitionPrizes__tooltip-winner" + className="flex items-center gap-4 px-12 py-8 !text-white !no-underline hover:bg-slate-600" key={winner.account} > <Jazzicon diameter={20} seed={jsNumberForAddress(winner.account)} /> @@ -214,26 +210,18 @@ function CompetitionPrizeWinners({ winners }: { winners: LeaderboardAccount[] }) </Link> )); }, [winners]); - const manyWinners = - restCount > 0 ? ( - <TooltipWithPortal - className="CompetitionPrizes__prize-winner-tooltip" - tooltipClassName="CompetitionPrizes__prize-winner-tooltip" - position="bottom" - handle={manyWinnersContent} - renderContent={renderTooltipContent} - /> - ) : ( - manyWinnersContent - ); if (winners.length === 0) return null; - return ( - <div className="CompetitionPrizes__prize-winners-container"> - <div className="CompetitionPrizes__prize-winners-text">{showCount === 1 ? t`Winner:` : t`Winners:`}</div> - {oneWinner} - {manyWinners} - </div> + return winners.length > 1 ? ( + <TooltipWithPortal + tooltipClassName="!max-w-[130px]" + position="bottom" + handle={handle} + renderContent={renderTooltipContent} + styleType="none" + /> + ) : ( + handle ); } diff --git a/src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx b/src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx index 23e085b423..ae675672c9 100644 --- a/src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx +++ b/src/pages/LeaderboardPage/components/LeaderboardAccountsTable.tsx @@ -19,7 +19,6 @@ import { bigMath } from "sdk/utils/bigmath"; import AddressView from "components/AddressView/AddressView"; import { BottomTablePagination } from "components/Pagination/BottomTablePagination"; -import SearchInput from "components/SearchInput/SearchInput"; import { TopAccountsSkeleton } from "components/Skeleton/Skeleton"; import { Sorter, useSorterHandlers } from "components/Sorter/Sorter"; import StatsTooltipRow from "components/StatsTooltip/StatsTooltipRow"; @@ -49,9 +48,11 @@ const PER_PAGE = 20; export function LeaderboardAccountsTable({ accounts, activeCompetition, + searchAddress, }: { accounts: RemoteData<LeaderboardAccount>; activeCompetition: CompetitionType | undefined; + searchAddress: string | undefined; }) { const currentAccount = useLeaderboardCurrentAccount(); const { isLoading, data } = accounts; @@ -79,10 +80,8 @@ export function LeaderboardAccountsTable({ } }, [activeCompetition, isCompetitions, setDirection, setOrderBy]); - const [search, setSearch] = useState(""); - const handleKeyDown = useCallback(() => null, []); const ranks = useLeaderboardAccountsRanks(); - const term = useDebounce(search, 300); + const term = useDebounce(searchAddress, 300); useEffect(() => { setPage(1); @@ -152,7 +151,6 @@ export function LeaderboardAccountsTable({ pinned rank={pinnedRowData.rank} activeCompetition={activeCompetition} - big /> )} {rowsData.length ? ( @@ -176,21 +174,11 @@ export function LeaderboardAccountsTable({ ); return ( - <div className="rounded-4 bg-slate-800"> - <div className="TableBox__head"> - <SearchInput - placeholder={t`Search Address`} - className="max-w-lg *:!text-14" - value={search} - setValue={setSearch} - onKeyDown={handleKeyDown} - size="s" - /> - </div> + <div className="rounded-b-8 bg-slate-900"> <TableScrollFadeContainer> <table className="w-full min-w-[1000px]"> <thead> - <TableTheadTr bordered className="text-body-medium"> + <TableTheadTr className="text-body-medium"> <TableHeaderCell title={t`Rank`} width={6} @@ -323,22 +311,28 @@ const TableRow = memo( rank, activeCompetition, index, - big, }: { account: LeaderboardAccount; index: number; pinned: boolean; rank: number | null; activeCompetition: CompetitionType | undefined; - big?: boolean; }) => { const renderWinsLossesTooltipContent = useCallback(() => { const winRate = `${((account.wins / (account.wins + account.losses)) * 100).toFixed(2)}%`; return ( <div> - <StatsTooltipRow label={t`Total Trades`} showDollar={false} value={account.wins + account.losses} /> + <StatsTooltipRow + label={t`Total Trades`} + showDollar={false} + value={<span className="numbers">{account.wins + account.losses}</span>} + /> {account.wins + account.losses > 0 ? ( - <StatsTooltipRow label={t`Win Rate`} showDollar={false} value={winRate} /> + <StatsTooltipRow + label={t`Win Rate`} + showDollar={false} + value={<span className="numbers">{winRate}</span>} + /> ) : null} </div> ); @@ -347,20 +341,20 @@ const TableRow = memo( const renderPnlTooltipContent = useCallback(() => <LeaderboardPnlTooltipContent account={account} />, [account]); return ( - <TableTr bordered={false} key={account.account} className={big ? "text-body-medium" : undefined}> + <TableTr key={account.account}> <TableTd className={getCellClassname(rank, activeCompetition, pinned)}> - <span className={getWinnerRankClassname(rank, activeCompetition)}> + <span className={cx("numbers", getWinnerRankClassname(rank, activeCompetition))}> <RankInfo rank={rank} hasSomeCapital={account.totalQualifyingPnl !== 0n} /> </span> </TableTd> <TableTd> - <AddressView big={big} size={20} address={account.account} breakpoint="XL" /> + <AddressView size={20} address={account.account} breakpoint="XL" /> </TableTd> <TableTd> <TooltipWithPortal handle={ - <span className={getSignedValueClassName(account.totalQualifyingPnl)}> + <span className={cx("numbers", getSignedValueClassName(account.totalQualifyingPnl))}> {formatDelta(account.totalQualifyingPnl, { signed: true, prefix: "$" })} </span> } @@ -372,7 +366,7 @@ const TableRow = memo( <TableTd> <TooltipWithPortal handle={ - <span className={getSignedValueClassName(account.pnlPercentage)}> + <span className={cx("numbers", getSignedValueClassName(account.pnlPercentage))}> {formatDelta(account.pnlPercentage, { signed: true, postfix: "%", decimals: 2 })} </span> } @@ -382,16 +376,16 @@ const TableRow = memo( <StatsTooltipRow label={t`Capital Used`} showDollar={false} - value={<span>{formatUsd(account.maxCapital)}</span>} + value={<span className="numbers">{formatUsd(account.maxCapital)}</span>} /> )} /> </TableTd> - <TableTd>{account.averageSize ? formatUsd(account.averageSize) : "$0.00"}</TableTd> - <TableTd>{`${formatAmount(account.averageLeverage ?? 0n, 4, 2)}x`}</TableTd> - <TableTd className="text-right"> + <TableTd className="numbers">{account.averageSize ? formatUsd(account.averageSize) : "$0.00"}</TableTd> + <TableTd className="numbers">{`${formatAmount(account.averageLeverage ?? 0n, 4, 2)}x`}</TableTd> + <TableTd className="text-right numbers"> <TooltipWithPortal - handle={`${account.wins}/${account.losses}`} + handle={<span className="numbers">{`${account.wins}/${account.losses}`}</span>} renderContent={renderWinsLossesTooltipContent} /> </TableTd> @@ -402,7 +396,7 @@ const TableRow = memo( const EmptyRow = memo(() => { return ( - <TableTr hoverable={false} bordered={false} className="h-47"> + <TableTr hoverable={false} className="h-47"> <TableTd colSpan={7} className="align-top text-slate-100"> <Trans>No results found</Trans> </TableTd> @@ -429,7 +423,7 @@ const RankInfo = memo(({ rank, hasSomeCapital }: { rank: number | null; hasSomeC if (rank === null) return <TooltipWithPortal handleClassName="text-red-500" handle={t`NA`} renderContent={tooltipContent} />; - return <span>{rank}</span>; + return <span className="font-medium text-slate-100 numbers">{rank}</span>; }); const LeaderboardPnlTooltipContent = memo(({ account }: { account: LeaderboardAccount }) => { @@ -462,7 +456,7 @@ const LeaderboardPnlTooltipContent = memo(({ account }: { account: LeaderboardAc label={t`Realized PnL`} showDollar={false} value={ - <span className={getSignedValueClassName(realizedPnl)}> + <span className={cx("numbers", getSignedValueClassName(realizedPnl))}> {formatDelta(realizedPnl, { signed: true, prefix: "$" })} </span> } @@ -471,7 +465,7 @@ const LeaderboardPnlTooltipContent = memo(({ account }: { account: LeaderboardAc label={t`Unrealized PnL`} showDollar={false} value={ - <span className={getSignedValueClassName(unrealizedPnl)}> + <span className={cx("numbers", getSignedValueClassName(unrealizedPnl))}> {formatDelta(unrealizedPnl, { signed: true, prefix: "$" })} </span> } @@ -481,7 +475,7 @@ const LeaderboardPnlTooltipContent = memo(({ account }: { account: LeaderboardAc label={t`Start Unrealized PnL`} showDollar={false} value={ - <span className={getSignedValueClassName(startUnrealizedPnl)}> + <span className={cx("numbers", getSignedValueClassName(startUnrealizedPnl))}> {formatDelta(startUnrealizedPnl, { signed: true, prefix: "$" })} </span> } @@ -494,7 +488,7 @@ const LeaderboardPnlTooltipContent = memo(({ account }: { account: LeaderboardAc label={t`Realized Fees`} showDollar={false} value={ - <span className={getSignedValueClassName(realizedFees)}> + <span className={cx("numbers", getSignedValueClassName(realizedFees))}> {formatDelta(realizedFees, { signed: true, prefix: "$" })} </span> } @@ -503,7 +497,7 @@ const LeaderboardPnlTooltipContent = memo(({ account }: { account: LeaderboardAc label={t`Unrealized Fees`} showDollar={false} value={ - <span className={getSignedValueClassName(unrealizedFees)}> + <span className={cx("numbers", getSignedValueClassName(unrealizedFees))}> {formatDelta(unrealizedFees, { signed: true, prefix: "$" })} </span> } @@ -513,7 +507,7 @@ const LeaderboardPnlTooltipContent = memo(({ account }: { account: LeaderboardAc label={t`Start Unrealized Fees`} showDollar={false} value={ - <span className={getSignedValueClassName(startUnrealizedFees)}> + <span className={cx("numbers", getSignedValueClassName(startUnrealizedFees))}> {formatDelta(startUnrealizedFees, { signed: true, prefix: "$" })} </span> } @@ -524,7 +518,7 @@ const LeaderboardPnlTooltipContent = memo(({ account }: { account: LeaderboardAc label={t`Realized Price Impact`} showDollar={false} value={ - <span className={getSignedValueClassName(account.realizedPriceImpact)}> + <span className={cx("numbers", getSignedValueClassName(account.realizedPriceImpact))}> {formatDelta(account.realizedPriceImpact, { signed: true, prefix: "$" })} </span> } diff --git a/src/pages/LeaderboardPage/components/LeaderboardContainer.tsx b/src/pages/LeaderboardPage/components/LeaderboardContainer.tsx index 5739ea8ffa..be3f7bff85 100644 --- a/src/pages/LeaderboardPage/components/LeaderboardContainer.tsx +++ b/src/pages/LeaderboardPage/components/LeaderboardContainer.tsx @@ -1,10 +1,7 @@ import { Trans, t } from "@lingui/macro"; -import cx from "classnames"; import { useCallback, useEffect, useMemo, useState } from "react"; -import { useMedia } from "react-use"; import { getChainName } from "config/chains"; -import { getIcon } from "config/icons"; import { useLeaderboardChainId, useLeaderboardDataTypeState, @@ -15,26 +12,32 @@ import { useLeaderboardTimeframeTypeState, useLeaderboardTiming, } from "context/SyntheticsStateContext/hooks/leaderboardHooks"; -import { selectLeaderboardIsLoading } from "context/SyntheticsStateContext/selectors/leaderboardSelectors"; +import { + selectLeaderboardIsLoading, + selectLeaderboardSearchAddress, + selectLeaderboardSetSearchAddress, +} from "context/SyntheticsStateContext/selectors/leaderboardSelectors"; import { useSelector } from "context/SyntheticsStateContext/utils"; import { CompetitionType } from "domain/synthetics/leaderboard"; import { LEADERBOARD_PAGES } from "domain/synthetics/leaderboard/constants"; +import { useBreakpoints } from "lib/breakpoints"; import { useChainId } from "lib/chains"; import { mustNeverExist } from "lib/types"; import { switchNetwork } from "lib/wallets"; import useWallet from "lib/wallets/useWallet"; import ExternalLink from "components/ExternalLink/ExternalLink"; +import SearchInput from "components/SearchInput/SearchInput"; +import { BodyScrollFadeContainer } from "components/TableScrollFade/TableScrollFade"; import Tabs from "components/Tabs/Tabs"; -import { CompetitionCountdown } from "./CompetitionCountdown"; import { CompetitionPrizes } from "./CompetitionPrizes"; import { LeaderboardAccountsTable } from "./LeaderboardAccountsTable"; import { LeaderboardNavigation } from "./LeaderboardNavigation"; import { LeaderboardPositionsTable } from "./LeaderboardPositionsTable"; const competitionsTabs = [0, 1]; -const leaderboardTimeframeTabs = [0, 1, 2]; +const leaderboardTimeframeTabs = [2, 1, 0]; const leaderboardDataTypeTabs = [0, 1]; export function LeaderboardContainer() { @@ -52,10 +55,10 @@ export function LeaderboardContainer() { const page = LEADERBOARD_PAGES[leaderboardPageKey]; const [, setLeaderboardTimeframeType] = useLeaderboardTimeframeTypeState(); - const [leaderboardDataType, setLeaderboardDataType] = useLeaderboardDataTypeState(); + const [, setLeaderboardDataType] = useLeaderboardDataTypeState(); const competitionLabels = useMemo(() => [t`Top PnL ($)`, t`Top PnL (%)`], []); - const leaderboardTimeframeLabels = useMemo(() => [t`Total`, t`Last 30 days`, t`Last 7 days`], []); + const leaderboardTimeframeLabels = useMemo(() => [t`Total`, t`Last 30d`, t`Last 7d`], []); const leaderboardDataTypeLabels = useMemo(() => [t`Top Addresses`, t`Top Positions`], []); const activeCompetition: CompetitionType | undefined = isCompetition @@ -104,21 +107,8 @@ export function LeaderboardContainer() { } }, [activeLeaderboardDataTypeIndex, setLeaderboardDataType]); - const title = useMemo(() => { - switch (leaderboardPageKey) { - case "leaderboard": - return t`Global Leaderboard`; - - case "march_13-20_2024": - return t`EIP-4844 Competition`; - - case "march_20-27_2024": - return t`EIP-4844 Competition`; - - default: - throw mustNeverExist(leaderboardPageKey); - } - }, [leaderboardPageKey]); + const searchAddress = useSelector(selectLeaderboardSearchAddress); + const setSearchAddress = useSelector(selectLeaderboardSetSearchAddress); const handleSwitchNetworkClick = useCallback(() => { switchNetwork(leaderboardChainId, active); @@ -142,8 +132,6 @@ export function LeaderboardContainer() { ); }, [chainId, handleSwitchNetworkClick, leaderboardChainId, leaderboardPageKey, page]); - const isMobile = useMedia("(max-width: 1000px)"); - const description = useMemo(() => { switch (leaderboardPageKey) { case "leaderboard": @@ -158,23 +146,22 @@ export function LeaderboardContainer() { <Trans>Read the rules</Trans> </ExternalLink> .{wrongNetworkSwitcher}{" "} - {isMobile && ( - <> - <CompetitionCountdown size="mobile" /> - </> - )} </> ); default: throw mustNeverExist(leaderboardPageKey); } - }, [isMobile, leaderboardPageKey, wrongNetworkSwitcher]); + }, [leaderboardPageKey, wrongNetworkSwitcher]); const leaderboardDataTypeTabsOptions = useMemo(() => { return leaderboardDataTypeTabs.map((value) => ({ value, label: leaderboardDataTypeLabels[value], + className: { + active: "text-white !bg-blue-400", + regular: "hover:text-white !bg-slate-800", + }, })); }, [leaderboardDataTypeLabels]); @@ -189,62 +176,78 @@ export function LeaderboardContainer() { return competitionsTabs.map((value) => ({ value, label: competitionLabels[value], + className: { + active: "text-white !bg-blue-400", + regular: "hover:text-white !bg-slate-800", + }, })); }, [competitionLabels]); + const { isMobile } = useBreakpoints(); + return ( - <div className="GlobalLeaderboards"> - <LeaderboardNavigation /> - <div className="Leaderboard-Title default-container"> - <div> - <h1 className="text-34 font-bold" data-qa="leaderboard-page"> - {title} <img alt={t`Chain Icon`} src={getIcon(page.isCompetition ? page.chainId : chainId, "network")} /> - </h1> - <div className="Page-description">{description}</div> - </div> + <div className="flex flex-col gap-8"> + <div className="flex flex-col gap-12 p-12"> + <BodyScrollFadeContainer> + <div className=""> + <LeaderboardNavigation /> + </div> + </BodyScrollFadeContainer> + <div className="text-body-medium font-medium text-slate-100">{description}</div> </div> - {!isCompetition && ( - <> - <div className="LeaderboardContainer__competition-tabs default-container"> + + <div> + <div className="flex items-center justify-between gap-16 rounded-t-8 border-b-stroke border-slate-600 bg-slate-900 p-20 max-md:flex-col"> + {!isCompetition ? ( <Tabs + type="inline" selectedValue={activeLeaderboardDataTypeIndex} onChange={handleLeaderboardDataTypeTabChange} options={leaderboardDataTypeTabsOptions} + className="max-md:w-full" + regularOptionClassname="grow" /> - </div> - </> - )} - {!isCompetition && ( - <Tabs - selectedValue={activeLeaderboardTimeframeIndex} - onChange={handleLeaderboardTimeframeTabChange} - type="inline" - options={leaderboardTimeframeTabsOptions} - className={cx("LeaderboardContainer__leaderboard-tabs default-container", { - "LeaderboardContainer__leaderboard-tabs_positions": leaderboardDataType === "positions", - })} - /> - )} - - {isCompetition && ( - <> - <div className="LeaderboardContainer__competition-tabs default-container"> + ) : ( <Tabs + type="inline" selectedValue={activeCompetitionIndex} onChange={handleCompetitionTabChange} options={competitionsTabsOptions} + className="max-md:w-full" + regularOptionClassname="grow" + /> + )} + + <div className="flex gap-8 max-md:w-full max-md:justify-between"> + <SearchInput + placeholder={isMobile ? t`Search` : t`Search Address`} + className="w-full max-w-[260px] max-md:min-w-[120px]" + value={searchAddress} + setValue={setSearchAddress} + size="s" /> - {!isMobile && <CompetitionCountdown className="default-container" size="desktop" />} + {!isCompetition && ( + <Tabs + selectedValue={activeLeaderboardTimeframeIndex} + onChange={handleLeaderboardTimeframeTabChange} + type="inline" + className="shrink-0" + options={leaderboardTimeframeTabsOptions} + /> + )} </div> - <br /> - <br /> - </> - )} - {isCompetition && activeCompetition && ( - <CompetitionPrizes leaderboardPageKey={leaderboardPageKey} competitionType={activeCompetition} /> - )} - - <Table activeCompetition={activeCompetition} /> + </div> + + {isCompetition && activeCompetition && ( + <BodyScrollFadeContainer> + <div className="min-w-[1000px]"> + <CompetitionPrizes leaderboardPageKey={leaderboardPageKey} competitionType={activeCompetition} /> + </div> + </BodyScrollFadeContainer> + )} + + <Table activeCompetition={activeCompetition} /> + </div> </div> ); } @@ -268,6 +271,7 @@ function Table({ activeCompetition }: { activeCompetition: CompetitionType | und function AccountsTable({ activeCompetition }: { activeCompetition: CompetitionType | undefined }) { const accounts = useLeaderboardRankedAccounts(); const isLoading = useSelector(selectLeaderboardIsLoading); + const searchAddress = useSelector(selectLeaderboardSearchAddress); const accountsStruct = useMemo( () => ({ isLoading, @@ -278,12 +282,19 @@ function AccountsTable({ activeCompetition }: { activeCompetition: CompetitionTy [accounts, isLoading] ); - return <LeaderboardAccountsTable activeCompetition={activeCompetition} accounts={accountsStruct} />; + return ( + <LeaderboardAccountsTable + activeCompetition={activeCompetition} + accounts={accountsStruct} + searchAddress={searchAddress} + /> + ); } function PositionsTable() { const positions = useLeaderboardPositions(); const isLoading = useSelector(selectLeaderboardIsLoading); + const searchAddress = useSelector(selectLeaderboardSearchAddress); const positionsStruct = useMemo( () => ({ isLoading, @@ -293,5 +304,5 @@ function PositionsTable() { }), [positions, isLoading] ); - return <LeaderboardPositionsTable positions={positionsStruct} />; + return <LeaderboardPositionsTable positions={positionsStruct} searchAddress={searchAddress} />; } diff --git a/src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx b/src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx index d3a75e8d3d..f222f06478 100644 --- a/src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx +++ b/src/pages/LeaderboardPage/components/LeaderboardNavigation.tsx @@ -1,9 +1,8 @@ -import { Trans, t } from "@lingui/macro"; +import { t } from "@lingui/macro"; import cx from "classnames"; import { useMemo } from "react"; import { Link } from "react-router-dom"; -import { getIcon } from "config/icons"; import { useLeaderboardPageKey } from "context/SyntheticsStateContext/hooks/leaderboardHooks"; import { LeaderboardPageKey, LeaderboardTimeframe } from "domain/synthetics/leaderboard"; import { LEADERBOARD_PAGES, LEADERBOARD_PAGES_ORDER } from "domain/synthetics/leaderboard/constants"; @@ -44,23 +43,35 @@ function getChip(pageKey: LeaderboardPageKey): LeaderboardNavigationItem["chip"] function getLabel(pageKey: LeaderboardPageKey) { switch (pageKey) { case "leaderboard": - return t`Global Leaderboard`; + return t`Global`; case "march_13-20_2024": - return t`EIP-4844, 13-20 Mar`; + return t`EIP-4844`; case "march_20-27_2024": - return t`EIP-4844, 20-27 Mar`; + return t`EIP-4844`; default: throw mustNeverExist(pageKey); } } +function getTimeframeLabel(timeframe: LeaderboardTimeframe): string | null { + if (!timeframe.to) return null; + + const fmt = new Intl.DateTimeFormat("en", { + day: "numeric", + month: "short", + year: "numeric", + }); + + return fmt.formatRange(new Date(timeframe.from * 1000), new Date(timeframe.to * 1000)); +} + export function LeaderboardNavigation() { const pageKey = useLeaderboardPageKey(); const navigationItems = useMemo(() => { - const items: LeaderboardNavigationItem[] = LEADERBOARD_PAGES_ORDER.map((key) => LEADERBOARD_PAGES[key]) + const allItems: LeaderboardNavigationItem[] = LEADERBOARD_PAGES_ORDER.map((key) => LEADERBOARD_PAGES[key]) .filter((page) => !page.isCompetition || page.enabled) .map((page) => { return { @@ -70,26 +81,57 @@ export function LeaderboardNavigation() { isSelected: page.key === pageKey, isCompetition: page.key !== "leaderboard", href: page.href, - chainId: page.isCompetition ? page.chainId : undefined, timeframe: page.timeframe, }; - }) - .sort((a, b) => { - const sortingPointA = sortingPoints[a.chip]; - const sortingPointB = sortingPoints[b.chip]; + }); - if (sortingPointA === sortingPointB) { - return b.timeframe.from - a.timeframe.from; - } + const isCurrentPageConcluded = pageKey !== "leaderboard" && getChip(pageKey) === "over"; + + let filteredItems = allItems; + if (isCurrentPageConcluded) { + filteredItems = allItems.filter((item) => item.chip === "over"); + } else { + const nonConcludedItems = allItems.filter((item) => item.chip !== "over"); + const concludedItems = allItems.filter((item) => item.chip === "over").toReversed(); + + const concludedTab: LeaderboardNavigationItem | null = + concludedItems.length > 0 + ? { + key: "concluded", + label: t`Concluded`, + chip: "none", + isSelected: false, + isCompetition: false, + href: concludedItems[0].href, + timeframe: { from: 0, to: undefined }, + } + : null; + + filteredItems = [...nonConcludedItems]; + if (concludedTab) { + filteredItems.push(concludedTab); + } + } - return sortingPointA - sortingPointB; - }); + // Sort items + return filteredItems.sort((a, b) => { + // Special case for "Concluded" tab - always put it last + if (a.key === "concluded") return 1; + if (b.key === "concluded") return -1; + + const sortingPointA = sortingPoints[a.chip]; + const sortingPointB = sortingPoints[b.chip]; - return items; + if (sortingPointA === sortingPointB) { + return b.timeframe.from - a.timeframe.from; + } + + return sortingPointA - sortingPointB; + }); }, [pageKey]); return ( - <BodyScrollFadeContainer className="default-container flex gap-8"> + <BodyScrollFadeContainer className="flex gap-20"> {navigationItems.map((item) => ( <NavigationItem item={item} key={item.key} /> ))} @@ -98,51 +140,25 @@ export function LeaderboardNavigation() { } function NavigationItem({ item }: { item: LeaderboardNavigationItem }) { - const chip = useMemo(() => { - switch (item.chip) { - case "live": - return ( - <div className="LeaderboardNavigation__chip LeaderboardNavigation__chip_live"> - <span className="LeaderboardNavigation__chip-circle" /> - <Trans>LIVE</Trans> - </div> - ); - - case "soon": - return ( - <div className="LeaderboardNavigation__chip LeaderboardNavigation__chip_soon"> - <Trans>SOON</Trans> - </div> - ); - - case "over": - return ( - <div className="LeaderboardNavigation__chip LeaderboardNavigation__chip_over"> - <Trans>CONCLUDED</Trans> - </div> - ); - - case "none": - return null; - - default: - throw mustNeverExist(item.chip); - } - }, [item.chip]); - + const timeframeLabel = getTimeframeLabel(item.timeframe); return ( <Link to={item.href} - className={cx("LeaderboardHeader__item button secondary center", { - LeaderboardHeader__item_selected: item.isSelected, - })} + className={cx( + "text-h1 inline-flex items-center gap-8 whitespace-nowrap leading-[1] text-slate-100 hover:text-white", + { + "text-white": item.isSelected, + "border-l-stroke border-l-slate-600 pl-18": item.key === "concluded", + } + )} > - {chip} {item.label} - {item.chainId ? ( - <> - <img className="LeaderboardHeader__network-icon" alt={t`Chain Icon`} src={getIcon(item.chainId, "network")} /> - </> - ) : undefined} + {item.label} + + {timeframeLabel && ( + <div className="text-body-small inline-flex h-fit whitespace-nowrap rounded-full bg-slate-700 px-8 py-6 text-slate-100"> + {timeframeLabel} + </div> + )} </Link> ); } diff --git a/src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx b/src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx index 537ee6ab46..441319203f 100644 --- a/src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx +++ b/src/pages/LeaderboardPage/components/LeaderboardPositionsTable.tsx @@ -25,7 +25,6 @@ import { bigMath } from "sdk/utils/bigmath"; import AddressView from "components/AddressView/AddressView"; import { AmountWithUsdBalance } from "components/AmountWithUsd/AmountWithUsd"; import { BottomTablePagination } from "components/Pagination/BottomTablePagination"; -import SearchInput from "components/SearchInput/SearchInput"; import { TopPositionsSkeleton } from "components/Skeleton/Skeleton"; import { Sorter, useSorterHandlers } from "components/Sorter/Sorter"; import StatsTooltipRow from "components/StatsTooltip/StatsTooltipRow"; @@ -46,7 +45,13 @@ type LeaderboardPositionField = keyof LeaderboardPosition; const PER_PAGE = 20; -export function LeaderboardPositionsTable({ positions }: { positions: RemoteData<LeaderboardPosition> }) { +export function LeaderboardPositionsTable({ + positions, + searchAddress, +}: { + positions: RemoteData<LeaderboardPosition>; + searchAddress: string | undefined; +}) { const { isLoading, data } = positions; const [page, setPage] = useState(1); const { orderBy, direction, getSorterProps } = useSorterHandlers<LeaderboardPositionField>( @@ -56,9 +61,7 @@ export function LeaderboardPositionsTable({ positions }: { positions: RemoteData direction: "desc", } ); - const [search, setSearch] = useState(""); - const handleKeyDown = useCallback(() => null, []); - const term = useDebounce(search, 300); + const term = useDebounce(searchAddress, 300); useEffect(() => { setPage(1); @@ -117,21 +120,11 @@ export function LeaderboardPositionsTable({ positions }: { positions: RemoteData ); return ( - <div className="rounded-4 bg-slate-800"> - <div className="TableBox__head"> - <SearchInput - placeholder={t`Search Address`} - className="max-w-lg *:!text-14" - value={search} - setValue={setSearch} - onKeyDown={handleKeyDown} - size="s" - /> - </div> + <div className="rounded-b-8 bg-slate-900"> <TableScrollFadeContainer> - <table className="w-full min-w-[1100px] table-fixed"> + <table className="w-full min-w-[1024px] table-fixed"> <thead> - <TableTheadTr bordered className="text-body-medium"> + <TableTheadTr className="text-body-medium"> <TableHeaderCell title={t`Rank`} width={6} @@ -316,20 +309,28 @@ const TableRow = memo( <> <StatsTooltipRow label={t`Mark Price`} - value={formatUsd(markPrice, { - displayDecimals: indexToken?.priceDecimals, - visualMultiplier: marketInfo?.indexToken.visualMultiplier, - })} + value={ + <span className="numbers"> + {formatUsd(markPrice, { + displayDecimals: indexToken?.priceDecimals, + visualMultiplier: marketInfo?.indexToken.visualMultiplier, + })} + </span> + } showDollar={false} /> {shouldRenderPriceChangeToLiq && ( <StatsTooltipRow label={t`Price change to Liq.`} - value={formatUsd(liquidationPrice - markPrice, { - maxThreshold: "1000000", - displayDecimals: indexToken?.priceDecimals, - visualMultiplier: marketInfo?.indexToken.visualMultiplier, - })} + value={ + <span className="numbers"> + {formatUsd(liquidationPrice - markPrice, { + maxThreshold: "1000000", + displayDecimals: indexToken?.priceDecimals, + visualMultiplier: marketInfo?.indexToken.visualMultiplier, + })} + </span> + } showDollar={false} /> )} @@ -343,9 +344,9 @@ const TableRow = memo( ]); return ( - <TableTr key={position.key} bordered={false}> + <TableTr key={position.key}> <TableCell className="relative"> - <span className={getWinnerRankClassname(rank)}> + <span className={cx("numbers", getWinnerRankClassname(rank))}> <RankInfo rank={rank} hasSomeCapital /> </span> </TableCell> @@ -355,7 +356,7 @@ const TableRow = memo( <TableCell> <TooltipWithPortal handle={ - <span className={getSignedValueClassName(position.qualifyingPnl)}> + <span className={cx("numbers", getSignedValueClassName(position.qualifyingPnl))}> {formatDelta(position.qualifyingPnl, { signed: true, prefix: "$" })} </span> } @@ -390,7 +391,7 @@ const TableRow = memo( renderContent={renderPositionTooltip} /> </TableCell> - <TableCell> + <TableCell className="numbers"> {formatUsd(position.entryPrice, { displayDecimals: marketDecimals, visualMultiplier: marketInfo?.indexToken.visualMultiplier, @@ -398,29 +399,33 @@ const TableRow = memo( </TableCell> <TableCell> <TooltipWithPortal - handle={formatUsd(position.sizeInUsd)} + handle={<span className="numbers">{formatUsd(position.sizeInUsd)}</span>} position={index > 9 ? "top-end" : "bottom-end"} renderContent={renderSizeTooltip} tooltipClassName="Table-SizeTooltip" /> </TableCell> - <TableCell>{`${formatAmount(position.leverage, 4, 2)}x`}</TableCell> + <TableCell className="numbers">{`${formatAmount(position.leverage, 4, 2)}x`}</TableCell> <TableCell className="text-right"> {liquidationPrice ? ( <TooltipWithPortal position={index > 9 ? "top-end" : "bottom-end"} renderContent={renderLiquidationTooltip} - handle={formatUsd(liquidationPrice, { - maxThreshold: "1000000", - displayDecimals: marketDecimals, - visualMultiplier: marketInfo?.indexToken.visualMultiplier, - })} + handle={ + <span className="numbers"> + {formatUsd(liquidationPrice, { + maxThreshold: "1000000", + displayDecimals: marketDecimals, + visualMultiplier: marketInfo?.indexToken.visualMultiplier, + })} + </span> + } /> ) : ( <TooltipWithPortal position={index > 9 ? "top-end" : "bottom-end"} renderContent={renderNaLiquidationTooltip} - handle={t`NA`} + handle={<span className="numbers">{t`NA`}</span>} /> )} </TableCell> @@ -435,7 +440,7 @@ const TableCell = memo(({ children, className }: { children: ReactNode; classNam const EmptyRow = memo(() => { return ( - <TableTr hoverable={false} bordered={false} className="h-47"> + <TableTr hoverable={false} className="h-47"> <TableTd colSpan={7} className="align-top text-slate-100"> <Trans>No results found</Trans> </TableTd> @@ -462,7 +467,7 @@ const RankInfo = memo(({ rank, hasSomeCapital }: { rank: number | null; hasSomeC if (rank === null) return <TooltipWithPortal handleClassName="text-red-500" handle={t`NA`} renderContent={tooltipContent} />; - return <span>{rank}</span>; + return <span className="numbers">{rank}</span>; }); const LeaderboardPnlTooltipContent = memo(({ position }: { position: LeaderboardPosition }) => { @@ -485,7 +490,7 @@ const LeaderboardPnlTooltipContent = memo(({ position }: { position: Leaderboard label={t`Realized PnL`} showDollar={false} value={ - <span className={getSignedValueClassName(realizedPnl)}> + <span className={cx("numbers", getSignedValueClassName(realizedPnl))}> {formatDelta(realizedPnl, { signed: true, prefix: "$" })} </span> } @@ -494,7 +499,7 @@ const LeaderboardPnlTooltipContent = memo(({ position }: { position: Leaderboard label={t`Unrealized PnL`} showDollar={false} value={ - <span className={getSignedValueClassName(unrealizedPnl)}> + <span className={cx("numbers", getSignedValueClassName(unrealizedPnl))}> {formatDelta(unrealizedPnl, { signed: true, prefix: "$" })} </span> } @@ -507,7 +512,7 @@ const LeaderboardPnlTooltipContent = memo(({ position }: { position: Leaderboard label={t`Realized Fees`} showDollar={false} value={ - <span className={getSignedValueClassName(realizedFees)}> + <span className={cx("numbers", getSignedValueClassName(realizedFees))}> {formatDelta(realizedFees, { signed: true, prefix: "$" })} </span> } @@ -516,7 +521,7 @@ const LeaderboardPnlTooltipContent = memo(({ position }: { position: Leaderboard label={t`Unrealized Fees`} showDollar={false} value={ - <span className={getSignedValueClassName(unrealizedFees)}> + <span className={cx("numbers", getSignedValueClassName(unrealizedFees))}> {formatDelta(unrealizedFees, { signed: true, prefix: "$" })} </span> } @@ -526,7 +531,7 @@ const LeaderboardPnlTooltipContent = memo(({ position }: { position: Leaderboard label={t`Realized Price Impact`} showDollar={false} value={ - <span className={getSignedValueClassName(position.realizedPriceImpact)}> + <span className={cx("numbers", getSignedValueClassName(position.realizedPriceImpact))}> {formatDelta(position.realizedPriceImpact, { signed: true, prefix: "$" })} </span> } diff --git a/src/pages/NftWallet/NftWallet.jsx b/src/pages/NftWallet/NftWallet.jsx index 84a0d11f36..50b3223120 100644 --- a/src/pages/NftWallet/NftWallet.jsx +++ b/src/pages/NftWallet/NftWallet.jsx @@ -6,6 +6,9 @@ import { useChainId } from "lib/chains"; import { callContract } from "lib/contracts"; import useWallet from "lib/wallets/useWallet"; import { abis } from "sdk/abis"; + +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; + import "./NftWallet.css"; export default function NftWallet() { @@ -65,43 +68,49 @@ export default function NftWallet() { } return ( - <div className="NftWallet Page page-layout"> - <div className="Page-title-section"> - <div className="Page-title"> - <Trans>NFT Wallet</Trans> - </div> - </div> - <div className="NftWallet-content"> - <div className="NftWallet-row"> - <label> - <Trans>Receiver Address</Trans> - </label> - <div> - <input type="text" value={receiver} onChange={(e) => setReceiver(e.target.value)} /> + <AppPageLayout> + <div className="NftWallet Page page-layout"> + <div className="Page-title-section"> + <div className="Page-title"> + <Trans>NFT Wallet</Trans> </div> </div> - <div className="NftWallet-row"> - <label> - <Trans>NFT Address</Trans> - </label> - <div> - <input type="text" value={nftAddress} onChange={(e) => setNftAddress(e.target.value)} /> + <div className="NftWallet-content"> + <div className="NftWallet-row"> + <label> + <Trans>Receiver Address</Trans> + </label> + <div> + <input type="text" value={receiver} onChange={(e) => setReceiver(e.target.value)} /> + </div> </div> - </div> - <div className="NftWallet-row"> - <label> - <Trans>NFT ID</Trans> - </label> - <div> - <input type="number" value={nftId} onChange={(e) => setNftId(e.target.value)} /> + <div className="NftWallet-row"> + <label> + <Trans>NFT Address</Trans> + </label> + <div> + <input type="text" value={nftAddress} onChange={(e) => setNftAddress(e.target.value)} /> + </div> + </div> + <div className="NftWallet-row"> + <label> + <Trans>NFT ID</Trans> + </label> + <div> + <input type="number" value={nftId} onChange={(e) => setNftId(e.target.value)} /> + </div> + </div> + <div className="NftWallet-row"> + <button + className="App-cta Exchange-swap-button" + disabled={!isPrimaryEnabled()} + onClick={() => transferNft()} + > + {getPrimaryText()} + </button> </div> - </div> - <div className="NftWallet-row"> - <button className="App-cta Exchange-swap-button" disabled={!isPrimaryEnabled()} onClick={() => transferNft()}> - {getPrimaryText()} - </button> </div> </div> - </div> + </AppPageLayout> ); } diff --git a/src/pages/OrdersOverview/OrdersOverview.jsx b/src/pages/OrdersOverview/OrdersOverview.jsx index 59fac2aa35..ff4904e6cf 100644 --- a/src/pages/OrdersOverview/OrdersOverview.jsx +++ b/src/pages/OrdersOverview/OrdersOverview.jsx @@ -25,6 +25,8 @@ import { formatAmount } from "lib/numbers"; import useWallet from "lib/wallets/useWallet"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; + import "./OrdersOverview.css"; const ORDER_TYPE_LABELS = { @@ -80,228 +82,232 @@ export default function OrdersOverview() { }; return ( - <div className="page-layout default-container"> - {stats && ( - <p className="Orders-overview-stats"> - <Trans> - Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal} - </Trans> - <br /> - <Trans> - Increase active: {stats.openIncrease}, executed: {stats.executedIncrease}, cancelled:{" "} - {stats.cancelledIncrease} - </Trans> + <AppPageLayout> + <div className="page-layout default-container"> + {stats && ( + <p className="Orders-overview-stats"> + <Trans> + Total active: {openTotal}, executed: {executedTotal}, cancelled: {cancelledTotal} + </Trans> + <br /> + <Trans> + Increase active: {stats.openIncrease}, executed: {stats.executedIncrease}, cancelled:{" "} + {stats.cancelledIncrease} + </Trans> + <br /> + <Trans> + Decrease active: {stats.openDecrease}, executed: {stats.executedDecrease}, cancelled:{" "} + {stats.cancelledDecrease} + </Trans> + <br /> + <Trans> + Swap active: {stats.openSwap}, executed: {stats.executedSwap}, cancelled: {stats.cancelledSwap} + </Trans> + <br /> + </p> + )} + <p> + <span className="positive"> + <Trans>Price conditions are met</Trans> + </span> <br /> - <Trans> - Decrease active: {stats.openDecrease}, executed: {stats.executedDecrease}, cancelled:{" "} - {stats.cancelledDecrease} - </Trans> - <br /> - <Trans> - Swap active: {stats.openSwap}, executed: {stats.executedSwap}, cancelled: {stats.cancelledSwap} - </Trans> + <span style={closeToExecutionPriceStyle}> + <Trans>Close to execution price</Trans> + </span> <br /> + <span className="negative"> + <Trans>Can't execute because of an error</Trans> + </span> </p> - )} - <p> - <span className="positive"> - <Trans>Price conditions are met</Trans> - </span> - <br /> - <span style={closeToExecutionPriceStyle}> - <Trans>Close to execution price</Trans> - </span> - <br /> - <span className="negative"> - <Trans>Can't execute because of an error</Trans> - </span> - </p> - <div className="max-w-full overflow-auto"> - <table className="Orders-overview-table"> - <thead> - <tr> - <th> - <Trans>Type</Trans> - </th> - <th colSpan="2"> - <Trans>Order</Trans> - </th> - <th> - <Trans>Price</Trans> - </th> - <th> - <Trans>Mark Price</Trans> - </th> - <th> - <Trans>Diff</Trans> - </th> - <th> - <Trans>Account</Trans> - </th> - <th> - <Trans>Created At</Trans> - </th> - <th> - <Trans>Index</Trans> - </th> - <th></th> - </tr> - </thead> - <tbody> - {orders.map((order) => { - const { type } = order; - const key = getOrderKey(order); - if (type === SWAP) { - const fromToken = getTokenInfo(infoTokens, order.path[0], true, nativeTokenAddress); - const toTokenAddress = order.path[order.path.length - 1]; - const toToken = getTokenInfo(infoTokens, toTokenAddress, order.shoudUnwrap, nativeTokenAddress); + <div className="max-w-full overflow-auto"> + <table className="Orders-overview-table"> + <thead> + <tr> + <th> + <Trans>Type</Trans> + </th> + <th colSpan="2"> + <Trans>Order</Trans> + </th> + <th> + <Trans>Price</Trans> + </th> + <th> + <Trans>Mark Price</Trans> + </th> + <th> + <Trans>Diff</Trans> + </th> + <th> + <Trans>Account</Trans> + </th> + <th> + <Trans>Created At</Trans> + </th> + <th> + <Trans>Index</Trans> + </th> + <th></th> + </tr> + </thead> + <tbody> + {orders.map((order) => { + const { type } = order; + const key = getOrderKey(order); + if (type === SWAP) { + const fromToken = getTokenInfo(infoTokens, order.path[0], true, nativeTokenAddress); + const toTokenAddress = order.path[order.path.length - 1]; + const toToken = getTokenInfo(infoTokens, toTokenAddress, order.shoudUnwrap, nativeTokenAddress); - let markExchangeRate; - let prefix; - let shouldExecute; - let nearExecute; - let diffPercent; - let invalidToken = false; - let error; - if (fromToken && toToken) { - const invert = shouldInvertTriggerRatio(fromToken, toToken); - markExchangeRate = getExchangeRate(fromToken, toToken); - prefix = - (order.triggerAboveThreshold && !invert) || (!order.triggerAboveThreshold && invert) ? "> " : "< "; - shouldExecute = markExchangeRate !== undefined && markExchangeRate < order.triggerRatio; - nearExecute = - markExchangeRate !== undefined && - markExchangeRate < bigMath.mulDiv(order.triggerRatio, 100n, BigInt(NEAR_TRESHOLD)); + let markExchangeRate; + let prefix; + let shouldExecute; + let nearExecute; + let diffPercent; + let invalidToken = false; + let error; + if (fromToken && toToken) { + const invert = shouldInvertTriggerRatio(fromToken, toToken); + markExchangeRate = getExchangeRate(fromToken, toToken); + prefix = + (order.triggerAboveThreshold && !invert) || (!order.triggerAboveThreshold && invert) + ? "> " + : "< "; + shouldExecute = markExchangeRate !== undefined && markExchangeRate < order.triggerRatio; + nearExecute = + markExchangeRate !== undefined && + markExchangeRate < bigMath.mulDiv(order.triggerRatio, 100n, BigInt(NEAR_TRESHOLD)); - if (markExchangeRate !== undefined) { - const diff = - order.triggerRatio > markExchangeRate - ? order.triggerRatio - markExchangeRate - : markExchangeRate - order.triggerRatio; - diffPercent = bigMath.mulDiv(diff, 10000n, markExchangeRate); + if (markExchangeRate !== undefined) { + const diff = + order.triggerRatio > markExchangeRate + ? order.triggerRatio - markExchangeRate + : markExchangeRate - order.triggerRatio; + diffPercent = bigMath.mulDiv(diff, 10000n, markExchangeRate); + } + } else { + invalidToken = true; + error = t`Invalid token fromToken: "${order.path0}" toToken: "${toTokenAddress}"`; } - } else { - invalidToken = true; - error = t`Invalid token fromToken: "${order.path0}" toToken: "${toTokenAddress}"`; - } - return ( - <tr key={key}> - <td>{_(ORDER_TYPE_LABELS[order.type])}</td> - <td colSpan="2"> - {!invalidToken && ( - <> - {formatAmount(order.amountIn, fromToken.decimals, 4, true)} {fromToken.symbol} -  for  - {formatAmount(order.minOut, toToken.decimals, 4, true)} {toToken.symbol} - </> - )} - </td> - <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> - {!invalidToken && prefix} - {getExchangeRateDisplay(order.triggerRatio, fromToken, toToken)} - </td> - <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> - {getExchangeRateDisplay(markExchangeRate, fromToken, toToken)} - </td> - <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> - {formatAmount(diffPercent, 2, 2)}% - </td> - <td> - <NavLink to={`/actions/${order.account}`}>{shortenAddress(order.account)}</NavLink> - </td> - <td>{formatDateTime(order.createdTimestamp)}</td> - <td>{order.index}</td> - <td className="negative">{error}</td> - <td> - <button className="Orders-overview-action" onClick={(evt) => executeOrder(evt, order)}> - Execute - </button> - </td> - </tr> - ); - } else { - const indexToken = getTokenInfo(infoTokens, order.indexToken, true, nativeTokenAddress); - const collateralToken = getTokenInfo(infoTokens, order.collateralToken, true, nativeTokenAddress); - const purchaseToken = getTokenInfo(infoTokens, order.purchaseToken); - - let markPrice; - let error; - if (indexToken && collateralToken && (order.type === DECREASE || purchaseToken)) { - markPrice = order.triggerAboveThreshold ? indexToken.minPrice : indexToken.maxPrice; + return ( + <tr key={key}> + <td>{_(ORDER_TYPE_LABELS[order.type])}</td> + <td colSpan="2"> + {!invalidToken && ( + <> + {formatAmount(order.amountIn, fromToken.decimals, 4, true)} {fromToken.symbol} +  for  + {formatAmount(order.minOut, toToken.decimals, 4, true)} {toToken.symbol} + </> + )} + </td> + <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> + {!invalidToken && prefix} + {getExchangeRateDisplay(order.triggerRatio, fromToken, toToken)} + </td> + <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> + {getExchangeRateDisplay(markExchangeRate, fromToken, toToken)} + </td> + <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> + {formatAmount(diffPercent, 2, 2)}% + </td> + <td> + <NavLink to={`/actions/${order.account}`}>{shortenAddress(order.account)}</NavLink> + </td> + <td>{formatDateTime(order.createdTimestamp)}</td> + <td>{order.index}</td> + <td className="negative">{error}</td> + <td> + <button className="Orders-overview-action" onClick={(evt) => executeOrder(evt, order)}> + Execute + </button> + </td> + </tr> + ); } else { - error = t`Invalid token indexToken: "${order.indexToken}" collateralToken: "${order.collateralToken}"`; - if (order.type === "increase") { - error += ` purchaseToken: ${order.purchaseToken}`; + const indexToken = getTokenInfo(infoTokens, order.indexToken, true, nativeTokenAddress); + const collateralToken = getTokenInfo(infoTokens, order.collateralToken, true, nativeTokenAddress); + const purchaseToken = getTokenInfo(infoTokens, order.purchaseToken); + + let markPrice; + let error; + if (indexToken && collateralToken && (order.type === DECREASE || purchaseToken)) { + markPrice = order.triggerAboveThreshold ? indexToken.minPrice : indexToken.maxPrice; + } else { + error = t`Invalid token indexToken: "${order.indexToken}" collateralToken: "${order.collateralToken}"`; + if (order.type === "increase") { + error += ` purchaseToken: ${order.purchaseToken}`; + } } - } - let shouldExecute; - let nearExecute; - let diffPercent; - if (markPrice !== undefined) { - shouldExecute = order.triggerAboveThreshold - ? markPrice > order.triggerPrice - : markPrice < order.triggerPrice; + let shouldExecute; + let nearExecute; + let diffPercent; + if (markPrice !== undefined) { + shouldExecute = order.triggerAboveThreshold + ? markPrice > order.triggerPrice + : markPrice < order.triggerPrice; - nearExecute = order.triggerAboveThreshold - ? markPrice > bigMath.mulDiv(order.triggerPrice, BigInt(NEAR_TRESHOLD), 100n) - : markPrice < bigMath.mulDiv(order.triggerPrice, 100n, BigInt(NEAR_TRESHOLD)); + nearExecute = order.triggerAboveThreshold + ? markPrice > bigMath.mulDiv(order.triggerPrice, BigInt(NEAR_TRESHOLD), 100n) + : markPrice < bigMath.mulDiv(order.triggerPrice, 100n, BigInt(NEAR_TRESHOLD)); - const diff = - markPrice > order.triggerPrice ? markPrice - order.triggerPrice : order.triggerPrice - markPrice; - diffPercent = bigMath.mulDiv(diff, 10000n, markPrice); - } + const diff = + markPrice > order.triggerPrice ? markPrice - order.triggerPrice : order.triggerPrice - markPrice; + diffPercent = bigMath.mulDiv(diff, 10000n, markPrice); + } - if (!error && type === DECREASE) { - if (positionsForOrders && key in positionsForOrders) { - const position = positionsForOrders[key]; - if (!position) { - error = t`No position`; - } else if (order.sizeDelta > position[0]) { - error = t`Order size exceeds position`; - } else if (order.sizeDelta == 0n) { - error = t`Order size is 0`; + if (!error && type === DECREASE) { + if (positionsForOrders && key in positionsForOrders) { + const position = positionsForOrders[key]; + if (!position) { + error = t`No position`; + } else if (order.sizeDelta > position[0]) { + error = t`Order size exceeds position`; + } else if (order.sizeDelta == 0n) { + error = t`Order size is 0`; + } } } + return ( + <tr key={key}> + <td>{_(ORDER_TYPE_LABELS[order.type])}</td> + <td> + {order.isLong ? t`Long` : t`Short`} {indexToken && indexToken.symbol} + </td> + <td> + {type === INCREASE ? "+" : "-"}${formatAmount(order.sizeDelta, USD_DECIMALS, 2, true)} + </td> + <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> + {order.triggerAboveThreshold ? "> " : "< "} + {formatAmount(order.triggerPrice, USD_DECIMALS, 2, true)} + </td> + <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> + ${formatAmount(markPrice, USD_DECIMALS, 2, true)} + </td> + <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> + {formatAmount(diffPercent, 2, 2)}% + </td> + <td> + <NavLink to={`/actions/${order.account}`}>{shortenAddress(order.account, 12)}</NavLink> + </td> + <td>{formatDateTime(order.createdTimestamp)}</td> + <td>{order.index}</td> + <td className="negative">{error}</td> + <td> + <button className="Orders-overview-action" onClick={(evt) => executeOrder(evt, order)}> + <Trans>Execute</Trans> + </button> + </td> + </tr> + ); } - return ( - <tr key={key}> - <td>{_(ORDER_TYPE_LABELS[order.type])}</td> - <td> - {order.isLong ? t`Long` : t`Short`} {indexToken && indexToken.symbol} - </td> - <td> - {type === INCREASE ? "+" : "-"}${formatAmount(order.sizeDelta, USD_DECIMALS, 2, true)} - </td> - <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> - {order.triggerAboveThreshold ? "> " : "< "} - {formatAmount(order.triggerPrice, USD_DECIMALS, 2, true)} - </td> - <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> - ${formatAmount(markPrice, USD_DECIMALS, 2, true)} - </td> - <td className={cx({ positive: shouldExecute, near: !shouldExecute && nearExecute })}> - {formatAmount(diffPercent, 2, 2)}% - </td> - <td> - <NavLink to={`/actions/${order.account}`}>{shortenAddress(order.account, 12)}</NavLink> - </td> - <td>{formatDateTime(order.createdTimestamp)}</td> - <td>{order.index}</td> - <td className="negative">{error}</td> - <td> - <button className="Orders-overview-action" onClick={(evt) => executeOrder(evt, order)}> - <Trans>Execute</Trans> - </button> - </td> - </tr> - ); - } - })} - </tbody> - </table> + })} + </tbody> + </table> + </div> </div> - </div> + </AppPageLayout> ); } diff --git a/src/pages/PageNotFound/PageNotFound.jsx b/src/pages/PageNotFound/PageNotFound.jsx index 89cd2f85c1..86b18ded0b 100644 --- a/src/pages/PageNotFound/PageNotFound.jsx +++ b/src/pages/PageNotFound/PageNotFound.jsx @@ -3,8 +3,8 @@ import { Trans, t } from "@lingui/macro"; import { getPageTitle } from "lib/legacy"; import { getHomeUrl, getTradePageUrl } from "lib/legacy"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import SEO from "components/Common/SEO"; -import Footer from "components/Footer/Footer"; import "./PageNotFound.css"; @@ -13,24 +13,25 @@ function PageNotFound() { const tradePageUrl = getTradePageUrl(); return ( - <SEO title={getPageTitle(t`Page not found`)}> - <div className="page-layout"> - <div className="page-not-found-container"> - <div className="page-not-found"> - <h2> - <Trans>Page not found</Trans> - </h2> - <p className="go-back"> - <Trans> - <span>Return to </span> - <a href={homeUrl}>Homepage</a> <span>or </span> <a href={tradePageUrl}>Trade</a> - </Trans> - </p> + <AppPageLayout> + <SEO title={getPageTitle(t`Page not found`)}> + <div className="page-layout"> + <div className="page-not-found-container"> + <div className="page-not-found"> + <h2> + <Trans>Page not found</Trans> + </h2> + <p className="go-back"> + <Trans> + <span>Return to </span> + <a href={homeUrl}>Homepage</a> <span>or </span> <a href={tradePageUrl}>Trade</a> + </Trans> + </p> + </div> </div> </div> - <Footer /> - </div> - </SEO> + </SEO> + </AppPageLayout> ); } diff --git a/src/pages/ParseTransaction/ParseTransaction.tsx b/src/pages/ParseTransaction/ParseTransaction.tsx index f4e0fad6b4..7546bae2c6 100644 --- a/src/pages/ParseTransaction/ParseTransaction.tsx +++ b/src/pages/ParseTransaction/ParseTransaction.tsx @@ -22,6 +22,7 @@ import { getOrderTypeLabel } from "domain/synthetics/orders"; import { useTokensDataRequest } from "domain/synthetics/tokens"; import { formatFactor, formatUsd } from "lib/numbers"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Loader from "components/Common/Loader"; import ExternalLink from "components/ExternalLink/ExternalLink"; import { Table, TableTd, TableTr } from "components/Table/Table"; @@ -136,73 +137,75 @@ export function ParseTransactionPage() { } return ( - <div className="mx-auto max-w-[1280px] pt-24"> - <h1 className="text-body-large mb-24"> - Transaction: <ExternalLink href={EXPLORER_TX_URLS[chainId] + tx}>{tx}</ExternalLink> - </h1> - <Table className="mb-12 "> - <tbody> - {data.length ? ( - data.map((event) => { - return ( - <Fragment key={event.key}> - <TableTr> - <TableTd className="w-[25rem] font-bold">Name</TableTd> - <TableTd className="group !text-left" colSpan={2}> - <div className="flex flex-row items-center justify-between gap-8"> - <span className="flex flex-row items-center gap-8 whitespace-nowrap"> - {event.log}: {event.name} - <CopyButton value={event.name} /> - </span> - <span>LogIndex: {event.logIndex}</span> - </div> - </TableTd> - </TableTr> - <TableTr> - <TableTd className="w-[25rem] font-bold">Topics</TableTd> - <TableTd className="group !text-left" colSpan={3}> - {event.topics.length > 0 - ? event.topics.map((t) => ( - <div className="mb-4 flex flex-row items-center gap-8" key={event.name + t}> - {t} - <CopyButton value={t} /> - </div> - )) - : "No topics"} - </TableTd> - </TableTr> - {event.values.map((value) => ( - <LogEntryComponent - name={event.name} - key={value.item} - {...value} - network={network} - chainId={chainId} - entries={event.values} - tokensData={tokensData} - marketsInfoData={marketsInfoData} - glvData={glvData} - marketTokensData={marketTokensData} - copyToClipboard={copyToClipboard} - allEvents={data} - /> - ))} - <TableTr> - <TableTd padding="compact" className="bg-slate-950" colSpan={3}></TableTd> - </TableTr> - </Fragment> - ); - }) - ) : ( - <TableTr> - <TableTd className="!text-center font-bold" colSpan={3}> - No events - </TableTd> - </TableTr> - )} - </tbody> - </Table> - </div> + <AppPageLayout> + <div className="mx-auto max-w-[1280px] pt-24"> + <h1 className="text-body-large mb-24"> + Transaction: <ExternalLink href={EXPLORER_TX_URLS[chainId] + tx}>{tx}</ExternalLink> + </h1> + <Table className="mb-12 "> + <tbody> + {data.length ? ( + data.map((event) => { + return ( + <Fragment key={event.key}> + <TableTr> + <TableTd className="w-[25rem] font-bold">Name</TableTd> + <TableTd className="group !text-left" colSpan={2}> + <div className="flex flex-row items-center justify-between gap-8"> + <span className="flex flex-row items-center gap-8 whitespace-nowrap"> + {event.log}: {event.name} + <CopyButton value={event.name} /> + </span> + <span>LogIndex: {event.logIndex}</span> + </div> + </TableTd> + </TableTr> + <TableTr> + <TableTd className="w-[25rem] font-bold">Topics</TableTd> + <TableTd className="group !text-left" colSpan={3}> + {event.topics.length > 0 + ? event.topics.map((t) => ( + <div className="mb-4 flex flex-row items-center gap-8" key={event.name + t}> + {t} + <CopyButton value={t} /> + </div> + )) + : "No topics"} + </TableTd> + </TableTr> + {event.values.map((value) => ( + <LogEntryComponent + name={event.name} + key={value.item} + {...value} + network={network} + chainId={chainId} + entries={event.values} + tokensData={tokensData} + marketsInfoData={marketsInfoData} + glvData={glvData} + marketTokensData={marketTokensData} + copyToClipboard={copyToClipboard} + allEvents={data} + /> + ))} + <TableTr> + <TableTd padding="compact" className="bg-slate-900" colSpan={3}></TableTd> + </TableTr> + </Fragment> + ); + }) + ) : ( + <TableTr> + <TableTd className="!text-center font-bold" colSpan={3}> + No events + </TableTd> + </TableTr> + )} + </tbody> + </Table> + </div> + </AppPageLayout> ); } diff --git a/src/pages/Pools/Pools.tsx b/src/pages/Pools/Pools.tsx index daf6aeb4d7..3bdd846a66 100644 --- a/src/pages/Pools/Pools.tsx +++ b/src/pages/Pools/Pools.tsx @@ -16,7 +16,8 @@ import { useTokensDataRequest } from "domain/synthetics/tokens"; import { useChainId } from "lib/chains"; import { formatUsd } from "lib/numbers"; -import Footer from "components/Footer/Footer"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; +import { ChainContentHeader } from "components/Synthetics/ChainContentHeader/ChainContentHeader"; import { GlvList } from "components/Synthetics/GmList/GlvList"; import { GmList } from "components/Synthetics/GmList/GmList"; @@ -64,9 +65,9 @@ export default function Pools() { const isBotanix = chainId === BOTANIX; return ( - <div className="default-container page-layout"> + <AppPageLayout header={<ChainContentHeader />}> <div - className={cx("mb-24 grid", { + className={cx("grid w-full flex-col p-12", { "grid-cols-1": isMobile, "grid-cols-2": !isMobile, })} @@ -74,7 +75,7 @@ export default function Pools() { <PoolsTvl /> <div - className={cx("", { + className={cx("flex-end flex", { "ml-0 mt-28": isMobile, "ml-auto mt-auto": !isMobile, })} @@ -112,9 +113,7 @@ export default function Pools() { isDeposit /> </div> - - <Footer /> - </div> + </AppPageLayout> ); } @@ -125,9 +124,9 @@ function PoolsTvl() { const tvl = v2Stats?.totalGMLiquidity; return ( - <div className="flex flex-col"> - <span className="text-h1">{formatUsd(tvl, { displayDecimals: 0 })}</span> - <span className="text-body-medium text-slate-100">TVL in vaults and pools.</span> + <div className="flex flex-col gap-8"> + <span className="text-h1 numbers">{formatUsd(tvl, { displayDecimals: 0 })}</span> + <span className="text-body-medium font-medium text-slate-100">TVL in vaults and pools.</span> </div> ); } diff --git a/src/pages/Pools/PoolsCard.tsx b/src/pages/Pools/PoolsCard.tsx index 8453119411..c8c6530355 100644 --- a/src/pages/Pools/PoolsCard.tsx +++ b/src/pages/Pools/PoolsCard.tsx @@ -12,13 +12,15 @@ export default function PoolsCard({ bottom?: ReactNode; }) { return ( - <div className="rounded-6 bg-slate-800"> - <div className="flex flex-col p-16"> - <span className="text-body-large mb-8">{title}</span> - <span className="text-body-medium mb-16 text-slate-100">{description}</span> - <div>{children}</div> + <div className="rounded-6 bg-slate-900"> + <div className="flex flex-col"> + <div className="flex flex-col gap-8 border-b-stroke border-slate-600 p-16"> + <span className="text-h2 font-medium max-md:text-body-medium">{title}</span> + <span className="text-body-medium text-slate-100 max-md:text-body-small">{description}</span> + </div> + <div className="max-md:p-12">{children}</div> </div> - {bottom && <div className="border-t border-stroke-primary p-8">{bottom}</div>} + {bottom && <div className="border-t-stroke border-slate-600 p-16">{bottom}</div>} </div> ); } diff --git a/src/pages/Pools/usePoolsIsMobilePage.ts b/src/pages/Pools/usePoolsIsMobilePage.ts index 37fde3ee66..b8ddbd7685 100644 --- a/src/pages/Pools/usePoolsIsMobilePage.ts +++ b/src/pages/Pools/usePoolsIsMobilePage.ts @@ -1,5 +1,6 @@ -import { useMedia } from "react-use"; +import { useBreakpoints } from "lib/breakpoints"; export function usePoolsIsMobilePage() { - return useMedia("(max-width: 768px)"); + const { isMobile } = useBreakpoints(); + return isMobile; } diff --git a/src/pages/PoolsDetails/PoolsDetails.tsx b/src/pages/PoolsDetails/PoolsDetails.tsx index f905ecfc21..4fdf474850 100644 --- a/src/pages/PoolsDetails/PoolsDetails.tsx +++ b/src/pages/PoolsDetails/PoolsDetails.tsx @@ -1,8 +1,6 @@ import { Trans } from "@lingui/macro"; import cx from "classnames"; import { useState } from "react"; -import { FaArrowLeft } from "react-icons/fa"; -import { useMedia } from "react-use"; import { usePoolsDetailsContext } from "context/PoolsDetailsContext/PoolsDetailsContext"; import { @@ -10,15 +8,19 @@ import { selectGlvAndMarketsInfoData, } from "context/SyntheticsStateContext/selectors/globalSelectors"; import { useSelector } from "context/SyntheticsStateContext/utils"; +import { isGlvInfo } from "domain/synthetics/markets/glv"; import { getTokenData } from "domain/synthetics/tokens"; +import { useBreakpoints } from "lib/breakpoints"; import { getPageTitle } from "lib/legacy"; import { getByKey } from "lib/objects"; import { usePoolsIsMobilePage } from "pages/Pools/usePoolsIsMobilePage"; -import ButtonLink from "components/Button/ButtonLink"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; +import { BreadcrumbItem, Breadcrumbs } from "components/Breadcrumbs/Breadcrumbs"; import Loader from "components/Common/Loader"; import SEO from "components/Common/SEO"; -import Footer from "components/Footer/Footer"; +import SideNav from "components/SideNav/SideNav"; +import { ChainContentHeader } from "components/Synthetics/ChainContentHeader/ChainContentHeader"; import { GmSwapBox, GmSwapBoxProps } from "components/Synthetics/GmSwap/GmSwapBox/GmSwapBox"; import { GmSwapBoxHeader } from "components/Synthetics/GmSwap/GmSwapBox/GmSwapBoxHeader"; import { useCompositionData } from "components/Synthetics/MarketStats/hooks/useCompositionData"; @@ -52,35 +54,46 @@ export function PoolsDetails() { const isMobile = usePoolsIsMobilePage(); - const isInCurtain = useMedia("(max-width: 1180px)"); + const { isSmallDesktop } = useBreakpoints(); + + const isInCurtain = isSmallDesktop; + + const breadcrumbs = ( + <Breadcrumbs> + <BreadcrumbItem to="/pools" back> + <Trans>Pools</Trans> + </BreadcrumbItem> + + <BreadcrumbItem active> + {isGlvInfo(glvOrMarketInfo) ? <Trans>GLV Vaults</Trans> : <Trans>GM Pools</Trans>} + </BreadcrumbItem> + </Breadcrumbs> + ); return ( - <SEO title={getPageTitle("V2 Pools")}> - <div className={cx("default-container page-layout flex flex-col", { "gap-12": isMobile, "gap-16": !isMobile })}> - <ButtonLink - to="/pools" - className="inline-flex w-fit gap-4 rounded-4 bg-slate-700 px-16 py-12 hover:bg-cold-blue-700" - > - <FaArrowLeft size={16} /> - Back to Pools - </ButtonLink> - {glvOrMarketInfo ? ( - <> - <PoolsDetailsHeader glvOrMarketInfo={glvOrMarketInfo} marketToken={marketToken} /> - - <div className={cx("mb-15 flex justify-between gap-12", { "flex-wrap": isInCurtain })}> - <div className="flex grow flex-col gap-16"> - {glvOrMarketInfo && <MarketGraphs glvOrMarketInfo={glvOrMarketInfo} />} - <PoolsDetailsCard title={<Trans>Composition</Trans>} childrenContainerClassName="!p-0"> - <div className={cx("grid", { "grid-cols-1": isMobile, "grid-cols-2": !isMobile })}> - <div className={cx("border-stroke-primary", { "border-r": !isMobile, "border-b": isMobile })}> - <MarketComposition - type="backing" - label={<Trans>Backing Composition</Trans>} - title={<Trans>Exposure to Backing Tokens</Trans>} - composition={backingComposition} - /> - </div> + <AppPageLayout + className="max-lg:pb-40" + sideNav={<SideNav className="max-xl:pb-40" />} + header={<ChainContentHeader breadcrumbs={breadcrumbs} leftContentClassName="!pl-0 max-md:!pl-8" />} + > + <SEO title={getPageTitle("V2 Pools")}> + <div className={cx("flex flex-col gap-8")}> + {glvOrMarketInfo ? ( + <> + <PoolsDetailsHeader glvOrMarketInfo={glvOrMarketInfo} marketToken={marketToken} /> + + <div className={cx("flex justify-between gap-8", { "flex-wrap": isInCurtain })}> + <div className="flex grow flex-col gap-8"> + {glvOrMarketInfo && <MarketGraphs glvOrMarketInfo={glvOrMarketInfo} />} + + <div className={cx("grid gap-8", { "grid-cols-1": isMobile, "grid-cols-2": !isMobile })}> + <MarketComposition + type="backing" + label={<Trans>Backing Composition</Trans>} + title={<Trans>Exposure to Backing Tokens</Trans>} + composition={backingComposition} + /> + <MarketComposition type="market" label={<Trans>Market Composition</Trans>} @@ -88,37 +101,35 @@ export function PoolsDetails() { composition={marketComposition} /> </div> - </PoolsDetailsCard> - - <PoolsDetailsCard title={<Trans>About</Trans>}> - <PoolsDetailsAbout - glvOrMarketInfo={glvOrMarketInfo} - marketToken={marketToken} - marketsInfoData={glvAndMarketsInfoData} - marketTokensData={depositMarketTokensData} - /> - </PoolsDetailsCard> + <PoolsDetailsCard title={<Trans>About</Trans>}> + <PoolsDetailsAbout + glvOrMarketInfo={glvOrMarketInfo} + marketToken={marketToken} + marketsInfoData={glvAndMarketsInfoData} + marketTokensData={depositMarketTokensData} + /> + </PoolsDetailsCard> + </div> + + <PoolsDetailsGmSwapBox + selectedGlvOrMarketAddress={glvOrMarketAddress} + onSelectGlvOrMarket={setGlvOrMarketAddress} + selectedMarketForGlv={selectedMarketForGlv} + onSelectedMarketForGlv={setSelectedMarketForGlv} + operation={operation} + mode={mode} + onSetMode={setMode} + onSetOperation={setOperation} + isInCurtain={isInCurtain} + /> </div> - - <PoolsDetailsGmSwapBox - selectedGlvOrMarketAddress={glvOrMarketAddress} - onSelectGlvOrMarket={setGlvOrMarketAddress} - selectedMarketForGlv={selectedMarketForGlv} - onSelectedMarketForGlv={setSelectedMarketForGlv} - operation={operation} - mode={mode} - onSetMode={setMode} - onSetOperation={setOperation} - isInCurtain={isInCurtain} - /> - </div> - </> - ) : ( - <Loader /> - )} - <Footer /> - </div> - </SEO> + </> + ) : ( + <Loader /> + )} + </div> + </SEO> + </AppPageLayout> ); } diff --git a/src/pages/PoolsDetails/PoolsDetailsAbout.tsx b/src/pages/PoolsDetails/PoolsDetailsAbout.tsx index 06bf4e0b47..1819cb8172 100644 --- a/src/pages/PoolsDetails/PoolsDetailsAbout.tsx +++ b/src/pages/PoolsDetails/PoolsDetailsAbout.tsx @@ -81,6 +81,8 @@ export function PoolsDetailsAbout({ ? `${formatAmountHuman(mintable?.mintableAmount, marketToken?.decimals, false, 2)} ${marketToken?.symbol}` : "..." } + valueClassName="text-13" + secondaryValueClassName="text-12" secondaryValue={mintable ? formatAmountHuman(mintable?.mintableUsd, USD_DECIMALS, true, 2) : undefined} tooltipContent={ !isGlv ? <BuyableTooltipContent marketInfo={glvOrMarketInfo} mintableInfo={mintableInfo} /> : undefined @@ -93,6 +95,8 @@ export function PoolsDetailsAbout({ ? `${formatAmountHuman(sellable?.totalAmount, marketToken?.decimals, false, 2)} ${marketToken?.symbol}` : "..." } + valueClassName="text-13" + secondaryValueClassName="text-12" secondaryValue={sellable ? formatAmountHuman(sellable?.totalUsd, USD_DECIMALS, true, 2) : undefined} tooltipContent={ !isGlv ? <SellableTooltipContent marketInfo={glvOrMarketInfo} sellableInfo={sellableInfo} /> : undefined @@ -109,6 +113,8 @@ export function PoolsDetailsAbout({ : formatDateTime(bigintToNumber(glvOrMarketInfo.shiftLastExecutedAt, 0)) : "..." } + valueClassName="text-13" + secondaryValueClassName="text-12" /> )} </div> @@ -213,7 +219,7 @@ const BuyableTooltipContent = ({ decimals={marketInfo?.longToken?.decimals} usd={(mintableInfo?.longDepositCapacityUsd ?? 0n) + (mintableInfo?.shortDepositCapacityUsd ?? 0n)} />, - <span key="longTokenMaxValue-isSameCollaterals-ratio" className="text-body-small text-slate-100"> + <span key="longTokenMaxValue-isSameCollaterals-ratio" className="text-body-small text-slate-100 numbers"> ({poolUsd} / {maxPoolUsd}) </span>, ]; @@ -230,7 +236,7 @@ const BuyableTooltipContent = ({ usd={mintableInfo?.longDepositCapacityUsd} symbol={marketInfo?.longToken?.symbol} />, - <span key="longTokenMaxValue-ratio" className="text-body-small text-slate-100"> + <span key="longTokenMaxValue-ratio" className="text-body-small text-slate-100 numbers"> ({poolUsd} / {maxPoolUsd}) </span>, ]; @@ -258,7 +264,7 @@ const BuyableTooltipContent = ({ usd={mintableInfo?.shortDepositCapacityUsd} symbol={marketInfo?.shortToken?.symbol} />, - <span key="shortTokenMaxValue-ratio" className="text-body-small text-slate-100"> + <span key="shortTokenMaxValue-ratio" className="text-body-small text-slate-100 numbers"> ({poolUsd} / {maxPoolUsd}) </span>, ]; diff --git a/src/pages/PoolsDetails/PoolsDetailsCard.tsx b/src/pages/PoolsDetails/PoolsDetailsCard.tsx index ba83e66c74..69dd8685f2 100644 --- a/src/pages/PoolsDetails/PoolsDetailsCard.tsx +++ b/src/pages/PoolsDetails/PoolsDetailsCard.tsx @@ -9,9 +9,9 @@ type Props = { export function PoolsDetailsCard({ title, children, childrenContainerClassName }: Props) { return ( - <div className="flex flex-col rounded-4 bg-slate-800"> - <div className="text-body-large border-b border-b-stroke-primary p-16">{title}</div> - <div className={cx("p-16", childrenContainerClassName)}>{children}</div> + <div className="flex flex-col rounded-8 bg-slate-900"> + <div className="border-b-stroke border-b-slate-600 p-20 text-[20px] font-medium">{title}</div> + <div className={cx("p-20", childrenContainerClassName)}>{children}</div> </div> ); } diff --git a/src/pages/PoolsDetails/PoolsDetailsHeader.tsx b/src/pages/PoolsDetails/PoolsDetailsHeader.tsx index 1d2c66142b..d28631f6f6 100644 --- a/src/pages/PoolsDetails/PoolsDetailsHeader.tsx +++ b/src/pages/PoolsDetails/PoolsDetailsHeader.tsx @@ -1,5 +1,7 @@ import { Trans } from "@lingui/macro"; import cx from "classnames"; +import { useCallback, useState } from "react"; +import { FaChevronDown } from "react-icons/fa"; import { USD_DECIMALS } from "config/factors"; import { @@ -18,6 +20,7 @@ import { getByKey } from "lib/objects"; import { usePoolsIsMobilePage } from "pages/Pools/usePoolsIsMobilePage"; import { getNormalizedTokenSymbol } from "sdk/configs/tokens"; +import Button from "components/Button/Button"; import TokenIcon from "components/TokenIcon/TokenIcon"; import { PoolsDetailsMarketAmount } from "./PoolsDetailsMarketAmount"; @@ -49,65 +52,80 @@ export function PoolsDetailsHeader({ glvOrMarketInfo, marketToken }: Props) { const isMobile = usePoolsIsMobilePage(); + const [isOpen, setIsOpen] = useState(true); + + const handleToggle = useCallback(() => { + setIsOpen(!isOpen); + }, [isOpen, setIsOpen]); + return ( <div - className={cx("flex rounded-4 bg-slate-800 px-16 py-20", { - "flex-col gap-10": isMobile, + className={cx("flex rounded-8 bg-slate-900 px-16 py-20 max-md:px-12 max-md:py-12", { + "flex-col gap-18": isMobile, "items-center gap-28": !isMobile, })} > {glvOrMarketInfo ? ( <> <div - className={cx("flex items-center gap-20 border-stroke-primary", { - "border-r": !isMobile, - "mb-12 border-b pb-14": isMobile, + className={cx("flex items-center justify-between ", { + "border-b-stroke border-slate-600 pb-18": isOpen && isMobile, })} > - {iconName ? ( - <TokenIcon - symbol={iconName} - displaySize={40} - importSize={40} - badge={ - isGlv - ? getGlvMarketShortening(chainId, getGlvOrMarketAddress(glvOrMarketInfo)) - : ([glvOrMarketInfo.longToken.symbol, glvOrMarketInfo.shortToken.symbol] as const) - } - /> - ) : null} - <div className={cx("flex flex-col gap-4 pr-20")}> - <div className="text-body-large">{isGlv ? "GLV" : `GM: ${getMarketIndexName(glvOrMarketInfo)}`}</div> - <div className="text-body-small text-slate-100">{`[${getMarketPoolName(glvOrMarketInfo)}]`}</div> + <div className="flex items-center gap-20"> + {iconName ? ( + <TokenIcon + symbol={iconName} + displaySize={40} + importSize={40} + badge={ + isGlv + ? getGlvMarketShortening(chainId, getGlvOrMarketAddress(glvOrMarketInfo)) + : ([glvOrMarketInfo.longToken.symbol, glvOrMarketInfo.shortToken.symbol] as const) + } + /> + ) : null} + <div className={cx("flex flex-col gap-4 pr-20 font-medium")}> + <div className="text-body-large">{isGlv ? "GLV" : `GM: ${getMarketIndexName(glvOrMarketInfo)}`}</div> + <div className="text-body-small text-slate-100">{`[${getMarketPoolName(glvOrMarketInfo)}]`}</div> + </div> </div> + {isMobile ? ( + <Button className="flex h-32 w-32 items-center justify-center" variant="secondary" onClick={handleToggle}> + <FaChevronDown className={cx({ "rotate-180": isOpen })} /> + </Button> + ) : null} </div> + {!isOpen && isMobile ? null : ( + <div className="flex gap-14 max-md:flex-col"> + <PoolsDetailsMarketAmount + label={<Trans>TVL (Supply)</Trans>} + value={formatAmountHuman(marketTotalSupplyUsd, USD_DECIMALS, true, 2)} + secondaryValue={ + typeof marketTotalSupply === "bigint" && typeof marketToken?.decimals === "number" + ? `${formatAmountHuman(marketTotalSupply, marketToken?.decimals, false, 2)} ${isGlv ? "GLV" : "GM"}` + : undefined + } + /> - <PoolsDetailsMarketAmount - label={<Trans>TVL (Supply)</Trans>} - value={formatAmountHuman(marketTotalSupplyUsd, USD_DECIMALS, true, 2)} - secondaryValue={ - typeof marketTotalSupply === "bigint" && typeof marketToken?.decimals === "number" - ? `${formatAmountHuman(marketTotalSupply, marketToken?.decimals, false, 2)} ${isGlv ? "GLV" : "GM"}` - : undefined - } - /> - - {typeof marketBalance === "bigint" && typeof marketToken?.decimals === "number" ? ( - <PoolsDetailsMarketAmount - label={<Trans>Wallet</Trans>} - value={formatUsd(marketBalanceUsd)} - secondaryValue={`${formatBalanceAmount(marketBalance, marketToken?.decimals, undefined, { - showZero: true, - })} ${isGlv ? "GLV" : "GM"}`} - /> - ) : null} + {typeof marketBalance === "bigint" && typeof marketToken?.decimals === "number" ? ( + <PoolsDetailsMarketAmount + label={<Trans>Wallet</Trans>} + value={formatUsd(marketBalanceUsd)} + secondaryValue={`${formatBalanceAmount(marketBalance, marketToken?.decimals, undefined, { + showZero: true, + })} ${isGlv ? "GLV" : "GM"}`} + /> + ) : null} - {marketEarnings ? ( - <PoolsDetailsMarketAmount - label={<Trans>Total Earned Fees</Trans>} - value={formatUsd(marketEarnings?.total)} - /> - ) : null} + {marketEarnings ? ( + <PoolsDetailsMarketAmount + label={<Trans>Total Earned Fees</Trans>} + value={formatUsd(marketEarnings?.total)} + /> + ) : null} + </div> + )} </> ) : ( <div>...</div> diff --git a/src/pages/PoolsDetails/PoolsDetailsMarketAmount.tsx b/src/pages/PoolsDetails/PoolsDetailsMarketAmount.tsx index dcc4bccf6a..b164f32f34 100644 --- a/src/pages/PoolsDetails/PoolsDetailsMarketAmount.tsx +++ b/src/pages/PoolsDetails/PoolsDetailsMarketAmount.tsx @@ -11,21 +11,30 @@ export function PoolsDetailsMarketAmount({ secondaryValue, label, tooltipContent, + valueClassName, + secondaryValueClassName, }: { value: ReactNode; secondaryValue?: string; label?: ReactNode; tooltipContent?: ReactNode; + valueClassName?: string; + secondaryValueClassName?: string; }) { const isMobile = usePoolsIsMobilePage(); const valueContent = ( - <span className={cx("flex items-center", { "gap-8": !isMobile, "gap-4": isMobile })}> - <span className="text-body-medium">{value}</span> + <span + className={cx("text-body-large flex items-center max-md:text-body-medium", { + "gap-8": !isMobile, + "gap-4": isMobile, + })} + > + <span className={cx("numbers", valueClassName)}>{value}</span> {secondaryValue ? ( - <span className={cx("text-slate-100", { "text-body-medium": !isMobile, "text-body-small": isMobile })}> - {`(${secondaryValue})`} - </span> + <> + <span className={cx("text-slate-100 numbers", secondaryValueClassName)}>({secondaryValue})</span> + </> ) : null} </span> ); @@ -41,8 +50,8 @@ export function PoolsDetailsMarketAmount({ } return ( - <div className="flex flex-col gap-8"> - <div className="text-body-small text-slate-100">{label}</div> + <div className="flex flex-col gap-2"> + <div className="text-body-medium font-medium text-slate-100">{label}</div> {valueContentWithTooltip} </div> ); diff --git a/src/pages/PositionsOverview/PositionsOverview.jsx b/src/pages/PositionsOverview/PositionsOverview.jsx index 443ead48d1..f2b02266a2 100644 --- a/src/pages/PositionsOverview/PositionsOverview.jsx +++ b/src/pages/PositionsOverview/PositionsOverview.jsx @@ -9,6 +9,8 @@ import { formatAmount } from "lib/numbers"; import useWallet from "lib/wallets/useWallet"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; + import "./PositionsOverview.css"; export default function PositionsOverview() { @@ -18,62 +20,64 @@ export default function PositionsOverview() { const positions = useAllPositions(chainId, signer); return ( - <div className="page-layout default-container"> - <p> - <Trans> - Open positions: {positions.length} - <br /> - Under risk: {positions.filter((p) => p.danger).length} - </Trans> - </p> - <div className="max-w-full overflow-auto"> - <table className="Positions-overview-table"> - <thead> - <tr> - <th> - <Trans>account</Trans> - </th> - <th> - <Trans>size</Trans> - </th> - <th> - <Trans>collateral</Trans> - </th> - <th> - <Trans>fee</Trans> - </th> - <th> - <Trans>time to liq</Trans> - </th> - </tr> - </thead> - <tbody> - {positions && - positions - .filter((p) => p.danger) - .map((position, i) => { - const { size, account, collateral, fee, danger } = position; + <AppPageLayout> + <div className="page-layout default-container"> + <p> + <Trans> + Open positions: {positions.length} + <br /> + Under risk: {positions.filter((p) => p.danger).length} + </Trans> + </p> + <div className="max-w-full overflow-auto"> + <table className="Positions-overview-table"> + <thead> + <tr> + <th> + <Trans>account</Trans> + </th> + <th> + <Trans>size</Trans> + </th> + <th> + <Trans>collateral</Trans> + </th> + <th> + <Trans>fee</Trans> + </th> + <th> + <Trans>time to liq</Trans> + </th> + </tr> + </thead> + <tbody> + {positions && + positions + .filter((p) => p.danger) + .map((position, i) => { + const { size, account, collateral, fee, danger } = position; - const diffToLiq = position.collateral - position.fee; - const fundingFee = 80n; - const feesPerHour = bigMath.mulDiv(position.size, fundingFee, 1000000n); - const hoursToLiq = diffToLiq / feesPerHour; - const liqTime = Number(hoursToLiq) * 60 * 60 + Date.now() / 1000; - return ( - <tr key={i}> - <td>{account}</td> - <td>${formatAmount(size, USD_DECIMALS, 2, true)}</td> - <td>${formatAmount(collateral, USD_DECIMALS, 2, true)}</td> - <td className={cx({ negative: danger })}>${formatAmount(fee, USD_DECIMALS, 2, true)}</td> - <td> - {getTimeRemaining(liqTime)} (${formatAmount(feesPerHour, USD_DECIMALS, 2, true)}/h) - </td> - </tr> - ); - })} - </tbody> - </table> + const diffToLiq = position.collateral - position.fee; + const fundingFee = 80n; + const feesPerHour = bigMath.mulDiv(position.size, fundingFee, 1000000n); + const hoursToLiq = diffToLiq / feesPerHour; + const liqTime = Number(hoursToLiq) * 60 * 60 + Date.now() / 1000; + return ( + <tr key={i}> + <td>{account}</td> + <td>${formatAmount(size, USD_DECIMALS, 2, true)}</td> + <td>${formatAmount(collateral, USD_DECIMALS, 2, true)}</td> + <td className={cx({ negative: danger })}>${formatAmount(fee, USD_DECIMALS, 2, true)}</td> + <td> + {getTimeRemaining(liqTime)} (${formatAmount(feesPerHour, USD_DECIMALS, 2, true)}/h) + </td> + </tr> + ); + })} + </tbody> + </table> + </div> </div> - </div> + </AppPageLayout> ); } diff --git a/src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx b/src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx index 95c91e4fe5..5f58fb3c41 100644 --- a/src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx +++ b/src/pages/PriceImpactRebatesStats/PriceImpactRebatesStats.tsx @@ -13,9 +13,9 @@ import { shortenAddressOrEns } from "lib/wallets"; import { buildAccountDashboardUrl } from "pages/AccountDashboard/buildAccountDashboardUrl"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Checkbox from "components/Checkbox/Checkbox"; import SpinningLoader from "components/Common/SpinningLoader"; -import Footer from "components/Footer/Footer"; import { RebateGroup, usePriceImpactRebateGroups } from "./hooks/usePriceImpactRebatesStats"; @@ -32,36 +32,37 @@ export const PriceImpactRebatesStatsPage = memo(() => { }, [reviewed]); return ( - <div className="default-container page-layout"> - <div className="flex"> - <Checkbox isChecked={reviewed} setIsChecked={setReviewed}> - Incl. reviewed - </Checkbox> - <div className="PriceImpactRebatesStats-loading">{loading && <SpinningLoader />}</div> - </div> - <RebateStatsTable rebateGroups={rebateGroups} /> - <div> - {pageIndex > 0 && ( - <button - disabled={loading} - className="App-button-option App-card-option" - onClick={() => setPageIndex((page) => Math.max(0, page - 1))} - > - <Trans>Prev</Trans> - </button> - )} - {hasMore && ( - <button - disabled={loading} - className="App-button-option App-card-option" - onClick={() => setPageIndex((page) => page + 1)} - > - <Trans>Next</Trans> - </button> - )} + <AppPageLayout> + <div className="default-container page-layout"> + <div className="flex"> + <Checkbox isChecked={reviewed} setIsChecked={setReviewed}> + Incl. reviewed + </Checkbox> + <div className="PriceImpactRebatesStats-loading">{loading && <SpinningLoader />}</div> + </div> + <RebateStatsTable rebateGroups={rebateGroups} /> + <div> + {pageIndex > 0 && ( + <button + disabled={loading} + className="App-button-option App-card-option" + onClick={() => setPageIndex((page) => Math.max(0, page - 1))} + > + <Trans>Prev</Trans> + </button> + )} + {hasMore && ( + <button + disabled={loading} + className="App-button-option App-card-option" + onClick={() => setPageIndex((page) => page + 1)} + > + <Trans>Next</Trans> + </button> + )} + </div> </div> - <Footer /> - </div> + </AppPageLayout> ); }); diff --git a/src/pages/ReferralTerms/ReferralTerms.jsx b/src/pages/ReferralTerms/ReferralTerms.jsx index 493d4bef3d..8cfce79728 100644 --- a/src/pages/ReferralTerms/ReferralTerms.jsx +++ b/src/pages/ReferralTerms/ReferralTerms.jsx @@ -4,7 +4,6 @@ import { getPageTitle } from "lib/legacy"; import SEO from "components/Common/SEO"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Footer from "components/Footer/Footer"; import "./ReferralTerms.css"; @@ -209,7 +208,6 @@ export default function ReferralTerms() { </div> </div> </div> - <Footer /> </div> </SEO> ); diff --git a/src/pages/Referrals/Referrals.css b/src/pages/Referrals/Referrals.css index 19e91bc3e4..c24db8aaec 100644 --- a/src/pages/Referrals/Referrals.css +++ b/src/pages/Referrals/Referrals.css @@ -1,7 +1,3 @@ -.Referrals { - padding-top: 4.65rem; -} - .section-center { margin: 0 auto; text-align: center; @@ -18,10 +14,9 @@ .referral-card { position: relative; padding: 2.4rem; - border-radius: 1.3rem; - max-width: 59.2rem; - background: var(--color-slate-800); - border-radius: 0.4rem; + max-width: 60rem; + background: var(--color-slate-900); + border-radius: 8px; } .referral-card .title { font-weight: 500; @@ -255,10 +250,10 @@ justify-content: center; align-items: center; padding: 3rem 1.5rem; - border: 1px solid var(--color-slate-700); border-radius: 0.4rem; - background: var(--color-slate-800); + background: var(--color-slate-900); font-size: var(--font-size-body-medium); + color: var(--color-slate-100); flex-direction: column; } diff --git a/src/pages/Referrals/Referrals.tsx b/src/pages/Referrals/Referrals.tsx index 6d10642d40..95011563cb 100644 --- a/src/pages/Referrals/Referrals.tsx +++ b/src/pages/Referrals/Referrals.tsx @@ -23,10 +23,10 @@ import { useLocalStorageSerializeKey } from "lib/localStorage"; import { serializeBigIntsInObject } from "lib/numbers"; import useWallet from "lib/wallets/useWallet"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Loader from "components/Common/Loader"; import SEO from "components/Common/SEO"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Footer from "components/Footer/Footer"; import PageTitle from "components/PageTitle/PageTitle"; import AddAffiliateCode from "components/Referrals/AddAffiliateCode"; import AffiliatesStats from "components/Referrals/AffiliatesStats"; @@ -136,36 +136,42 @@ function Referrals() { } return ( - <SEO title={getPageTitle(t`Referrals`)}> - <div className="default-container page-layout Referrals"> - <PageTitle - isTop - title={t`Referrals`} - subtitle={ - !isBotanix ? ( - <Trans> - Get fee discounts and earn rebates through the GMX referral program. - <br /> - For more information, please read the{" "} - <ExternalLink href="https://docs.gmx.io/docs/referrals">referral program details</ExternalLink>. - </Trans> - ) : undefined - } - qa="referrals-page" - /> - {isBotanix ? ( - <BotanixBanner /> - ) : ( - <> - <div className="referral-tab-container"> - <Tabs options={tabsOptions} selectedValue={activeTab} onChange={setActiveTab} /> + <AppPageLayout> + <SEO title={getPageTitle(t`Referrals`)}> + <div className="default-container page-layout flex flex-col gap-20"> + <PageTitle + isTop + title={t`Referrals`} + subtitle={ + !isBotanix ? ( + <Trans> + Get fee discounts and earn rebates through the GMX referral program. + <br /> + For more information, please read the{" "} + <ExternalLink href="https://docs.gmx.io/docs/referrals">referral program details</ExternalLink>. + </Trans> + ) : undefined + } + qa="referrals-page" + /> + {isBotanix ? ( + <BotanixBanner /> + ) : ( + <div> + <Tabs + type="inline" + className="mb-16" + options={tabsOptions} + selectedValue={activeTab} + onChange={setActiveTab} + /> + + {activeTab === AFFILIATES ? renderAffiliatesTab() : renderTradersTab()} </div> - {activeTab === AFFILIATES ? renderAffiliatesTab() : renderTradersTab()} - </> - )} - </div> - <Footer /> - </SEO> + )} + </div> + </SEO> + </AppPageLayout> ); } diff --git a/src/pages/ReferralsTier/ReferralsTier.tsx b/src/pages/ReferralsTier/ReferralsTier.tsx index 0e14b3d6d1..52ab639a25 100644 --- a/src/pages/ReferralsTier/ReferralsTier.tsx +++ b/src/pages/ReferralsTier/ReferralsTier.tsx @@ -5,6 +5,7 @@ import { useReferrerTier, setAffiliateTier as contractSetAffiliateTier } from "d import { useChainId } from "lib/chains"; import useWallet from "lib/wallets/useWallet"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Button from "components/Button/Button"; import Select from "components/Select/Select"; @@ -67,10 +68,12 @@ export default function ReferralsTier() { } return ( - <div className="page-layout default-container"> - <h1>Referrals Tier</h1> - {!active && <div>Wallet is not connected</div>} - {renderForm()} - </div> + <AppPageLayout> + <div className="page-layout default-container"> + <h1>Referrals Tier</h1> + {!active && <div>Wallet is not connected</div>} + {renderForm()} + </div> + </AppPageLayout> ); } diff --git a/src/pages/Stake/EscrowedGmxCard.tsx b/src/pages/Stake/EscrowedGmxCard.tsx index a68be74cc4..2c891e4db6 100644 --- a/src/pages/Stake/EscrowedGmxCard.tsx +++ b/src/pages/Stake/EscrowedGmxCard.tsx @@ -61,7 +61,7 @@ export function EscrowedGmxCard({ } const gmxAvgAprText = useMemo(() => { - return `${formatAmount(processedData?.gmxAprTotal, 2, 2, true)}%`; + return <span className="numbers">{formatAmount(processedData?.gmxAprTotal, 2, 2, true)}%</span>; }, [processedData?.gmxAprTotal]); return ( @@ -80,7 +80,9 @@ export function EscrowedGmxCard({ <div className="label"> <Trans>Price</Trans> </div> - <div>${formatAmount(gmxPrice, USD_DECIMALS, 2, true)}</div> + <div> + <span className="numbers">${formatAmount(gmxPrice, USD_DECIMALS, 2, true)}</span> + </div> </div> <div className="App-card-row"> <div className="label"> diff --git a/src/pages/Stake/GlpCard.tsx b/src/pages/Stake/GlpCard.tsx index 9e61e9c5b4..261c61088a 100644 --- a/src/pages/Stake/GlpCard.tsx +++ b/src/pages/Stake/GlpCard.tsx @@ -36,7 +36,9 @@ export function GlpCard({ processedData }: { processedData: ProcessedData | unde <div className="label"> <Trans>Price</Trans> </div> - <div>${formatKeyAmount(processedData, "glpPrice", USD_DECIMALS, GLP_PRICE_DECIMALS, true)}</div> + <div className="numbers"> + ${formatKeyAmount(processedData, "glpPrice", USD_DECIMALS, GLP_PRICE_DECIMALS, true)} + </div> </div> <div className="App-card-row"> <div className="label"> @@ -71,7 +73,9 @@ export function GlpCard({ processedData }: { processedData: ProcessedData | unde </div> <div> <Tooltip - handle={`$${formatKeyAmount(processedData, "totalGlpRewardsUsd", USD_DECIMALS, 2, true)}`} + handle={ + <span className="numbers">{`$${formatKeyAmount(processedData, "totalGlpRewardsUsd", USD_DECIMALS, 2, true)}`}</span> + } position="bottom-end" content={ <> diff --git a/src/pages/Stake/GmxAndVotingPowerCard.tsx b/src/pages/Stake/GmxAndVotingPowerCard.tsx index 6662ba54e1..e9808ee0b6 100644 --- a/src/pages/Stake/GmxAndVotingPowerCard.tsx +++ b/src/pages/Stake/GmxAndVotingPowerCard.tsx @@ -102,7 +102,7 @@ export function GmxAndVotingPowerCard({ ); const gmxAvgAprText = useMemo(() => { - return `${formatAmount(processedData?.gmxAprTotal, 2, 2, true)}%`; + return <span className="numbers">{formatAmount(processedData?.gmxAprTotal, 2, 2, true)}%</span>; }, [processedData?.gmxAprTotal]); const nativeTokenSymbol = getConstant(chainId, "nativeTokenSymbol"); @@ -129,16 +129,20 @@ export function GmxAndVotingPowerCard({ <Tooltip position="bottom-end" className="whitespace-nowrap" - handle={"$" + formatAmount(gmxPrice, USD_DECIMALS, 2, true)} + handle={<span className="numbers">{"$" + formatAmount(gmxPrice, USD_DECIMALS, 2, true)}</span>} renderContent={() => ( <> <StatsTooltipRow label={t`Price on Avalanche`} - value={formatAmount(gmxPriceFromAvalanche, USD_DECIMALS, 2, true)} + value={ + <span className="numbers">{formatAmount(gmxPriceFromAvalanche, USD_DECIMALS, 2, true)}</span> + } /> <StatsTooltipRow label={t`Price on Arbitrum`} - value={formatAmount(gmxPriceFromArbitrum, USD_DECIMALS, 2, true)} + value={ + <span className="numbers">{formatAmount(gmxPriceFromArbitrum, USD_DECIMALS, 2, true)}</span> + } /> </> )} @@ -182,7 +186,11 @@ export function GmxAndVotingPowerCard({ <Tooltip position="bottom-end" className="nowrap" - handle={formatBalanceAmount(govTokenAmount, 18, "GMX DAO", { showZero: true })} + handle={ + <span className="numbers"> + {formatBalanceAmount(govTokenAmount, 18, "GMX DAO", { showZero: true })} + </span> + } content={ <> {govTokenDelegatesAddress === NATIVE_TOKEN_ADDRESS && govTokenAmount > 0 ? ( @@ -244,7 +252,9 @@ export function GmxAndVotingPowerCard({ </div> <div> <Tooltip - handle={`$${formatKeyAmount(processedData, "totalStakingRewardsUsd", USD_DECIMALS, 2, true)}`} + handle={ + <span className="numbers">{`$${formatKeyAmount(processedData, "totalStakingRewardsUsd", USD_DECIMALS, 2, true)}`}</span> + } position="bottom-end" content={ <> @@ -306,7 +316,9 @@ export function GmxAndVotingPowerCard({ <div className="label"> <Trans>Total Supply</Trans> </div> - <AmountWithUsdHuman amount={totalGmxSupply} decimals={18} usd={totalSupplyUsd} /> + <div> + <AmountWithUsdHuman amount={totalGmxSupply} decimals={18} usd={totalSupplyUsd} /> + </div> </div> <div className="App-card-divider" /> <div className="App-card-buttons m-0"> diff --git a/src/pages/Stake/Stake.css b/src/pages/Stake/Stake.css index a7c368e070..e2c6e61138 100644 --- a/src/pages/Stake/Stake.css +++ b/src/pages/Stake/Stake.css @@ -54,7 +54,7 @@ border-radius: 2px; width: 1.5rem; height: 0.8rem; - border: 1px solid var(--color-gray-500); + border: 0.5px solid var(--color-slate-600); display: inline-block; position: relative; } diff --git a/src/pages/Stake/Stake.tsx b/src/pages/Stake/Stake.tsx index 131e297552..c4b3cf512f 100644 --- a/src/pages/Stake/Stake.tsx +++ b/src/pages/Stake/Stake.tsx @@ -18,12 +18,13 @@ import { formatAmount } from "lib/numbers"; import useWallet from "lib/wallets/useWallet"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import SEO from "components/Common/SEO"; import ExternalLink from "components/ExternalLink/ExternalLink"; -import Footer from "components/Footer/Footer"; import { InterviewModal } from "components/InterviewModal/InterviewModal"; import PageTitle from "components/PageTitle/PageTitle"; import { BotanixBanner } from "components/Synthetics/BotanixBanner/BotanixBanner"; +import { ChainContentHeader } from "components/Synthetics/ChainContentHeader/ChainContentHeader"; import UserIncentiveDistributionList from "components/Synthetics/UserIncentiveDistributionList/UserIncentiveDistributionList"; import { EscrowedGmxCard } from "./EscrowedGmxCard"; @@ -189,23 +190,6 @@ function StakeContent() { <div className="default-container page-layout"> <SEO title={getPageTitle(t`Stake`)} /> - <PageTitle - isTop - title={t`Stake`} - qa="earn-page" - subtitle={ - <div> - <Trans> - Deposit <ExternalLink href="https://docs.gmx.io/docs/tokenomics/gmx-token">GMX</ExternalLink> and{" "} - <ExternalLink href="https://docs.gmx.io/docs/providing-liquidity/gmx-token">esGMX</ExternalLink> tokens to - earn rewards. - </Trans> - {earnMsg && <div className="Page-description">{earnMsg}</div>} - {incentivesMessage} - </div> - } - /> - <StakeModal isVisible={isStakeGmxModalVisible} setIsVisible={setIsStakeGmxModalVisible} @@ -259,7 +243,23 @@ function StakeContent() { processedData={processedData} /> - <div className="StakeV2-content"> + <div className="flex flex-col gap-16"> + <PageTitle + isTop + title={t`Stake`} + qa="earn-page" + subtitle={ + <div> + <Trans> + Deposit <ExternalLink href="https://docs.gmx.io/docs/tokenomics/gmx-token">GMX</ExternalLink> and{" "} + <ExternalLink href="https://docs.gmx.io/docs/providing-liquidity/gmx-token">esGMX</ExternalLink> tokens + to earn rewards. + </Trans> + {earnMsg && <div className="Page-description">{earnMsg}</div>} + {incentivesMessage} + </div> + } + /> <div className="StakeV2-cards"> <GmxAndVotingPowerCard processedData={processedData} @@ -280,26 +280,25 @@ function StakeContent() { showUnstakeEsGmxModal={showUnstakeEsGmxModal} /> </div> + <div> + <Vesting processedData={processedData} /> + </div> + <div> + <PageTitle + title={t`Incentives & Prizes`} + subtitle={ + incentiveStats?.lp?.isActive || incentiveStats?.trading?.isActive ? ( + <Trans>Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2.</Trans> + ) : ( + <Trans>Earn prizes by participating in GMX Trading Competitions.</Trans> + ) + } + /> + </div> + <UserIncentiveDistributionList /> </div> - <Vesting processedData={processedData} /> - - <div className="mt-10"> - <PageTitle - title={t`Incentives & Prizes`} - subtitle={ - incentiveStats?.lp?.isActive || incentiveStats?.trading?.isActive ? ( - <Trans>Earn {incentivesToken} token incentives by purchasing GM tokens or trading in GMX V2.</Trans> - ) : ( - <Trans>Earn prizes by participating in GMX Trading Competitions.</Trans> - ) - } - /> - </div> - <UserIncentiveDistributionList /> - <InterviewModal type="lp" isVisible={isLpInterviewModalVisible} setIsVisible={setIsLpInterviewModalVisible} /> - <Footer /> </div> ); } @@ -308,16 +307,19 @@ export default function Stake() { const { chainId } = useChainId(); const isBotanix = chainId === BOTANIX; - return isBotanix ? ( - <div className="default-container page-layout"> - <SEO title={getPageTitle(t`Stake`)} /> + return ( + <AppPageLayout header={<ChainContentHeader />}> + {isBotanix ? ( + <div className="default-container page-layout"> + <SEO title={getPageTitle(t`Stake`)} /> - <PageTitle isTop title={t`Stake`} qa="earn-page" /> + <PageTitle isTop title={t`Stake`} qa="earn-page" /> - <BotanixBanner /> - <Footer /> - </div> - ) : ( - <StakeContent /> + <BotanixBanner /> + </div> + ) : ( + <StakeContent /> + )} + </AppPageLayout> ); } diff --git a/src/pages/Stake/TotalRewardsCard.tsx b/src/pages/Stake/TotalRewardsCard.tsx index bee47abaad..8219d8f3d1 100644 --- a/src/pages/Stake/TotalRewardsCard.tsx +++ b/src/pages/Stake/TotalRewardsCard.tsx @@ -67,7 +67,7 @@ export function TotalRewardsCard({ ); const gmxAvgAprText = useMemo(() => { - return `${formatAmount(processedData?.gmxAprTotal, 2, 2, true)}%`; + return <span className="numbers">{formatAmount(processedData?.gmxAprTotal, 2, 2, true)}%</span>; }, [processedData?.gmxAprTotal]); const gmxMarketAddress = useMemo(() => { @@ -91,7 +91,7 @@ export function TotalRewardsCard({ const gmxApy = (marketsTokensApyData?.[gmxMarketAddress] ?? 0n) + (marketsTokensIncentiveAprData?.[gmxMarketAddress] ?? 0n); - return `${formatAmount(gmxApy, 28, 2, true)}%`; + return <span className="numbers">{formatAmount(gmxApy, 28, 2, true)}%</span>; }, [marketsTokensApyData, marketsTokensIncentiveAprData, gmxMarketAddress, chainId]); const hideToasts = useCallback(() => toast.dismiss(), []); @@ -239,7 +239,11 @@ export function TotalRewardsCard({ <div className="label"> <Trans>Total</Trans> </div> - <div>${formatKeyAmount(processedData, "totalRewardsUsd", USD_DECIMALS, 2, true)}</div> + <div> + <span className="numbers"> + ${formatKeyAmount(processedData, "totalRewardsUsd", USD_DECIMALS, 2, true)} + </span> + </div> </div> <div className="App-card-footer"> <div className="App-card-divider"></div> diff --git a/src/pages/Stake/Vesting.tsx b/src/pages/Stake/Vesting.tsx index a7fa5ac1fd..115218e5bd 100644 --- a/src/pages/Stake/Vesting.tsx +++ b/src/pages/Stake/Vesting.tsx @@ -272,20 +272,28 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde </div> <div> <Tooltip - handle={formatAmount(totalRewardTokens, 18, 2, true)} + handle={<span className="numbers">{formatAmount(totalRewardTokens, 18, 2, true)}</span>} position="bottom-end" content={ <> <StatsTooltipRow showDollar={false} label="GMX" - value={formatAmount(processedData?.gmxInStakedGmx, 18, 2, true)} + value={ + <span className="numbers"> + {formatAmount(processedData?.gmxInStakedGmx, 18, 2, true)} + </span> + } /> <StatsTooltipRow showDollar={false} label="esGMX" - value={formatAmount(processedData?.esGmxInStakedGmx, 18, 2, true)} + value={ + <span className="numbers"> + {formatAmount(processedData?.esGmxInStakedGmx, 18, 2, true)} + </span> + } /> </> } @@ -297,7 +305,8 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde <Trans>Reserved for Vesting</Trans> </div> <div> - {formatAmount(reservedAmount, 18, 2, true)} / {formatAmount(totalRewardTokens, 18, 2, true)} + <span className="numbers">{formatAmount(reservedAmount, 18, 2, true)}</span> /{" "} + <span className="numbers">{formatAmount(totalRewardTokens, 18, 2, true)}</span> </div> </div> <div className="App-card-row"> @@ -306,20 +315,27 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde </div> <div> <Tooltip - handle={`${formatKeyAmount(vestingData, "gmxVesterClaimSum", 18, 4, true)} / ${formatKeyAmount( - vestingData, - "gmxVesterVestedAmount", - 18, - 4, - true - )}`} + handle={ + <span className="numbers">{`${formatKeyAmount(vestingData, "gmxVesterClaimSum", 18, 4, true)} / ${formatKeyAmount( + vestingData, + "gmxVesterVestedAmount", + 18, + 4, + true + )}`}</span> + } position="bottom-end" content={ <div> <Trans> - {formatKeyAmount(vestingData, "gmxVesterClaimSum", 18, 4, true)} tokens have been converted - to GMX from the {formatKeyAmount(vestingData, "gmxVesterVestedAmount", 18, 4, true)} esGMX - deposited for vesting. + <span className="numbers"> + {formatKeyAmount(vestingData, "gmxVesterClaimSum", 18, 4, true)} + </span>{" "} + tokens have been converted to GMX from the{" "} + <span className="numbers"> + {formatKeyAmount(vestingData, "gmxVesterVestedAmount", 18, 4, true)} + </span>{" "} + esGMX deposited for vesting. </Trans> </div> } @@ -332,12 +348,18 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde </div> <div> <Tooltip - handle={formatKeyAmount(vestingData, "gmxVesterClaimable", 18, 4, true)} + handle={ + <span className="numbers"> + {formatKeyAmount(vestingData, "gmxVesterClaimable", 18, 4, true)} + </span> + } position="bottom-end" content={ <Trans> - {formatKeyAmount(vestingData, "gmxVesterClaimable", 18, 4, true)} GMX tokens can be claimed, - use the options under the Total Rewards section to claim them. + <span className="numbers"> + {formatKeyAmount(vestingData, "gmxVesterClaimable", 18, 4, true)} + </span>{" "} + GMX tokens can be claimed, use the options under the Total Rewards section to claim them. </Trans> } /> @@ -376,15 +398,17 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde <div className="label"> <Trans>Staked Tokens</Trans> </div> - <div>{formatAmount(processedData?.glpBalance, 18, 2, true)} GLP</div> + <div> + <span className="numbers">{formatAmount(processedData?.glpBalance, 18, 2, true)}</span> GLP + </div> </div> <div className="App-card-row"> <div className="label"> <Trans>Reserved for Vesting</Trans> </div> <div> - {formatKeyAmount(vestingData, "glpVesterPairAmount", 18, 2, true)} /{" "} - {formatAmount(processedData?.glpBalance, 18, 2, true)} + <span className="numbers">{formatKeyAmount(vestingData, "glpVesterPairAmount", 18, 2, true)}</span>{" "} + / <span className="numbers">{formatAmount(processedData?.glpBalance, 18, 2, true)}</span> </div> </div> <div className="App-card-row"> @@ -393,20 +417,27 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde </div> <div> <Tooltip - handle={`${formatKeyAmount(vestingData, "glpVesterClaimSum", 18, 4, true)} / ${formatKeyAmount( - vestingData, - "glpVesterVestedAmount", - 18, - 4, - true - )}`} + handle={ + <span className="numbers">{`${formatKeyAmount(vestingData, "glpVesterClaimSum", 18, 4, true)} / ${formatKeyAmount( + vestingData, + "glpVesterVestedAmount", + 18, + 4, + true + )}`}</span> + } position="bottom-end" content={ <div> <Trans> - {formatKeyAmount(vestingData, "glpVesterClaimSum", 18, 4, true)} tokens have been converted - to GMX from the {formatKeyAmount(vestingData, "glpVesterVestedAmount", 18, 4, true)} esGMX - deposited for vesting. + <span className="numbers"> + {formatKeyAmount(vestingData, "glpVesterClaimSum", 18, 4, true)} + </span>{" "} + tokens have been converted to GMX from the{" "} + <span className="numbers"> + {formatKeyAmount(vestingData, "glpVesterVestedAmount", 18, 4, true)} + </span>{" "} + esGMX deposited for vesting. </Trans> </div> } @@ -419,12 +450,18 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde </div> <div> <Tooltip - handle={formatKeyAmount(vestingData, "glpVesterClaimable", 18, 4, true)} + handle={ + <span className="numbers"> + {formatKeyAmount(vestingData, "glpVesterClaimable", 18, 4, true)} + </span> + } position="bottom-end" content={ <Trans> - {formatKeyAmount(vestingData, "glpVesterClaimable", 18, 4, true)} GMX tokens can be claimed, - use the options under the Total Rewards section to claim them. + <span className="numbers"> + {formatKeyAmount(vestingData, "glpVesterClaimable", 18, 4, true)} + </span>{" "} + GMX tokens can be claimed, use the options under the Total Rewards section to claim them. </Trans> } /> @@ -466,21 +503,27 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde </div> <div> <Tooltip - handle={`${formatKeyAmount( - vestingData, - "affiliateVesterClaimSum", - 18, - 4, - true - )} / ${formatKeyAmount(vestingData, "affiliateVesterVestedAmount", 18, 4, true)}`} + handle={ + <span className="numbers">{`${formatKeyAmount( + vestingData, + "affiliateVesterClaimSum", + 18, + 4, + true + )} / ${formatKeyAmount(vestingData, "affiliateVesterVestedAmount", 18, 4, true)}`}</span> + } position="bottom-end" content={ <div> <Trans> - {formatKeyAmount(vestingData, "affiliateVesterClaimSum", 18, 4, true)} tokens have been - converted to GMX from the{" "} - {formatKeyAmount(vestingData, "affiliateVesterVestedAmount", 18, 4, true)} esGMX deposited - for vesting. + <span className="numbers"> + {formatKeyAmount(vestingData, "affiliateVesterClaimSum", 18, 4, true)} + </span>{" "} + tokens have been converted to GMX from the{" "} + <span className="numbers"> + {formatKeyAmount(vestingData, "affiliateVesterVestedAmount", 18, 4, true)} + </span>{" "} + esGMX deposited for vesting. </Trans> </div> } @@ -491,7 +534,11 @@ export function Vesting({ processedData }: { processedData: ProcessedData | unde <div className="label"> <Trans>Claimable</Trans> </div> - <div>{formatKeyAmount(vestingData, "affiliateVesterClaimable", 18, 4, true)}</div> + <div> + <span className="numbers"> + {formatKeyAmount(vestingData, "affiliateVesterClaimable", 18, 4, true)} + </span> + </div> </div> <div className="App-card-divider" /> <div className="App-card-buttons m-0"> diff --git a/src/pages/Stats/Stats.css b/src/pages/Stats/Stats.css index 7d831e06a9..9a219480c7 100644 --- a/src/pages/Stats/Stats.css +++ b/src/pages/Stats/Stats.css @@ -1,5 +1,4 @@ .Stats { - margin: 20px; text-align: left; } diff --git a/src/pages/Stats/Stats.tsx b/src/pages/Stats/Stats.tsx index 20f851e97f..6f7764033f 100644 --- a/src/pages/Stats/Stats.tsx +++ b/src/pages/Stats/Stats.tsx @@ -14,6 +14,7 @@ import useWallet from "lib/wallets/useWallet"; import { getWhitelistedV1Tokens } from "sdk/configs/tokens"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Tooltip from "components/Tooltip/Tooltip"; import "./Stats.css"; @@ -120,14 +121,16 @@ export default function Stats() { <Tooltip handle={ <div className={className}> - ${formatAmountHuman(oi, 30)} / ${formatAmountHuman(maxGlobalSize, 30)} + <span className="numbers">${formatAmountHuman(oi, 30)}</span> /{" "} + <span className="numbers">${formatAmountHuman(maxGlobalSize, 30)}</span> </div> } renderContent={() => { return ( <div> <> - Increase rate: ${formatAmountHuman(openInterestIncrement, 0)} / 30 minutes + Increase rate: <span className="numbers">${formatAmountHuman(openInterestIncrement, 0)}</span> / 30 + minutes <br /> Last increased at:{" "} {caps?.globalSizeLastIncreasedAtLong @@ -136,7 +139,7 @@ export default function Stats() { }) : null} <br /> - Max possible cap: ${formatAmountHuman(maxOpenInterest, 0)} + Max possible cap: <span className="numbers">${formatAmountHuman(maxOpenInterest, 0)}</span> </> </div> ); @@ -148,117 +151,129 @@ export default function Stats() { } return ( - <table className="Stats"> - <thead> - <tr> - <th>Token</th> - <th>Pool</th> - <th> - <Tooltip - handle="Max pool" - renderContent={() => "uses internal USDG value of token. may deviate from pool amount"} - /> - </th> - <th> - <Tooltip handle="Min buffer" renderContent={() => "Floor, in tokens"} /> - </th> - <th> - <Tooltip - handle="Long OI" - renderContent={() => - "Current OI is calculated as sum of all positions sizes minus all positions collateral. In reality it's higher" + <AppPageLayout> + <table className="Stats"> + <thead> + <tr> + <th>Token</th> + <th>Pool</th> + <th> + <Tooltip + handle="Max pool" + renderContent={() => "uses internal USDG value of token. may deviate from pool amount"} + /> + </th> + <th> + <Tooltip handle="Min buffer" renderContent={() => "Floor, in tokens"} /> + </th> + <th> + <Tooltip + handle="Long OI" + renderContent={() => + "Current OI is calculated as sum of all positions sizes minus all positions collateral. In reality it's higher" + } + /> + </th> + <th>Short OI</th> + <th> + <Tooltip + handle="Weight" + renderContent={() => "Progress bar shows deviation from target. Bigger -> further from target"} + /> + </th> + <th> + <Tooltip handle="Target" renderContent={() => "= token target weight * AUM"} /> + </th> + <th>Borrow rate</th> + </tr> + </thead> + <tbody> + {Object.values(infoTokens) + .filter((t: TokenInfo) => !t.isNative) + .map((tokenInfo: TokenInfo) => { + let maxPoolUsd; + if (tokenInfo.maxUsdgAmount !== undefined && tokenInfo.maxUsdgAmount > 0) { + maxPoolUsd = expandDecimals(tokenInfo.maxUsdgAmount, 12); } - /> - </th> - <th>Short OI</th> - <th> - <Tooltip - handle="Weight" - renderContent={() => "Progress bar shows deviation from target. Bigger -> further from target"} - /> - </th> - <th> - <Tooltip handle="Target" renderContent={() => "= token target weight * AUM"} /> - </th> - <th>Borrow rate</th> - </tr> - </thead> - <tbody> - {Object.values(infoTokens) - .filter((t: TokenInfo) => !t.isNative) - .map((tokenInfo: TokenInfo) => { - let maxPoolUsd; - if (tokenInfo.maxUsdgAmount !== undefined && tokenInfo.maxUsdgAmount > 0) { - maxPoolUsd = expandDecimals(tokenInfo.maxUsdgAmount, 12); - } - let maxPoolClassName = ""; - if (tokenInfo.managedUsd !== undefined && bigMath.mulDiv(tokenInfo.managedUsd, 11n, 10n) > maxPoolUsd) { - maxPoolClassName = "warn"; - } + let maxPoolClassName = ""; + if (tokenInfo.managedUsd !== undefined && bigMath.mulDiv(tokenInfo.managedUsd, 11n, 10n) > maxPoolUsd) { + maxPoolClassName = "warn"; + } - let targetWeightBps: bigint | undefined = undefined; - let currentWeightBps: bigint | undefined = undefined; - let targetUsdg: bigint | undefined = undefined; - let weightClassName = ""; - let weightDiffBps: bigint | undefined = undefined; - if ( - tokenInfo.usdgAmount !== undefined && - tokenInfo.usdgAmount > 0 && - adjustedUsdgSupply !== undefined && - adjustedUsdgSupply > 0 && - tokenInfo.weight !== undefined && - tokenInfo.weight > 0 - ) { - currentWeightBps = bigMath.mulDiv(tokenInfo.usdgAmount, BASIS_POINTS_DIVISOR_BIGINT, adjustedUsdgSupply); - // use add(1).div(10).mul(10) to round numbers up - targetWeightBps = - ((bigMath.mulDiv(tokenInfo.weight, BASIS_POINTS_DIVISOR_BIGINT, totalTokenWeights!) + 1n) / 10n) * 10n; + let targetWeightBps: bigint | undefined = undefined; + let currentWeightBps: bigint | undefined = undefined; + let targetUsdg: bigint | undefined = undefined; + let weightClassName = ""; + let weightDiffBps: bigint | undefined = undefined; + if ( + tokenInfo.usdgAmount !== undefined && + tokenInfo.usdgAmount > 0 && + adjustedUsdgSupply !== undefined && + adjustedUsdgSupply > 0 && + tokenInfo.weight !== undefined && + tokenInfo.weight > 0 + ) { + currentWeightBps = bigMath.mulDiv( + tokenInfo.usdgAmount, + BASIS_POINTS_DIVISOR_BIGINT, + adjustedUsdgSupply + ); + // use add(1).div(10).mul(10) to round numbers up + targetWeightBps = + ((bigMath.mulDiv(tokenInfo.weight, BASIS_POINTS_DIVISOR_BIGINT, totalTokenWeights!) + 1n) / 10n) * + 10n; - weightDiffBps = bigMath.abs(currentWeightBps - targetWeightBps); - if (weightDiffBps > bigMath.mulDiv(targetWeightBps, 35n, 100n)) { - weightClassName = "warn"; - } else if (weightDiffBps > bigMath.mulDiv(targetWeightBps, 25n, 100n)) { - weightClassName = "warn"; - } + weightDiffBps = bigMath.abs(currentWeightBps - targetWeightBps); + if (weightDiffBps > bigMath.mulDiv(targetWeightBps, 35n, 100n)) { + weightClassName = "warn"; + } else if (weightDiffBps > bigMath.mulDiv(targetWeightBps, 25n, 100n)) { + weightClassName = "warn"; + } - targetUsdg = bigMath.mulDiv(adjustedUsdgSupply, targetWeightBps, BASIS_POINTS_DIVISOR_BIGINT); - } + targetUsdg = bigMath.mulDiv(adjustedUsdgSupply, targetWeightBps, BASIS_POINTS_DIVISOR_BIGINT); + } - return ( - <tr key={tokenInfo.address}> - <td>{tokenInfo.symbol}</td> - <td> - <>${formatAmountHuman(tokenInfo.managedUsd, 30)}</> - </td> - <td className={maxPoolClassName}> - ${formatAmountHuman(tokenInfo.usdgAmount, 18)} / ${formatAmountHuman(tokenInfo.maxUsdgAmount, 18)} - {shareBar(tokenInfo.usdgAmount, tokenInfo.maxUsdgAmount)} - </td> - <td> - {formatAmountHuman(tokenInfo.bufferAmount, tokenInfo.decimals)} /{" "} - {formatAmountHuman(tokenInfo.poolAmount, tokenInfo.decimals)} - </td> - <td>{renderOiCell(tokenInfo, true)}</td> - <td>{renderOiCell(tokenInfo, false)}</td> - <td className={weightClassName}> - {formatAmountHuman(currentWeightBps, 2)} / {formatAmountHuman(targetWeightBps, 2)}% - {shareBar(weightDiffBps, targetWeightBps)} - </td> - <td> - ${formatAmountHuman(tokenInfo.usdgAmount, 18)} / ${formatAmountHuman(targetUsdg, 18)} - </td> - <td> - {formatAmount( - tokenInfo.fundingRate === undefined ? undefined : tokenInfo.fundingRate * (24n * 365n), - 4, - 2 - ) + "%"} - </td> - </tr> - ); - })} - </tbody> - </table> + return ( + <tr key={tokenInfo.address}> + <td>{tokenInfo.symbol}</td> + <td> + <span className="numbers">${formatAmountHuman(tokenInfo.managedUsd, 30)}</span> + </td> + <td className={maxPoolClassName}> + <span className="numbers">${formatAmountHuman(tokenInfo.usdgAmount, 18)}</span> /{" "} + <span className="numbers">${formatAmountHuman(tokenInfo.maxUsdgAmount, 18)}</span> + {shareBar(tokenInfo.usdgAmount, tokenInfo.maxUsdgAmount)} + </td> + <td> + <span className="numbers">{formatAmountHuman(tokenInfo.bufferAmount, tokenInfo.decimals)}</span> /{" "} + <span className="numbers">{formatAmountHuman(tokenInfo.poolAmount, tokenInfo.decimals)}</span> + </td> + <td>{renderOiCell(tokenInfo, true)}</td> + <td>{renderOiCell(tokenInfo, false)}</td> + <td className={weightClassName}> + <span className="numbers">{formatAmountHuman(currentWeightBps, 2)}</span> /{" "} + <span className="numbers">{formatAmountHuman(targetWeightBps, 2)}%</span> + {shareBar(weightDiffBps, targetWeightBps)} + </td> + <td> + <span className="numbers">${formatAmountHuman(tokenInfo.usdgAmount, 18)}</span> /{" "} + <span className="numbers">${formatAmountHuman(targetUsdg, 18)}</span> + </td> + <td> + <span className="numbers"> + {formatAmount( + tokenInfo.fundingRate === undefined ? undefined : tokenInfo.fundingRate * (24n * 365n), + 4, + 2 + ) + "%"} + </span> + </td> + </tr> + ); + })} + </tbody> + </table> + </AppPageLayout> ); } diff --git a/src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx b/src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx index 3c0c10d617..ab93e9b91f 100644 --- a/src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx +++ b/src/pages/SyntheticsFallbackPage/SyntheticsFallbackPage.tsx @@ -7,7 +7,7 @@ import { sleep } from "lib/sleep"; import { switchNetwork } from "lib/wallets"; import useWallet from "lib/wallets/useWallet"; -import Footer from "components/Footer/Footer"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; export function SyntheticsFallbackPage() { const { active } = useWallet(); @@ -21,40 +21,41 @@ export function SyntheticsFallbackPage() { if (!isLoaded) return null; return ( - <div className="page-layout"> - <div className="page-not-found-container"> - <div className="page-not-found"> - <h2> - <Trans>V2 doesn't currently support this network</Trans> - </h2> - - <p className="go-back"> - <div> - <Trans> - <span>Switch to:</span> - </Trans> - </div> - - <br /> - <div className="clickable underline" onClick={() => switchNetwork(ARBITRUM, active)}> - {getChainName(ARBITRUM)} - </div> - - <div className="clickable underline" onClick={() => switchNetwork(AVALANCHE, active)}> - {getChainName(AVALANCHE)} - </div> - - {isDevelopment() && ( - <> - <div className="clickable underline" onClick={() => switchNetwork(AVALANCHE_FUJI, active)}> - {getChainName(AVALANCHE_FUJI)} - </div> - </> - )} - </p> + <AppPageLayout> + <div className="page-layout"> + <div className="page-not-found-container"> + <div className="page-not-found"> + <h2> + <Trans>V2 doesn't currently support this network</Trans> + </h2> + + <p className="go-back"> + <div> + <Trans> + <span>Switch to:</span> + </Trans> + </div> + + <br /> + <div className="clickable underline" onClick={() => switchNetwork(ARBITRUM, active)}> + {getChainName(ARBITRUM)} + </div> + + <div className="clickable underline" onClick={() => switchNetwork(AVALANCHE, active)}> + {getChainName(AVALANCHE)} + </div> + + {isDevelopment() && ( + <> + <div className="clickable underline" onClick={() => switchNetwork(AVALANCHE_FUJI, active)}> + {getChainName(AVALANCHE_FUJI)} + </div> + </> + )} + </p> + </div> </div> </div> - <Footer /> - </div> + </AppPageLayout> ); } diff --git a/src/pages/SyntheticsPage/SyntheticsPage.tsx b/src/pages/SyntheticsPage/SyntheticsPage.tsx index 91bb78a56e..bc8f95ba0d 100644 --- a/src/pages/SyntheticsPage/SyntheticsPage.tsx +++ b/src/pages/SyntheticsPage/SyntheticsPage.tsx @@ -2,7 +2,7 @@ import { Plural, t, Trans } from "@lingui/macro"; import cx from "classnames"; import uniq from "lodash/uniq"; import { startTransition, useCallback, useEffect, useMemo, useState } from "react"; -import { useMedia } from "react-use"; +import { Link } from "react-router-dom"; import { getSyntheticsListSectionKey } from "config/localStorage"; import { usePendingTxns } from "context/PendingTxnsContext/PendingTxnsContext"; @@ -38,6 +38,7 @@ import { TradeMode } from "domain/synthetics/trade"; import { useTradeParamsProcessor } from "domain/synthetics/trade/useTradeParamsProcessor"; import { useInterviewNotification } from "domain/synthetics/userFeedback/useInterviewNotification"; import { getMidPrice } from "domain/tokens"; +import { useBreakpoints } from "lib/breakpoints"; import { useChainId } from "lib/chains"; import { defined } from "lib/guards"; import { getPageTitle } from "lib/legacy"; @@ -50,12 +51,15 @@ import useWallet from "lib/wallets/useWallet"; import { getTokenVisualMultiplier } from "sdk/configs/tokens"; import { getOrderKeys } from "sdk/utils/orders"; +import { AppHeader } from "components/AppHeader/AppHeader"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; +import Badge, { BadgeIndicator } from "components/Badge/Badge"; import Checkbox from "components/Checkbox/Checkbox"; -import Footer from "components/Footer/Footer"; import { InterviewModal } from "components/InterviewModal/InterviewModal"; import { NpsModal } from "components/NpsModal/NpsModal"; import { OneClickPromoBanner } from "components/OneClickPromoBanner/OneClickPromoBanner"; import { Claims } from "components/Synthetics/Claims/Claims"; +import { useClaimsHistoryState } from "components/Synthetics/Claims/ClaimsHistory"; import { OrderList } from "components/Synthetics/OrderList/OrderList"; import { PositionEditor } from "components/Synthetics/PositionEditor/PositionEditor"; import { PositionList } from "components/Synthetics/PositionList/PositionList"; @@ -64,10 +68,14 @@ import { SwapCard } from "components/Synthetics/SwapCard/SwapCard"; import type { MarketFilterLongShortItemData } from "components/Synthetics/TableMarketFilter/MarketFilterLongShort"; import { useIsCurtainOpen } from "components/Synthetics/TradeBox/Curtain"; import { TradeBoxResponsiveContainer } from "components/Synthetics/TradeBox/TradeBoxResponsiveContainer"; -import { TradeHistory } from "components/Synthetics/TradeHistory/TradeHistory"; +import { TradeHistory, useTradeHistoryState } from "components/Synthetics/TradeHistory/TradeHistory"; import { Chart } from "components/Synthetics/TVChart/Chart"; +import ChartHeader from "components/Synthetics/TVChart/ChartHeader"; import Tabs from "components/Tabs/Tabs"; +import logoIcon from "img/logo-icon.svg"; +import logoText from "img/logo-text.svg"; + export type Props = { openSettings: () => void; }; @@ -88,8 +96,6 @@ export function SyntheticsPage(p: Props) { useExternalSwapHandler(); - const isMobile = useMedia("(max-width: 1100px)"); - const [isSettling, setIsSettling] = useState(false); const [listSection, setListSection] = useLocalStorageSerializeKey( getSyntheticsListSectionKey(chainId), @@ -200,25 +206,43 @@ export function SyntheticsPage(p: Props) { ); } + let indicator: BadgeIndicator | undefined = undefined; + + if (ordersWarningsCount > 0 && !ordersErrorsCount) { + indicator = "warning"; + } + + if (ordersErrorsCount > 0) { + indicator = "error"; + } + return ( - <div className="flex"> - <Trans>Orders ({ordersCount})</Trans> - <div - className={cx("relative top-3 size-6 rounded-full", { - "bg-yellow-500": ordersWarningsCount > 0 && !ordersErrorsCount, - "bg-red-500": ordersErrorsCount > 0, - })} - /> + <div className="flex gap-4"> + <Trans>Orders</Trans> + <Badge value={ordersCount} indicator={indicator} /> </div> ); }, [ordersCount, ordersErrorsCount, ordersWarningsCount]); const tabLabels = useMemo( () => ({ - [ListSection.Positions]: t`Positions${positionsCount ? ` (${positionsCount})` : ""}`, + [ListSection.Positions]: ( + <div className="flex gap-4"> + <Trans>Positions</Trans> + <Badge value={positionsCount} /> + </div> + ), [ListSection.Orders]: renderOrdersTabTitle(), [ListSection.Trades]: t`Trades`, - [ListSection.Claims]: totalClaimables > 0 ? t`Claims (${totalClaimables})` : t`Claims`, + [ListSection.Claims]: + totalClaimables > 0 ? ( + <div className="flex gap-4"> + <Trans>Claims</Trans> + <Badge value={totalClaimables} /> + </div> + ) : ( + t`Claims` + ), }), [positionsCount, renderOrdersTabTitle, totalClaimables] ); @@ -231,6 +255,8 @@ export function SyntheticsPage(p: Props) { [tabLabels] ); + const { controls: claimsHistoryControls, ...claimsHistoryProps } = useClaimsHistoryState(); + function renderClaims() { return ( <Claims @@ -238,6 +264,7 @@ export function SyntheticsPage(p: Props) { isSettling={isSettling} setPendingTxns={setPendingTxns} allowedSlippage={savedAllowedSlippage} + claimsHistoryProps={claimsHistoryProps} /> ); } @@ -257,49 +284,74 @@ export function SyntheticsPage(p: Props) { useMeasureComponentMountTime({ metricType: "syntheticsPage", onlyForLocation: "#/trade" }); + const tradeHistoryState = useTradeHistoryState({ + account, + }); + + const { isTablet, isMobile } = useBreakpoints(); + + const actions = ( + <div className="flex shrink-0 items-center gap-16 px-12"> + {listSection === ListSection.Orders && selectedOrderKeys.length > 0 && ( + <button + className="text-[13px] font-medium text-slate-100 hover:text-slate-400" + disabled={isCancelOrdersProcessing} + type="button" + onClick={onCancelSelectedOrders} + > + <Plural value={selectedOrderKeys.length} one="Cancel order" other="Cancel # orders" /> + </button> + )} + {[ListSection.Positions, ListSection.Orders].includes(listSection as ListSection) && ( + <Checkbox + isChecked={shouldShowPositionLines} + setIsChecked={setShouldShowPositionLines} + className={cx("muted chart-positions text-[13px]", { active: shouldShowPositionLines })} + > + <span className="font-medium"> + <Trans>Chart positions</Trans> + </span> + </Checkbox> + )} + {listSection === ListSection.Trades && tradeHistoryState.controls} + {listSection === ListSection.Claims && claimsHistoryControls} + </div> + ); + return ( - <div - className={cx("Exchange page-layout", { - "!pb-[333px]": isMobile, - })} + <AppPageLayout + header={ + <AppHeader + leftContent={ + isTablet ? ( + <Link to="/" className="flex items-center gap-5 p-8 max-md:p-[4.5px]"> + <img src={logoIcon} alt="GMX Logo" /> + <img src={logoText} className="max-md:hidden" alt="GMX Logo" /> + </Link> + ) : ( + <ChartHeader /> + ) + } + /> + } + className="max-lg:pb-40" > - <div className="-mt-15 grid grow grid-cols-[1fr_auto] gap-12 px-32 pt-0 max-[1100px]:grid-cols-1 max-[800px]:p-10"> - {isMobile && <OneClickPromoBanner openSettings={openSettings} />} - <div className="Exchange-left flex flex-col"> + {isTablet ? <ChartHeader /> : null} + <div className="flex gap-8 pt-0 max-lg:flex-col lg:grow"> + <div className="Exchange-left flex grow flex-col gap-8"> + <OneClickPromoBanner openSettings={openSettings} /> <Chart /> - {!isMobile && ( - <div className="Exchange-lists large" data-qa="trade-table-large"> - <div className="Exchange-list-tab-container"> - <Tabs - options={tabsOptions} - selectedValue={listSection} - onChange={handleTabChange} - type="inline" - className="Exchange-list-tabs" - qa="exchange-list-tabs" - /> - <div className="align-right Exchange-should-show-position-lines"> - {listSection === ListSection.Orders && selectedOrderKeys.length > 0 && ( - <button - className="muted cancel-order-btn text-body-medium" - disabled={isCancelOrdersProcessing} - type="button" - onClick={onCancelSelectedOrders} - > - <Plural value={selectedOrderKeys.length} one="Cancel order" other="Cancel # orders" /> - </button> - )} - <Checkbox - isChecked={shouldShowPositionLines} - setIsChecked={setShouldShowPositionLines} - className={cx("muted chart-positions", { active: shouldShowPositionLines })} - > - <span> - <Trans>Chart positions</Trans> - </span> - </Checkbox> - </div> - </div> + {!isTablet && ( + <div className="overflow-hidden rounded-8" data-qa="trade-table-large"> + <Tabs + options={tabsOptions} + selectedValue={listSection} + onChange={handleTabChange} + type="block" + className="bg-slate-900" + qa="exchange-list-tabs" + rightContent={actions} + /> {listSection === ListSection.Positions && ( <PositionList @@ -323,13 +375,13 @@ export function SyntheticsPage(p: Props) { onCancelSelectedOrders={onCancelSelectedOrders} /> )} - {listSection === ListSection.Trades && <TradeHistory account={account} />} + {listSection === ListSection.Trades && <TradeHistory {...tradeHistoryState} />} {listSection === ListSection.Claims && renderClaims()} </div> )} </div> - {isMobile ? ( + {isTablet ? ( <> <div className="absolute"> <TradeBoxResponsiveContainer /> @@ -339,7 +391,7 @@ export function SyntheticsPage(p: Props) { )} </> ) : ( - <div className="w-[40rem] min-[1501px]:w-[41.85rem]"> + <div className="w-[40rem] shrink-0 max-xl:w-[36rem]"> <TradeBoxResponsiveContainer /> <div className="mt-12 flex flex-col gap-12"> @@ -350,17 +402,31 @@ export function SyntheticsPage(p: Props) { </div> )} - {isMobile && ( - <div className="Exchange-lists small min-w-0" data-qa="trade-table-small"> - <div className="Exchange-list-tab-container"> + {isTablet && ( + <div className="flex w-full flex-col overflow-hidden rounded-8" data-qa="trade-table-small"> + <div className="overflow-x-auto scrollbar-hide"> <Tabs options={tabsOptions} selectedValue={listSection} onChange={handleTabChange} - type="inline" - className="Exchange-list-tabs" + type="block" + className={cx("w-[max(100%,600px)] rounded-t-8 bg-slate-900", { + "mb-8 rounded-b-8": [ListSection.Positions, ListSection.Orders].includes(listSection as ListSection), + "w-[max(100%,420px)]": isMobile, + })} + regularOptionClassname={cx({ + "first:rounded-l-8 last:rounded-r-8": [ListSection.Positions, ListSection.Orders].includes( + listSection as ListSection + ), + })} + rightContent={!isMobile ? actions : undefined} /> </div> + + {isMobile && [ListSection.Trades, ListSection.Claims].includes(listSection as ListSection) ? ( + <div className="border-b-stroke border-slate-600 bg-slate-900 py-4">{actions}</div> + ) : null} + {listSection === ListSection.Positions && ( <PositionList onOrdersClick={handlePositionListOrdersClick} @@ -383,7 +449,7 @@ export function SyntheticsPage(p: Props) { onCancelSelectedOrders={onCancelSelectedOrders} /> )} - {listSection === ListSection.Trades && <TradeHistory account={account} />} + {listSection === ListSection.Trades && <TradeHistory {...tradeHistoryState} />} {listSection === ListSection.Claims && renderClaims()} </div> )} @@ -392,8 +458,7 @@ export function SyntheticsPage(p: Props) { <PositionEditor /> <InterviewModal type="trader" isVisible={isInterviewModalVisible} setIsVisible={setIsInterviewModalVisible} /> <NpsModal /> - <Footer isMobileTradePage={isMobile} /> - </div> + </AppPageLayout> ); } diff --git a/src/pages/SyntheticsStats/SyntheticsStats.tsx b/src/pages/SyntheticsStats/SyntheticsStats.tsx index 9d5c9e766a..73f764ddce 100644 --- a/src/pages/SyntheticsStats/SyntheticsStats.tsx +++ b/src/pages/SyntheticsStats/SyntheticsStats.tsx @@ -31,6 +31,7 @@ import { formatAmountHuman } from "lib/numbers"; import { getPositiveOrNegativeClass } from "lib/utils"; import { bigMath } from "sdk/utils/bigmath"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import { DownloadAsCsv } from "components/DownloadAsCsv/DownloadAsCsv"; import { ShareBar } from "components/ShareBar/ShareBar"; import StatsTooltipRow from "components/StatsTooltip/StatsTooltipRow"; @@ -78,1126 +79,1136 @@ export function SyntheticsStats() { }); return ( - <div className="SyntheticsStats mt-20"> - <div className="SyntheticsStats-table-wrap"> - <table> - <thead> - <tr> - <th className="sticky-left">Market</th> - <th>Pool Value</th> - <th>Pool Balance</th> - <th>Pool Cap Long</th> - <th>Pool Cap Short</th> - <th> - <TooltipWithPortal handle="PnL" renderContent={() => "Pending PnL from all open positions"} /> - </th> - <th> - <TooltipWithPortal - handle="Borrowing Fees" - renderContent={() => "Pending Borrowing Fees from all open positions"} - /> - </th> - <th> - <TooltipWithPortal - handle="Funding APR" - renderContent={() => ( - <div> - Longs / Shorts - <br /> - <br /> - Per 1h - <br /> - <br /> - Negative Value: Traders pay funding - <br /> - <br /> - Positive Value: Traders receive funding - </div> - )} - /> - </th> - <th>Open Interest</th> - <th>Liquidity Long</th> - <th>Liquidity Short</th> - <th> - <TooltipWithPortal - handle="VI Positions" - position="bottom-end" - renderContent={() => ( - <> - <p>Virtual inventory for positons</p> - <p> - Virtual Inventory tracks the imbalance of tokens across similar markets, e.g. ETH/USDC, - ETH/USDT. - </p> - </> - )} - /> - </th> - <th> - <TooltipWithPortal - handle="VI Swaps" - position="bottom-end" - renderContent={() => ( - <> - <p>Virtual inventory for swaps (Long / Short)</p> - <p> - Virtual Inventory tracks the imbalance of tokens across similar markets, e.g. ETH/USDC, - ETH/USDT. - </p> - </> - )} - /> - </th> - <th>Position Impact Pool</th> - <th>Config</th> - </tr> - </thead> - <tbody> - {markets.map((market) => { - const totalInterestUsd = market.longInterestUsd + market.shortInterestUsd; + <AppPageLayout> + <div className="SyntheticsStats mt-20"> + <div className="SyntheticsStats-table-wrap"> + <table> + <thead> + <tr> + <th className="sticky-left">Market</th> + <th>Pool Value</th> + <th>Pool Balance</th> + <th>Pool Cap Long</th> + <th>Pool Cap Short</th> + <th> + <TooltipWithPortal handle="PnL" renderContent={() => "Pending PnL from all open positions"} /> + </th> + <th> + <TooltipWithPortal + handle="Borrowing Fees" + renderContent={() => "Pending Borrowing Fees from all open positions"} + /> + </th> + <th> + <TooltipWithPortal + handle="Funding APR" + renderContent={() => ( + <div> + Longs / Shorts + <br /> + <br /> + Per 1h + <br /> + <br /> + Negative Value: Traders pay funding + <br /> + <br /> + Positive Value: Traders receive funding + </div> + )} + /> + </th> + <th>Open Interest</th> + <th>Liquidity Long</th> + <th>Liquidity Short</th> + <th> + <TooltipWithPortal + handle="VI Positions" + position="bottom-end" + renderContent={() => ( + <> + <p>Virtual inventory for positons</p> + <p> + Virtual Inventory tracks the imbalance of tokens across similar markets, e.g. ETH/USDC, + ETH/USDT. + </p> + </> + )} + /> + </th> + <th> + <TooltipWithPortal + handle="VI Swaps" + position="bottom-end" + renderContent={() => ( + <> + <p>Virtual inventory for swaps (Long / Short)</p> + <p> + Virtual Inventory tracks the imbalance of tokens across similar markets, e.g. ETH/USDC, + ETH/USDT. + </p> + </> + )} + /> + </th> + <th>Position Impact Pool</th> + <th>Config</th> + </tr> + </thead> + <tbody> + {markets.map((market) => { + const totalInterestUsd = market.longInterestUsd + market.shortInterestUsd; - const midLongPrice = getMidPrice(market.longToken.prices); - const midShortPrice = getMidPrice(market.shortToken.prices); + const midLongPrice = getMidPrice(market.longToken.prices); + const midShortPrice = getMidPrice(market.shortToken.prices); - const longPoolUsd = convertToUsd(market.longPoolAmount, market.longToken.decimals, midLongPrice); - const shortPoolUsd = convertToUsd(market.shortPoolAmount, market.shortToken.decimals, midShortPrice); - const totalPoolUsd = (longPoolUsd ?? 0n) + (shortPoolUsd ?? 0n); + const longPoolUsd = convertToUsd(market.longPoolAmount, market.longToken.decimals, midLongPrice); + const shortPoolUsd = convertToUsd(market.shortPoolAmount, market.shortToken.decimals, midShortPrice); + const totalPoolUsd = (longPoolUsd ?? 0n) + (shortPoolUsd ?? 0n); - const longCollateralLiquidityUsd = getAvailableUsdLiquidityForCollateral(market, true); - const shortCollateralLiquidityUsd = getAvailableUsdLiquidityForCollateral(market, false); + const longCollateralLiquidityUsd = getAvailableUsdLiquidityForCollateral(market, true); + const shortCollateralLiquidityUsd = getAvailableUsdLiquidityForCollateral(market, false); - const swapImpactUsdLong = convertToUsd( - market.swapImpactPoolAmountLong, - market.longToken.decimals, - midLongPrice - ); + const swapImpactUsdLong = convertToUsd( + market.swapImpactPoolAmountLong, + market.longToken.decimals, + midLongPrice + ); - const swapImpactUsdShort = convertToUsd( - market.swapImpactPoolAmountShort, - market.shortToken.decimals, - midShortPrice - ); - const positionImpactUsd = convertToUsd( - market.positionImpactPoolAmount, - market.indexToken.decimals, - market.indexToken.prices.minPrice - ); + const swapImpactUsdShort = convertToUsd( + market.swapImpactPoolAmountShort, + market.shortToken.decimals, + midShortPrice + ); + const positionImpactUsd = convertToUsd( + market.positionImpactPoolAmount, + market.indexToken.decimals, + market.indexToken.prices.minPrice + ); - const virtualInventoryPositions = market.virtualInventoryForPositions; - const virtualInventorySwapsLong = market.virtualPoolAmountForLongToken; - const virtualInventorySwapsShort = market.virtualPoolAmountForShortToken; + const virtualInventoryPositions = market.virtualInventoryForPositions; + const virtualInventorySwapsLong = market.virtualPoolAmountForLongToken; + const virtualInventorySwapsShort = market.virtualPoolAmountForShortToken; - const reservedUsdLong = getReservedUsd(market, true); - const maxReservedUsdLong = getMaxReservedUsd(market, true); - const maxOpenInterestLong = getMaxOpenInterestUsd(market, true); + const reservedUsdLong = getReservedUsd(market, true); + const maxReservedUsdLong = getMaxReservedUsd(market, true); + const maxOpenInterestLong = getMaxOpenInterestUsd(market, true); - const [liquidityLong, maxLiquidityLong] = getUsedLiquidity(market, true); - const [liquidityShort, maxLiquidityShort] = getUsedLiquidity(market, false); + const [liquidityLong, maxLiquidityLong] = getUsedLiquidity(market, true); + const [liquidityShort, maxLiquidityShort] = getUsedLiquidity(market, false); - const reservedUsdShort = getReservedUsd(market, false); - const maxReservedUsdShort = getMaxReservedUsd(market, false); - const maxOpenInterestShort = getMaxOpenInterestUsd(market, false); + const reservedUsdShort = getReservedUsd(market, false); + const maxReservedUsdShort = getMaxReservedUsd(market, false); + const maxOpenInterestShort = getMaxOpenInterestUsd(market, false); - const borrowingRateLong = getBorrowingFactorPerPeriod(market, true, 60 * 60 * 100); - const borrowingRateShort = getBorrowingFactorPerPeriod(market, false, 60 * 60 * 100); + const borrowingRateLong = getBorrowingFactorPerPeriod(market, true, 60 * 60 * 100); + const borrowingRateShort = getBorrowingFactorPerPeriod(market, false, 60 * 60 * 100); - const fundingAprLong = getFundingFactorPerPeriod(market, true, CHART_PERIODS["1h"]) * 100n; - const fundingAprShort = getFundingFactorPerPeriod(market, false, CHART_PERIODS["1h"]) * 100n; + const fundingAprLong = getFundingFactorPerPeriod(market, true, CHART_PERIODS["1h"]) * 100n; + const fundingAprShort = getFundingFactorPerPeriod(market, false, CHART_PERIODS["1h"]) * 100n; - const marketKinkModelBorrowingData = kinkMarketsBorrowingRatesData[market.marketTokenAddress]; + const marketKinkModelBorrowingData = kinkMarketsBorrowingRatesData[market.marketTokenAddress]; - function renderMarketCell() { - return ( - <div className="cell"> - <div> + function renderMarketCell() { + return ( + <div className="cell"> + <div> + <TooltipWithPortal + tooltipClassName="SyntheticsStats-tooltip" + handle={getMarketIndexName(market)} + renderContent={() => ( + <> + <StatsTooltipRow label="Key" value={market.marketTokenAddress} showDollar={false} /> + <br /> + <StatsTooltipRow + label="Virtual Market Id" + value={ + <div className="debug-key"> + {market.virtualMarketId !== ethers.ZeroHash ? market.virtualMarketId : "-"} + </div> + } + showDollar={false} + /> + <br /> + <StatsTooltipRow + label="Virtual Long Token Id" + value={ + <div className="debug-key"> + {market.virtualLongTokenId !== ethers.ZeroHash ? market.virtualLongTokenId : "-"} + </div> + } + showDollar={false} + /> + <br /> + <StatsTooltipRow + label="Virtual Short Token Id" + value={ + <div className="debug-key"> + {market.virtualShortTokenId !== ethers.ZeroHash ? market.virtualShortTokenId : "-"} + </div> + } + showDollar={false} + /> + </> + )} + /> + </div> + <div className="subtext">[{getMarketPoolName(market)}]</div> + </div> + ); + } + + function renderPoolCell() { + return ( + <div className="cell"> <TooltipWithPortal - tooltipClassName="SyntheticsStats-tooltip" - handle={getMarketIndexName(market)} + handle={`$${formatAmountHuman(market.poolValueMax, 30)}`} renderContent={() => ( <> - <StatsTooltipRow label="Key" value={market.marketTokenAddress} showDollar={false} /> - <br /> + <StatsTooltipRow label="Pool USD Long" value={formatAmount(longPoolUsd, 30, 2, true)} /> + <StatsTooltipRow label="Pool USD Short" value={formatAmount(shortPoolUsd, 30, 2, true)} /> + <StatsTooltipRow - label="Virtual Market Id" - value={ - <div className="debug-key"> - {market.virtualMarketId !== ethers.ZeroHash ? market.virtualMarketId : "-"} - </div> - } + label="Pool Long Amount" + value={formatAmount(market.longPoolAmount, market.longToken.decimals, 0, true)} showDollar={false} /> - <br /> <StatsTooltipRow - label="Virtual Long Token Id" - value={ - <div className="debug-key"> - {market.virtualLongTokenId !== ethers.ZeroHash ? market.virtualLongTokenId : "-"} - </div> - } + label="Pool Short Amount" + value={formatAmount(market.shortPoolAmount, market.shortToken.decimals, 0, true)} + showDollar={false} + /> + + <StatsTooltipRow + label="Pool Max Long Amount" + value={formatAmount(market.maxLongPoolAmount, market.longToken.decimals, 0, true)} showDollar={false} /> - <br /> <StatsTooltipRow - label="Virtual Short Token Id" - value={ - <div className="debug-key"> - {market.virtualShortTokenId !== ethers.ZeroHash ? market.virtualShortTokenId : "-"} - </div> - } + label="Pool Max Short Amount" + value={formatAmount(market.maxShortPoolAmount, market.shortToken.decimals, 0, true)} showDollar={false} /> + + <StatsTooltipRow + label="Pool Max Long USD For Deposit" + value={formatUsd(market.maxLongPoolUsdForDeposit)} + showDollar={false} + /> + <StatsTooltipRow + label="Pool Max Short USD For Deposit" + value={formatUsd(market.maxShortPoolUsdForDeposit)} + showDollar={false} + /> + + <StatsTooltipRow + label={`Swap Impact Amount ${market.longToken.symbol}`} + value={formatAmount(swapImpactUsdLong, 30, 0, true)} + /> + <StatsTooltipRow + label={`Swap Impact Amount ${market.shortToken.symbol}`} + value={formatAmount(swapImpactUsdShort, 30, 0, true)} + /> + <StatsTooltipRow + label={`Position Impact Amount`} + value={formatAmount(positionImpactUsd, 30, 0, true)} + /> </> )} /> </div> - <div className="subtext">[{getMarketPoolName(market)}]</div> - </div> - ); - } + ); + } - function renderPoolCell() { - return ( - <div className="cell"> + function renderPoolBalanceCell() { + return ( + <div className="cell"> + <div> + <TooltipWithPortal + handle={`$${formatAmountHuman(longPoolUsd, 30)} / $${formatAmountHuman(shortPoolUsd, 30)}`} + renderContent={() => { + return ( + <> + <StatsTooltipRow label="Pool USD Long" value={formatAmount(longPoolUsd, 30, 2, true)} /> + <StatsTooltipRow + label="Pool USD Short" + value={formatAmount(shortPoolUsd, 30, 2, true)} + /> + + <StatsTooltipRow + label="Pool Long Amount" + value={formatAmount(market.longPoolAmount, market.longToken.decimals, 0, true)} + showDollar={false} + /> + <StatsTooltipRow + label="Pool Short Amount" + value={formatAmount(market.shortPoolAmount, market.shortToken.decimals, 0, true)} + showDollar={false} + /> + </> + ); + }} + /> + </div> + <ShareBar className="balance" share={longPoolUsd} total={totalPoolUsd} /> + </div> + ); + } + + function renderPoolCapCell(isLong: boolean) { + const poolAmount = isLong ? market.longPoolAmount : market.shortPoolAmount; + const maxPoolUsdForSwap = getMaxPoolUsdForSwap(market, isLong); + const maxPoolUsdForDeposit = isLong + ? market.maxLongPoolUsdForDeposit + : market.maxShortPoolUsdForDeposit; + const maxPoolAmount = isLong ? market.maxLongPoolAmount : market.maxShortPoolAmount; + const maxPoolUsd = getStrictestMaxPoolUsdForDeposit(market, isLong); + const token = isLong ? market.longToken : market.shortToken; + const poolUsd = convertToUsd(poolAmount, token.decimals, getMidPrice(token.prices)); + + return ( <TooltipWithPortal - handle={`$${formatAmountHuman(market.poolValueMax, 30)}`} + handle={ + <div className="cell"> + {formatAmountHuman(poolAmount, token.decimals)} {token.symbol} / {formatUsd(maxPoolUsd)}{" "} + <ShareBar share={poolUsd} total={maxPoolUsd} warningThreshold={90} /> + </div> + } renderContent={() => ( <> - <StatsTooltipRow label="Pool USD Long" value={formatAmount(longPoolUsd, 30, 2, true)} /> - <StatsTooltipRow label="Pool USD Short" value={formatAmount(shortPoolUsd, 30, 2, true)} /> - - <StatsTooltipRow - label="Pool Long Amount" - value={formatAmount(market.longPoolAmount, market.longToken.decimals, 0, true)} - showDollar={false} - /> - <StatsTooltipRow - label="Pool Short Amount" - value={formatAmount(market.shortPoolAmount, market.shortToken.decimals, 0, true)} - showDollar={false} - /> - <StatsTooltipRow - label="Pool Max Long Amount" - value={formatAmount(market.maxLongPoolAmount, market.longToken.decimals, 0, true)} + label="Pool Amount Capacity" showDollar={false} + value={`${formatAmountHuman(poolAmount, token.decimals)} ${token.symbol} / ${formatAmountHuman(maxPoolAmount, token.decimals)} ${token.symbol}`} /> <StatsTooltipRow - label="Pool Max Short Amount" - value={formatAmount(market.maxShortPoolAmount, market.shortToken.decimals, 0, true)} + label="Pool USD Capacity (Swap)" showDollar={false} + value={`${formatUsd(poolUsd)} / ${formatUsd(maxPoolUsdForSwap)}`} /> - <StatsTooltipRow - label="Pool Max Long USD For Deposit" - value={formatUsd(market.maxLongPoolUsdForDeposit)} + label="Deposit USD Capacity" showDollar={false} + value={`${formatUsd(poolUsd)} / ${formatUsd(maxPoolUsdForDeposit)}`} /> <StatsTooltipRow - label="Pool Max Short USD For Deposit" - value={formatUsd(market.maxShortPoolUsdForDeposit)} + label="Strictest Deposit USD Capacity" showDollar={false} - /> - - <StatsTooltipRow - label={`Swap Impact Amount ${market.longToken.symbol}`} - value={formatAmount(swapImpactUsdLong, 30, 0, true)} - /> - <StatsTooltipRow - label={`Swap Impact Amount ${market.shortToken.symbol}`} - value={formatAmount(swapImpactUsdShort, 30, 0, true)} - /> - <StatsTooltipRow - label={`Position Impact Amount`} - value={formatAmount(positionImpactUsd, 30, 0, true)} + value={`${formatUsd(poolUsd)} / ${formatUsd(maxPoolUsd)}`} /> </> )} /> - </div> - ); - } + ); + } - function renderPoolBalanceCell() { - return ( - <div className="cell"> - <div> - <TooltipWithPortal - handle={`$${formatAmountHuman(longPoolUsd, 30)} / $${formatAmountHuman(shortPoolUsd, 30)}`} - renderContent={() => { - return ( - <> - <StatsTooltipRow label="Pool USD Long" value={formatAmount(longPoolUsd, 30, 2, true)} /> - <StatsTooltipRow label="Pool USD Short" value={formatAmount(shortPoolUsd, 30, 2, true)} /> + function renderBorrowingRateCell() { + const maxBorrowingRateLong = + longPoolUsd! > 0 + ? bigMath.mulDiv( + pow(maxLiquidityLong, market.borrowingExponentFactorLong), + market.borrowingFactorLong, + longPoolUsd! + ) * + (3600n * 100n) + : undefined; + const maxBorrowingRateShort = + shortPoolUsd! > 0 + ? bigMath.mulDiv( + pow(maxLiquidityShort, market.borrowingExponentFactorShort), + market.borrowingFactorShort, + shortPoolUsd! + ) * + (3600n * 100n) + : undefined; - <StatsTooltipRow - label="Pool Long Amount" - value={formatAmount(market.longPoolAmount, market.longToken.decimals, 0, true)} - showDollar={false} - /> - <StatsTooltipRow - label="Pool Short Amount" - value={formatAmount(market.shortPoolAmount, market.shortToken.decimals, 0, true)} - showDollar={false} - /> + return ( + <div className="cell"> + {market.isSpotOnly ? ( + "..." + ) : ( + <TooltipWithPortal + handle={ + <> + <span className={getPositiveOrNegativeClass(-borrowingRateLong + 1n)}> + {formatAmount(-borrowingRateLong, 30, 4)}% + </span> + {" / "} + <span className={getPositiveOrNegativeClass(-borrowingRateShort + 1n)}> + {formatAmount(-borrowingRateShort, 30, 4)}% + </span> </> - ); - }} - /> - </div> - <ShareBar className="balance" share={longPoolUsd} total={totalPoolUsd} /> - </div> - ); - } - - function renderPoolCapCell(isLong: boolean) { - const poolAmount = isLong ? market.longPoolAmount : market.shortPoolAmount; - const maxPoolUsdForSwap = getMaxPoolUsdForSwap(market, isLong); - const maxPoolUsdForDeposit = isLong - ? market.maxLongPoolUsdForDeposit - : market.maxShortPoolUsdForDeposit; - const maxPoolAmount = isLong ? market.maxLongPoolAmount : market.maxShortPoolAmount; - const maxPoolUsd = getStrictestMaxPoolUsdForDeposit(market, isLong); - const token = isLong ? market.longToken : market.shortToken; - const poolUsd = convertToUsd(poolAmount, token.decimals, getMidPrice(token.prices)); - - return ( - <TooltipWithPortal - handle={ - <div className="cell"> - {formatAmountHuman(poolAmount, token.decimals)} {token.symbol} / {formatUsd(maxPoolUsd)}{" "} - <ShareBar share={poolUsd} total={maxPoolUsd} warningThreshold={90} /> - </div> - } - renderContent={() => ( - <> - <StatsTooltipRow - label="Pool Amount Capacity" - showDollar={false} - value={`${formatAmountHuman(poolAmount, token.decimals)} ${token.symbol} / ${formatAmountHuman(maxPoolAmount, token.decimals)} ${token.symbol}`} - /> - <StatsTooltipRow - label="Pool USD Capacity (Swap)" - showDollar={false} - value={`${formatUsd(poolUsd)} / ${formatUsd(maxPoolUsdForSwap)}`} - /> - <StatsTooltipRow - label="Deposit USD Capacity" - showDollar={false} - value={`${formatUsd(poolUsd)} / ${formatUsd(maxPoolUsdForDeposit)}`} - /> - <StatsTooltipRow - label="Strictest Deposit USD Capacity" - showDollar={false} - value={`${formatUsd(poolUsd)} / ${formatUsd(maxPoolUsd)}`} + } + renderContent={() => ( + <> + {marketKinkModelBorrowingData ? ( + <> + <StatsTooltipRow + label="Pending borrowing fee" + value={formatAmountHuman(market.totalBorrowingFees, 30)} + /> + <StatsTooltipRow + label="Optimal Usage Factor Long" + value={`${formatFactor(marketKinkModelBorrowingData.optimalUsageFactorLong * FACTOR_TO_PERCENT_MULTIPLIER_BIGINT)}%`} + showDollar={false} + /> + <StatsTooltipRow + label="Optimal Usage Factor Short" + value={`${formatFactor(marketKinkModelBorrowingData.optimalUsageFactorShort * FACTOR_TO_PERCENT_MULTIPLIER_BIGINT)}%`} + showDollar={false} + /> + <StatsTooltipRow + label="Base Borrowing Factor Long" + value={formatAmount(marketKinkModelBorrowingData.baseBorrowingFactorLong, 30, 11)} + showDollar={false} + /> + <StatsTooltipRow + label="Base Borrowing Factor Short" + value={formatAmount(marketKinkModelBorrowingData.baseBorrowingFactorShort, 30, 11)} + showDollar={false} + /> + <StatsTooltipRow + label="Max Rate Long" + value={ + marketKinkModelBorrowingData.aboveOptimalUsageBorrowingFactorLong + ? `-${formatAmount(marketKinkModelBorrowingData.aboveOptimalUsageBorrowingFactorLong * 3600n * 100n, 30, 5)}% / 1h` + : "N/A" + } + showDollar={false} + /> + <StatsTooltipRow + label="Max Rate Short" + value={ + marketKinkModelBorrowingData.aboveOptimalUsageBorrowingFactorShort + ? `-${formatAmount(marketKinkModelBorrowingData.aboveOptimalUsageBorrowingFactorShort * 3600n * 100n, 30, 5)}% / 1h` + : "N/A" + } + showDollar={false} + /> + </> + ) : ( + <> + <StatsTooltipRow + label="Pending borrowing fee" + value={formatAmountHuman(market.totalBorrowingFees, 30)} + /> + <StatsTooltipRow + label="Borrowing Factor Long" + value={formatFactor(market.borrowingFactorLong)} + showDollar={false} + /> + <StatsTooltipRow + label="Borrowing Factor Short" + value={formatFactor(market.borrowingFactorShort)} + showDollar={false} + /> + <StatsTooltipRow + label="Borrowing Exponent Long" + value={formatFactor(market.borrowingExponentFactorLong)} + showDollar={false} + /> + <StatsTooltipRow + label="Borrowing Exponent Short" + value={formatFactor(market.borrowingExponentFactorShort)} + showDollar={false} + /> + <StatsTooltipRow + label="Max Rate Long" + value={ + maxBorrowingRateLong + ? `-${formatAmount(maxBorrowingRateLong, 30, 4)}% / 1h` + : "N/A" + } + showDollar={false} + /> + <StatsTooltipRow + label="Max Rate Short" + value={ + maxBorrowingRateShort + ? `-${formatAmount(maxBorrowingRateShort, 30, 4)}% / 1h` + : "N/A" + } + showDollar={false} + /> + </> + )} + </> + )} /> - </> - )} - /> - ); - } - - function renderBorrowingRateCell() { - const maxBorrowingRateLong = - longPoolUsd! > 0 - ? bigMath.mulDiv( - pow(maxLiquidityLong, market.borrowingExponentFactorLong), - market.borrowingFactorLong, - longPoolUsd! - ) * - (3600n * 100n) - : undefined; - const maxBorrowingRateShort = - shortPoolUsd! > 0 - ? bigMath.mulDiv( - pow(maxLiquidityShort, market.borrowingExponentFactorShort), - market.borrowingFactorShort, - shortPoolUsd! - ) * - (3600n * 100n) - : undefined; + )} + </div> + ); + } - return ( - <div className="cell"> - {market.isSpotOnly ? ( - "..." - ) : ( - <TooltipWithPortal - handle={ - <> - <span className={getPositiveOrNegativeClass(-borrowingRateLong + 1n)}> - {formatAmount(-borrowingRateLong, 30, 4)}% - </span> - {" / "} - <span className={getPositiveOrNegativeClass(-borrowingRateShort + 1n)}> - {formatAmount(-borrowingRateShort, 30, 4)}% - </span> - </> - } - renderContent={() => ( - <> - {marketKinkModelBorrowingData ? ( + function renderFundingCell() { + return ( + <div className="cell"> + {market.isSpotOnly ? ( + "..." + ) : ( + <TooltipWithPortal + handle={ + <> + <span className={getPositiveOrNegativeClass(fundingAprLong)}> + {market.longsPayShorts ? "-" : "+"} + {formatAmount(bigMath.abs(fundingAprLong), 30, 4)}% + </span> + {" / "} + <span className={getPositiveOrNegativeClass(fundingAprShort)}> + {market.longsPayShorts ? "+" : "-"} + {formatAmount(bigMath.abs(fundingAprShort), 30, 4)}% + </span> + </> + } + renderContent={() => + market.fundingIncreaseFactorPerSecond !== undefined && + market.fundingIncreaseFactorPerSecond > 0 ? ( <> <StatsTooltipRow - label="Pending borrowing fee" - value={formatAmountHuman(market.totalBorrowingFees, 30)} - /> - <StatsTooltipRow - label="Optimal Usage Factor Long" - value={`${formatFactor(marketKinkModelBorrowingData.optimalUsageFactorLong * FACTOR_TO_PERCENT_MULTIPLIER_BIGINT)}%`} + label="Funding increase factor" + value={formatFactor(market.fundingIncreaseFactorPerSecond)} showDollar={false} /> <StatsTooltipRow - label="Optimal Usage Factor Short" - value={`${formatFactor(marketKinkModelBorrowingData.optimalUsageFactorShort * FACTOR_TO_PERCENT_MULTIPLIER_BIGINT)}%`} + label="Funding decrease factor" + value={formatFactor(market.fundingDecreaseFactorPerSecond)} showDollar={false} /> <StatsTooltipRow - label="Base Borrowing Factor Long" - value={formatAmount(marketKinkModelBorrowingData.baseBorrowingFactorLong, 30, 11)} + label="Max funding factor" + value={formatFactor(market.maxFundingFactorPerSecond)} showDollar={false} /> <StatsTooltipRow - label="Base Borrowing Factor Short" - value={formatAmount(marketKinkModelBorrowingData.baseBorrowingFactorShort, 30, 11)} + label="Min funding factor" + value={formatFactor(market.minFundingFactorPerSecond)} showDollar={false} /> <StatsTooltipRow - label="Max Rate Long" - value={ - marketKinkModelBorrowingData.aboveOptimalUsageBorrowingFactorLong - ? `-${formatAmount(marketKinkModelBorrowingData.aboveOptimalUsageBorrowingFactorLong * 3600n * 100n, 30, 5)}% / 1h` - : "N/A" - } + label="Threshold for stable funding" + value={formatFactor(market.thresholdForStableFunding)} showDollar={false} /> <StatsTooltipRow - label="Max Rate Short" - value={ - marketKinkModelBorrowingData.aboveOptimalUsageBorrowingFactorShort - ? `-${formatAmount(marketKinkModelBorrowingData.aboveOptimalUsageBorrowingFactorShort * 3600n * 100n, 30, 5)}% / 1h` - : "N/A" - } + label="Threshold for decrease funding" + value={formatFactor(market.thresholdForDecreaseFunding)} showDollar={false} /> </> ) : ( <> <StatsTooltipRow - label="Pending borrowing fee" - value={formatAmountHuman(market.totalBorrowingFees, 30)} - /> - <StatsTooltipRow - label="Borrowing Factor Long" - value={formatFactor(market.borrowingFactorLong)} - showDollar={false} - /> - <StatsTooltipRow - label="Borrowing Factor Short" - value={formatFactor(market.borrowingFactorShort)} - showDollar={false} - /> - <StatsTooltipRow - label="Borrowing Exponent Long" - value={formatFactor(market.borrowingExponentFactorLong)} - showDollar={false} - /> - <StatsTooltipRow - label="Borrowing Exponent Short" - value={formatFactor(market.borrowingExponentFactorShort)} - showDollar={false} - /> - <StatsTooltipRow - label="Max Rate Long" - value={ - maxBorrowingRateLong ? `-${formatAmount(maxBorrowingRateLong, 30, 4)}% / 1h` : "N/A" - } + label="Funding factor" + value={formatAmount(market.fundingFactor, 30, 2)} showDollar={false} /> <StatsTooltipRow - label="Max Rate Short" - value={ - maxBorrowingRateShort - ? `-${formatAmount(maxBorrowingRateShort, 30, 4)}% / 1h` - : "N/A" - } + label="Funding exponent factor" + value={formatAmount(market.fundingExponentFactor, 30, 14)} showDollar={false} /> </> - )} - </> - )} - /> - )} - </div> - ); - } + ) + } + /> + )} + </div> + ); + } - function renderFundingCell() { - return ( - <div className="cell"> - {market.isSpotOnly ? ( - "..." - ) : ( - <TooltipWithPortal - handle={ - <> - <span className={getPositiveOrNegativeClass(fundingAprLong)}> - {market.longsPayShorts ? "-" : "+"} - {formatAmount(bigMath.abs(fundingAprLong), 30, 4)}% - </span> - {" / "} - <span className={getPositiveOrNegativeClass(fundingAprShort)}> - {market.longsPayShorts ? "+" : "-"} - {formatAmount(bigMath.abs(fundingAprShort), 30, 4)}% - </span> - </> - } - renderContent={() => - market.fundingIncreaseFactorPerSecond !== undefined && - market.fundingIncreaseFactorPerSecond > 0 ? ( + function renderOIBalanceCell() { + if (market.isSpotOnly) { + return <div className="cell">...</div>; + } + return ( + <div className="cell"> + <div> + <TooltipWithPortal + handle={`$${formatAmountHuman(market.longInterestUsd, 30)} / $${formatAmountHuman( + market.shortInterestUsd, + 30 + )}`} + renderContent={() => ( <> <StatsTooltipRow - label="Funding increase factor" - value={formatFactor(market.fundingIncreaseFactorPerSecond)} - showDollar={false} + label="Total" + value={formatAmount(market.shortInterestUsd + market.longInterestUsd, 30, 0, true)} /> + <StatsTooltipRow label="Long" value={formatAmount(market.longInterestUsd, 30, 0, true)} /> <StatsTooltipRow - label="Funding decrease factor" - value={formatFactor(market.fundingDecreaseFactorPerSecond)} - showDollar={false} + label="Short" + value={formatAmount(market.shortInterestUsd, 30, 0, true)} /> <StatsTooltipRow - label="Max funding factor" - value={formatFactor(market.maxFundingFactorPerSecond)} showDollar={false} + label="Percentage" + value={(() => { + const totalInterestUsd = market.shortInterestUsd + market.longInterestUsd; + let longInterestPercent = "0"; + let shortInterestPercent = "0"; + if (totalInterestUsd !== 0n) { + longInterestPercent = formatAmount( + bigMath.mulDiv(market.longInterestUsd, 10000n, totalInterestUsd), + 2, + 2 + ); + shortInterestPercent = formatAmount( + bigMath.mulDiv(market.shortInterestUsd, 10000n, totalInterestUsd), + 2, + 2 + ); + } + return ( + <> + {longInterestPercent}% / {shortInterestPercent}% + </> + ); + })()} /> <StatsTooltipRow - label="Min funding factor" - value={formatFactor(market.minFundingFactorPerSecond)} - showDollar={false} + label="Difference" + value={formatAmount( + bigMath.abs(market.shortInterestUsd - market.longInterestUsd), + 30, + 0, + true + )} + /> + </> + )} + /> + </div> + <ShareBar className="balance" share={market.longInterestUsd} total={totalInterestUsd} /> + </div> + ); + } + + function renderLiquidityCell(isLong: boolean) { + const [ + collateralLiquidityUsd, + liquidity, + maxLiquidity, + reservedUsd, + maxReservedUsd, + interestUsd, + maxOpenInterest, + token, + ] = isLong + ? [ + longCollateralLiquidityUsd, + liquidityLong, + maxLiquidityLong, + reservedUsdLong, + maxReservedUsdLong, + market.longInterestUsd, + maxOpenInterestLong, + market.longToken, + ] + : [ + shortCollateralLiquidityUsd, + liquidityShort, + maxLiquidityShort, + reservedUsdShort, + maxReservedUsdShort, + market.shortInterestUsd, + maxOpenInterestShort, + market.shortToken, + ]; + + const isLongLabel = isLong ? "Long" : "Short"; + let availableLiquidity = maxLiquidity - liquidity; + if (availableLiquidity < 0) { + availableLiquidity = 0n; + } + + return ( + <div className="cell"> + <div> + <TooltipWithPortal + handle={ + market.isSpotOnly ? ( + formatAmountHuman(collateralLiquidityUsd, 30) + ) : ( + <span> + ${formatAmountHuman(liquidity, 30)} / ${formatAmountHuman(maxLiquidity, 30)} + </span> + ) + } + renderContent={() => ( + <> + <StatsTooltipRow label={`Reserved Long`} value={formatAmount(reservedUsd, 30, 0, true)} /> + <StatsTooltipRow + label={`Max Reserved ${isLongLabel}`} + value={formatAmount(maxReservedUsd, 30, 0, true)} /> <StatsTooltipRow - label="Threshold for stable funding" - value={formatFactor(market.thresholdForStableFunding)} - showDollar={false} + label={`Open Interest ${isLongLabel}`} + value={formatAmount(interestUsd, 30, 0, true)} /> <StatsTooltipRow - label="Threshold for decrease funding" - value={formatFactor(market.thresholdForDecreaseFunding)} - showDollar={false} + label={`Max Open Interest ${isLongLabel}`} + value={formatAmount(maxOpenInterest, 30, 0, true)} /> - </> - ) : ( - <> <StatsTooltipRow - label="Funding factor" - value={formatAmount(market.fundingFactor, 30, 2)} - showDollar={false} + label={`Max ${token.symbol} Out`} + value={formatAmount(collateralLiquidityUsd, 30, 0, true)} /> <StatsTooltipRow - label="Funding exponent factor" - value={formatAmount(market.fundingExponentFactor, 30, 14)} - showDollar={false} + label={`Available Liquidity ${isLongLabel}`} + value={formatAmount(availableLiquidity, 30, 0, true)} /> </> - ) - } - /> - )} - </div> - ); - } - - function renderOIBalanceCell() { - if (market.isSpotOnly) { - return <div className="cell">...</div>; + )} + /> + </div> + <ShareBar share={liquidity} total={maxLiquidity} warningThreshold={90} /> + </div> + ); } - return ( - <div className="cell"> - <div> - <TooltipWithPortal - handle={`$${formatAmountHuman(market.longInterestUsd, 30)} / $${formatAmountHuman( - market.shortInterestUsd, - 30 - )}`} - renderContent={() => ( - <> + + function renderPositionImpactCell() { + const summaryPoolUsd = (longPoolUsd ?? 0n) + (shortPoolUsd ?? 0n); + + const bonusApr = + summaryPoolUsd > 0n + ? bigMath.mulDiv( + market.positionImpactPoolDistributionRate * 86400n * 365n, + market.indexToken.prices.minPrice, + summaryPoolUsd + ) * 100n + : undefined; + + const reservedPositivePriceImpactUsd = getPriceImpactUsd({ + currentLongUsd: market.longInterestUsd - market.shortInterestUsd, + currentShortUsd: 0n, + nextLongUsd: 0n, + nextShortUsd: 0n, + factorNegative: market.positionImpactFactorNegative, + factorPositive: market.positionImpactFactorPositive, + exponentFactor: market.positionImpactExponentFactor, + }); + + const reservedPositivePriceImpact = bigMath.mulDiv( + reservedPositivePriceImpactUsd, + expandDecimals(1, market.indexToken.decimals), + market.indexToken.prices.maxPrice + ); + + return ( + <div className="cell"> + <TooltipWithPortal + handle={`$${formatAmount(positionImpactUsd, 30, 2, true)}`} + position="bottom-end" + renderContent={() => ( + <> <StatsTooltipRow - label="Total" - value={formatAmount(market.shortInterestUsd + market.longInterestUsd, 30, 0, true)} + label="Impact Pool Amount" + value={formatAmount(market.positionImpactPoolAmount, market.indexToken.decimals, 2, true)} + showDollar={false} /> - <StatsTooltipRow label="Long" value={formatAmount(market.longInterestUsd, 30, 0, true)} /> - <StatsTooltipRow label="Short" value={formatAmount(market.shortInterestUsd, 30, 0, true)} /> <StatsTooltipRow + label="Min Impact Pool Amount" + value={formatAmount(market.minPositionImpactPoolAmount, market.indexToken.decimals, 4)} showDollar={false} - label="Percentage" - value={(() => { - const totalInterestUsd = market.shortInterestUsd + market.longInterestUsd; - let longInterestPercent = "0"; - let shortInterestPercent = "0"; - if (totalInterestUsd !== 0n) { - longInterestPercent = formatAmount( - bigMath.mulDiv(market.longInterestUsd, 10000n, totalInterestUsd), - 2, - 2 - ); - shortInterestPercent = formatAmount( - bigMath.mulDiv(market.shortInterestUsd, 10000n, totalInterestUsd), - 2, - 2 - ); - } - return ( - <> - {longInterestPercent}% / {shortInterestPercent}% - </> - ); - })()} /> <StatsTooltipRow - label="Difference" + label="Impact Pool After Reserved Positive Impact" value={formatAmount( - bigMath.abs(market.shortInterestUsd - market.longInterestUsd), - 30, - 0, + market.positionImpactPoolAmount - reservedPositivePriceImpact, + market.indexToken.decimals, + 2, true )} + showDollar={false} + /> + <StatsTooltipRow + label={`Distribution Rate, ${market.indexToken.symbol}`} + value={formatAmount( + market.positionImpactPoolDistributionRate, + market.indexToken.decimals + 30, + 10 + )} + showDollar={false} /> - </> - )} - /> - </div> - <ShareBar className="balance" share={market.longInterestUsd} total={totalInterestUsd} /> - </div> - ); - } - - function renderLiquidityCell(isLong: boolean) { - const [ - collateralLiquidityUsd, - liquidity, - maxLiquidity, - reservedUsd, - maxReservedUsd, - interestUsd, - maxOpenInterest, - token, - ] = isLong - ? [ - longCollateralLiquidityUsd, - liquidityLong, - maxLiquidityLong, - reservedUsdLong, - maxReservedUsdLong, - market.longInterestUsd, - maxOpenInterestLong, - market.longToken, - ] - : [ - shortCollateralLiquidityUsd, - liquidityShort, - maxLiquidityShort, - reservedUsdShort, - maxReservedUsdShort, - market.shortInterestUsd, - maxOpenInterestShort, - market.shortToken, - ]; - - const isLongLabel = isLong ? "Long" : "Short"; - let availableLiquidity = maxLiquidity - liquidity; - if (availableLiquidity < 0) { - availableLiquidity = 0n; - } - - return ( - <div className="cell"> - <div> - <TooltipWithPortal - handle={ - market.isSpotOnly ? ( - formatAmountHuman(collateralLiquidityUsd, 30) - ) : ( - <span> - ${formatAmountHuman(liquidity, 30)} / ${formatAmountHuman(maxLiquidity, 30)} - </span> - ) - } - renderContent={() => ( - <> - <StatsTooltipRow label={`Reserved Long`} value={formatAmount(reservedUsd, 30, 0, true)} /> <StatsTooltipRow - label={`Max Reserved ${isLongLabel}`} - value={formatAmount(maxReservedUsd, 30, 0, true)} + label="Distribution Rate per Day, USD" + value={formatAmount( + bigMath.mulDiv( + market.positionImpactPoolDistributionRate * 86400n, + market.indexToken.prices.minPrice, + expandDecimals(1, 60) + ), + market.indexToken.decimals, + 2, + true + )} /> <StatsTooltipRow - label={`Open Interest ${isLongLabel}`} - value={formatAmount(interestUsd, 30, 0, true)} + label="Bonus APR" + value={formatAmount(bonusApr, market.indexToken.decimals + 30, 2, true)} + showDollar={false} + unit="%" /> <StatsTooltipRow - label={`Max Open Interest ${isLongLabel}`} - value={formatAmount(maxOpenInterest, 30, 0, true)} + label="Negative Impact Factor" + value={formatFactor(market.positionImpactFactorNegative)} + showDollar={false} /> <StatsTooltipRow - label={`Max ${token.symbol} Out`} - value={formatAmount(collateralLiquidityUsd, 30, 0, true)} + label="Positive Impact Factor" + value={formatFactor(market.positionImpactFactorPositive)} + showDollar={false} /> <StatsTooltipRow - label={`Available Liquidity ${isLongLabel}`} - value={formatAmount(availableLiquidity, 30, 0, true)} + label="Impact Exponent" + value={formatFactor(market.positionImpactExponentFactor)} + showDollar={false} + /> + <StatsTooltipRow + label="Reserved Positive Impact" + value={formatAmount(reservedPositivePriceImpact, market.indexToken.decimals, 4, true)} + showDollar={false} /> </> )} /> </div> - <ShareBar share={liquidity} total={maxLiquidity} warningThreshold={90} /> - </div> - ); - } - - function renderPositionImpactCell() { - const summaryPoolUsd = (longPoolUsd ?? 0n) + (shortPoolUsd ?? 0n); + ); + } - const bonusApr = - summaryPoolUsd > 0n - ? bigMath.mulDiv( - market.positionImpactPoolDistributionRate * 86400n * 365n, - market.indexToken.prices.minPrice, - summaryPoolUsd - ) * 100n - : undefined; + const netPnlMax = getMarketNetPnl(market, true); + const longPnlMax = getMarketPnl(market, true, true); + const shortPnlMax = getMarketPnl(market, false, true); - const reservedPositivePriceImpactUsd = getPriceImpactUsd({ - currentLongUsd: market.longInterestUsd - market.shortInterestUsd, - currentShortUsd: 0n, - nextLongUsd: 0n, - nextShortUsd: 0n, - factorNegative: market.positionImpactFactorNegative, - factorPositive: market.positionImpactFactorPositive, - exponentFactor: market.positionImpactExponentFactor, + const cappedLongPnlMax = getCappedPoolPnl({ + marketInfo: market, + poolUsd: getPoolUsdWithoutPnl(market, true, "maxPrice"), + poolPnl: longPnlMax, + isLong: true, }); - const reservedPositivePriceImpact = bigMath.mulDiv( - reservedPositivePriceImpactUsd, - expandDecimals(1, market.indexToken.decimals), - market.indexToken.prices.maxPrice - ); + const cappedShortPnlMax = getCappedPoolPnl({ + marketInfo: market, + poolUsd: getPoolUsdWithoutPnl(market, false, "maxPrice"), + poolPnl: shortPnlMax, + isLong: false, + }); return ( - <div className="cell"> - <TooltipWithPortal - handle={`$${formatAmount(positionImpactUsd, 30, 2, true)}`} - position="bottom-end" - renderContent={() => ( - <> - <StatsTooltipRow - label="Impact Pool Amount" - value={formatAmount(market.positionImpactPoolAmount, market.indexToken.decimals, 2, true)} - showDollar={false} - /> - <StatsTooltipRow - label="Min Impact Pool Amount" - value={formatAmount(market.minPositionImpactPoolAmount, market.indexToken.decimals, 4)} - showDollar={false} - /> - <StatsTooltipRow - label="Impact Pool After Reserved Positive Impact" - value={formatAmount( - market.positionImpactPoolAmount - reservedPositivePriceImpact, - market.indexToken.decimals, - 2, - true - )} - showDollar={false} - /> - <StatsTooltipRow - label={`Distribution Rate, ${market.indexToken.symbol}`} - value={formatAmount( - market.positionImpactPoolDistributionRate, - market.indexToken.decimals + 30, - 10 - )} - showDollar={false} - /> - <StatsTooltipRow - label="Distribution Rate per Day, USD" - value={formatAmount( - bigMath.mulDiv( - market.positionImpactPoolDistributionRate * 86400n, - market.indexToken.prices.minPrice, - expandDecimals(1, 60) - ), - market.indexToken.decimals, - 2, - true + <tr key={market.marketTokenAddress}> + <td className="sticky-left">{renderMarketCell()}</td> + <td>{renderPoolCell()}</td> + <td>{renderPoolBalanceCell()}</td> + <td>{renderPoolCapCell(true)}</td> + <td>{renderPoolCapCell(false)}</td> + <td> + <div className="cell"> + {market.isSpotOnly ? ( + "..." + ) : ( + <TooltipWithPortal + handle={ + <span className={cx({ positive: netPnlMax > 0, negative: netPnlMax < 0 })}> + {getPlusOrMinusSymbol(netPnlMax)}${formatAmountHuman(bigMath.abs(netPnlMax), 30)} + </span> + } + renderContent={() => ( + <> + <StatsTooltipRow + showDollar={false} + label="PnL Long" + textClassName={getPositiveOrNegativeClass(cappedLongPnlMax)} + value={`${getPlusOrMinusSymbol(cappedLongPnlMax)}${formatAmountHuman( + bigMath.abs(cappedLongPnlMax), + 30, + true + )}`} + /> + <StatsTooltipRow + showDollar={false} + label="PnL Short" + textClassName={getPositiveOrNegativeClass(shortPnlMax)} + value={`${getPlusOrMinusSymbol(cappedShortPnlMax)}${formatAmountHuman( + bigMath.abs(cappedShortPnlMax), + 30, + true + )}`} + /> + </> )} /> - <StatsTooltipRow - label="Bonus APR" - value={formatAmount(bonusApr, market.indexToken.decimals + 30, 2, true)} - showDollar={false} - unit="%" - /> - <StatsTooltipRow - label="Negative Impact Factor" - value={formatFactor(market.positionImpactFactorNegative)} - showDollar={false} - /> - <StatsTooltipRow - label="Positive Impact Factor" - value={formatFactor(market.positionImpactFactorPositive)} - showDollar={false} - /> - <StatsTooltipRow - label="Impact Exponent" - value={formatFactor(market.positionImpactExponentFactor)} - showDollar={false} - /> - <StatsTooltipRow - label="Reserved Positive Impact" - value={formatAmount(reservedPositivePriceImpact, market.indexToken.decimals, 4, true)} - showDollar={false} + )} + </div> + </td> + <td>{renderBorrowingRateCell()}</td> + <td>{renderFundingCell()}</td> + <td>{renderOIBalanceCell()}</td> + <td>{renderLiquidityCell(true)}</td> + <td>{renderLiquidityCell(false)}</td> + <td> + <div className="cell"> + {market.isSpotOnly ? ( + "..." + ) : ( + <TooltipWithPortal + position="bottom-end" + handle={ + <> + <div> + {virtualInventoryPositions > 0 ? "Short" : "Long"}{" "} + {formatAmountHuman(bigMath.abs(virtualInventoryPositions), 30) || "$0.00"} + </div> + </> + } + renderContent={() => { + return ( + <StatsTooltipRow + label={virtualInventoryPositions > 0 ? "Short" : "Long"} + value={formatUsd(bigMath.abs(virtualInventoryPositions)) || "$0.00"} + showDollar={false} + /> + ); + }} /> - </> - )} - /> - </div> - ); - } - - const netPnlMax = getMarketNetPnl(market, true); - const longPnlMax = getMarketPnl(market, true, true); - const shortPnlMax = getMarketPnl(market, false, true); - - const cappedLongPnlMax = getCappedPoolPnl({ - marketInfo: market, - poolUsd: getPoolUsdWithoutPnl(market, true, "maxPrice"), - poolPnl: longPnlMax, - isLong: true, - }); - - const cappedShortPnlMax = getCappedPoolPnl({ - marketInfo: market, - poolUsd: getPoolUsdWithoutPnl(market, false, "maxPrice"), - poolPnl: shortPnlMax, - isLong: false, - }); - - return ( - <tr key={market.marketTokenAddress}> - <td className="sticky-left">{renderMarketCell()}</td> - <td>{renderPoolCell()}</td> - <td>{renderPoolBalanceCell()}</td> - <td>{renderPoolCapCell(true)}</td> - <td>{renderPoolCapCell(false)}</td> - <td> - <div className="cell"> - {market.isSpotOnly ? ( - "..." - ) : ( + )} + </div> + </td> + <td> + <div className="cell"> <TooltipWithPortal + position="bottom-end" handle={ - <span className={cx({ positive: netPnlMax > 0, negative: netPnlMax < 0 })}> - {getPlusOrMinusSymbol(netPnlMax)}${formatAmountHuman(bigMath.abs(netPnlMax), 30)} - </span> + <div> + {formatAmountHuman( + convertToUsd(virtualInventorySwapsLong, market.longToken.decimals, midLongPrice), + 30 + ) || "$0.00"}{" "} + /{" "} + {formatAmountHuman( + convertToUsd(virtualInventorySwapsShort, market.shortToken.decimals, midShortPrice), + 30 + ) || "$0.00"}{" "} + </div> } + renderContent={() => { + return ( + <> + <StatsTooltipRow + label="Long" + value={formatUsd( + convertToUsd(virtualInventorySwapsLong, market.longToken.decimals, midLongPrice) + )} + showDollar={false} + /> + <StatsTooltipRow + label="Short" + value={formatUsd( + convertToUsd(virtualInventorySwapsShort, market.shortToken.decimals, midShortPrice) + )} + showDollar={false} + /> + </> + ); + }} + /> + </div> + </td> + <td>{renderPositionImpactCell()}</td> + <td> + <div className="cell"> + <TooltipWithPortal + position="bottom-end" + handle="..." + tooltipClassName="MarketCard-config-tooltip" renderContent={() => ( <> + <div>Position Impact</div> + <br /> <StatsTooltipRow + label="Exponent" + value={formatFactor(market.positionImpactExponentFactor)} showDollar={false} - label="PnL Long" - textClassName={getPositiveOrNegativeClass(cappedLongPnlMax)} - value={`${getPlusOrMinusSymbol(cappedLongPnlMax)}${formatAmountHuman( - bigMath.abs(cappedLongPnlMax), - 30, - true - )}`} /> <StatsTooltipRow + label="Positive Factor" + value={formatFactor(market.positionImpactFactorPositive)} showDollar={false} - label="PnL Short" - textClassName={getPositiveOrNegativeClass(shortPnlMax)} - value={`${getPlusOrMinusSymbol(cappedShortPnlMax)}${formatAmountHuman( - bigMath.abs(cappedShortPnlMax), - 30, - true - )}`} /> - </> - )} - /> - )} - </div> - </td> - <td>{renderBorrowingRateCell()}</td> - <td>{renderFundingCell()}</td> - <td>{renderOIBalanceCell()}</td> - <td>{renderLiquidityCell(true)}</td> - <td>{renderLiquidityCell(false)}</td> - <td> - <div className="cell"> - {market.isSpotOnly ? ( - "..." - ) : ( - <TooltipWithPortal - position="bottom-end" - handle={ - <> - <div> - {virtualInventoryPositions > 0 ? "Short" : "Long"}{" "} - {formatAmountHuman(bigMath.abs(virtualInventoryPositions), 30) || "$0.00"} - </div> - </> - } - renderContent={() => { - return ( <StatsTooltipRow - label={virtualInventoryPositions > 0 ? "Short" : "Long"} - value={formatUsd(bigMath.abs(virtualInventoryPositions)) || "$0.00"} + label="Negative Factor" + value={formatFactor(market.positionImpactFactorNegative)} showDollar={false} /> - ); - }} - /> - )} - </div> - </td> - <td> - <div className="cell"> - <TooltipWithPortal - position="bottom-end" - handle={ - <div> - {formatAmountHuman( - convertToUsd(virtualInventorySwapsLong, market.longToken.decimals, midLongPrice), - 30 - ) || "$0.00"}{" "} - /{" "} - {formatAmountHuman( - convertToUsd(virtualInventorySwapsShort, market.shortToken.decimals, midShortPrice), - 30 - ) || "$0.00"}{" "} - </div> - } - renderContent={() => { - return ( - <> <StatsTooltipRow - label="Long" - value={formatUsd( - convertToUsd(virtualInventorySwapsLong, market.longToken.decimals, midLongPrice) - )} + label="Max Positive Factor" + value={formatFactor(market.maxPositionImpactFactorPositive)} showDollar={false} /> <StatsTooltipRow - label="Short" - value={formatUsd( - convertToUsd(virtualInventorySwapsShort, market.shortToken.decimals, midShortPrice) - )} + label="Max Negative Factor" + value={formatFactor(market.maxPositionImpactFactorNegative)} + showDollar={false} + /> + <StatsTooltipRow + label="Max Factor for Liquidations" + value={formatFactor(market.maxPositionImpactFactorForLiquidations)} + showDollar={false} + /> + <br /> + <div className="Tooltip-divider" /> + <br /> + <div>Swap Impact</div> + <br /> + <StatsTooltipRow + label="Exponent" + value={formatFactor(market.swapImpactExponentFactor)} showDollar={false} /> + <StatsTooltipRow + label="Positive Factor" + value={formatFactor(market.swapImpactFactorPositive)} + showDollar={false} + /> + <StatsTooltipRow + label="Negative Factor" + value={formatFactor(market.swapImpactFactorNegative)} + showDollar={false} + /> + <br /> + <div className="Tooltip-divider" /> + <br /> + <div>Fees factors</div> + <br /> + <StatsTooltipRow + label="Swap Fee Factor (Positive PI)" + value={formatFactor(market.swapFeeFactorForPositiveImpact)} + showDollar={false} + /> + <StatsTooltipRow + label="Swap Fee Factor (Negative PI)" + value={formatFactor(market.swapFeeFactorForNegativeImpact)} + showDollar={false} + /> + <StatsTooltipRow + label="Position Fee Factor (Positive PI)" + value={formatFactor(market.positionFeeFactorForPositiveImpact)} + showDollar={false} + /> + <StatsTooltipRow + label="Position Fee Factor (Negative PI)" + value={formatFactor(market.positionFeeFactorForNegativeImpact)} + showDollar={false} + /> + <StatsTooltipRow + label="Borrowing Factor Long" + value={formatFactor(market.borrowingFactorLong)} + showDollar={false} + /> + <StatsTooltipRow + label="Borrowing Factor Short" + value={formatFactor(market.borrowingFactorShort)} + showDollar={false} + /> + <StatsTooltipRow + label="Borrowing Exponent Long" + value={formatFactor(market.borrowingExponentFactorLong)} + showDollar={false} + /> + <StatsTooltipRow + label="Borrowing Exponent Short" + value={formatFactor(market.borrowingExponentFactorShort)} + showDollar={false} + /> + <StatsTooltipRow + label="Funding Factor" + value={formatFactor(market.fundingFactor)} + showDollar={false} + /> + <StatsTooltipRow + label="Funding Exponent" + value={formatFactor(market.fundingExponentFactor)} + showDollar={false} + /> + <br /> + <div className="Tooltip-divider" /> + <br /> + <div>Other</div> + <br /> + <StatsTooltipRow + label="Min Collateral" + value={formatUsd(minCollateralUsd)} + showDollar={false} + /> + <StatsTooltipRow + label="Min position size" + value={formatUsd(minPositionSizeUsd) || "..."} + showDollar={false} + /> + <StatsTooltipRow + label="Min Collateral Factor" + value={formatFactor(market.minCollateralFactor)} + showDollar={false} + /> + <StatsTooltipRow + label="Min Collateral Factor OI Long" + value={formatFactor(market.minCollateralFactorForOpenInterestLong)} + showDollar={false} + /> + <StatsTooltipRow + label="Min Collateral Factor OI Short" + value={formatFactor(market.minCollateralFactorForOpenInterestShort)} + showDollar={false} + /> + <StatsTooltipRow + label="Max Leverage" + value={ + market.minCollateralFactor > 0 + ? formatAmount((PRECISION / market.minCollateralFactor) * 100n, 2, 2) + : "..." + } + showDollar={false} + /> + <StatsTooltipRow + label="Reserve Factor Longs" + value={formatFactor(market.reserveFactorLong)} + showDollar={false} + /> + <StatsTooltipRow + label="Reserve Factor Shorts" + value={formatFactor(market.reserveFactorShort)} + showDollar={false} + /> + <StatsTooltipRow + label="Open Interest Reserve Factor Longs" + value={formatFactor(market.openInterestReserveFactorLong)} + showDollar={false} + /> + <StatsTooltipRow + label="Open Interest Reserve Factor Shorts" + value={formatFactor(market.openInterestReserveFactorShort)} + showDollar={false} + /> + <br /> </> - ); - }} - /> - </div> - </td> - <td>{renderPositionImpactCell()}</td> - <td> - <div className="cell"> - <TooltipWithPortal - position="bottom-end" - handle="..." - tooltipClassName="MarketCard-config-tooltip" - renderContent={() => ( - <> - <div>Position Impact</div> - <br /> - <StatsTooltipRow - label="Exponent" - value={formatFactor(market.positionImpactExponentFactor)} - showDollar={false} - /> - <StatsTooltipRow - label="Positive Factor" - value={formatFactor(market.positionImpactFactorPositive)} - showDollar={false} - /> - <StatsTooltipRow - label="Negative Factor" - value={formatFactor(market.positionImpactFactorNegative)} - showDollar={false} - /> - <StatsTooltipRow - label="Max Positive Factor" - value={formatFactor(market.maxPositionImpactFactorPositive)} - showDollar={false} - /> - <StatsTooltipRow - label="Max Negative Factor" - value={formatFactor(market.maxPositionImpactFactorNegative)} - showDollar={false} - /> - <StatsTooltipRow - label="Max Factor for Liquidations" - value={formatFactor(market.maxPositionImpactFactorForLiquidations)} - showDollar={false} - /> - <br /> - <div className="Tooltip-divider" /> - <br /> - <div>Swap Impact</div> - <br /> - <StatsTooltipRow - label="Exponent" - value={formatFactor(market.swapImpactExponentFactor)} - showDollar={false} - /> - <StatsTooltipRow - label="Positive Factor" - value={formatFactor(market.swapImpactFactorPositive)} - showDollar={false} - /> - <StatsTooltipRow - label="Negative Factor" - value={formatFactor(market.swapImpactFactorNegative)} - showDollar={false} - /> - <br /> - <div className="Tooltip-divider" /> - <br /> - <div>Fees factors</div> - <br /> - <StatsTooltipRow - label="Swap Fee Factor (Positive PI)" - value={formatFactor(market.swapFeeFactorForPositiveImpact)} - showDollar={false} - /> - <StatsTooltipRow - label="Swap Fee Factor (Negative PI)" - value={formatFactor(market.swapFeeFactorForNegativeImpact)} - showDollar={false} - /> - <StatsTooltipRow - label="Position Fee Factor (Positive PI)" - value={formatFactor(market.positionFeeFactorForPositiveImpact)} - showDollar={false} - /> - <StatsTooltipRow - label="Position Fee Factor (Negative PI)" - value={formatFactor(market.positionFeeFactorForNegativeImpact)} - showDollar={false} - /> - <StatsTooltipRow - label="Borrowing Factor Long" - value={formatFactor(market.borrowingFactorLong)} - showDollar={false} - /> - <StatsTooltipRow - label="Borrowing Factor Short" - value={formatFactor(market.borrowingFactorShort)} - showDollar={false} - /> - <StatsTooltipRow - label="Borrowing Exponent Long" - value={formatFactor(market.borrowingExponentFactorLong)} - showDollar={false} - /> - <StatsTooltipRow - label="Borrowing Exponent Short" - value={formatFactor(market.borrowingExponentFactorShort)} - showDollar={false} - /> - <StatsTooltipRow - label="Funding Factor" - value={formatFactor(market.fundingFactor)} - showDollar={false} - /> - <StatsTooltipRow - label="Funding Exponent" - value={formatFactor(market.fundingExponentFactor)} - showDollar={false} - /> - <br /> - <div className="Tooltip-divider" /> - <br /> - <div>Other</div> - <br /> - <StatsTooltipRow - label="Min Collateral" - value={formatUsd(minCollateralUsd)} - showDollar={false} - /> - <StatsTooltipRow - label="Min position size" - value={formatUsd(minPositionSizeUsd) || "..."} - showDollar={false} - /> - <StatsTooltipRow - label="Min Collateral Factor" - value={formatFactor(market.minCollateralFactor)} - showDollar={false} - /> - <StatsTooltipRow - label="Min Collateral Factor OI Long" - value={formatFactor(market.minCollateralFactorForOpenInterestLong)} - showDollar={false} - /> - <StatsTooltipRow - label="Min Collateral Factor OI Short" - value={formatFactor(market.minCollateralFactorForOpenInterestShort)} - showDollar={false} - /> - <StatsTooltipRow - label="Max Leverage" - value={ - market.minCollateralFactor > 0 - ? formatAmount((PRECISION / market.minCollateralFactor) * 100n, 2, 2) - : "..." - } - showDollar={false} - /> - <StatsTooltipRow - label="Reserve Factor Longs" - value={formatFactor(market.reserveFactorLong)} - showDollar={false} - /> - <StatsTooltipRow - label="Reserve Factor Shorts" - value={formatFactor(market.reserveFactorShort)} - showDollar={false} - /> - <StatsTooltipRow - label="Open Interest Reserve Factor Longs" - value={formatFactor(market.openInterestReserveFactorLong)} - showDollar={false} - /> - <StatsTooltipRow - label="Open Interest Reserve Factor Shorts" - value={formatFactor(market.openInterestReserveFactorShort)} - showDollar={false} - /> - <br /> - </> - )} - /> - </div> - </td> - </tr> - ); - })} - </tbody> - </table> - </div> - <div> - <DownloadAsCsv - excludedFields={CSV_EXCLUDED_FIELDS} - data={markets} - fileName={`gmx_v2_markets_${format(new Date(), "yyyy-MM-dd")}`} - className="download-csv mt-15" - /> + )} + /> + </div> + </td> + </tr> + ); + })} + </tbody> + </table> + </div> + <div> + <DownloadAsCsv + excludedFields={CSV_EXCLUDED_FIELDS} + data={markets} + fileName={`gmx_v2_markets_${format(new Date(), "yyyy-MM-dd")}`} + className="download-csv mt-15" + /> + </div> </div> - </div> + </AppPageLayout> ); } diff --git a/src/pages/TermsAndConditions/TermsAndConditions.jsx b/src/pages/TermsAndConditions/TermsAndConditions.jsx index e3a0054c43..8a3fdf685f 100644 --- a/src/pages/TermsAndConditions/TermsAndConditions.jsx +++ b/src/pages/TermsAndConditions/TermsAndConditions.jsx @@ -3,7 +3,6 @@ import { t } from "@lingui/macro"; import { getPageTitle } from "lib/legacy"; import SEO from "components/Common/SEO"; -import Footer from "components/Footer/Footer"; import "./TermsAndConditions.css"; @@ -586,7 +585,6 @@ export default function TermsAndConditions() { </div> </div> </div> - <Footer /> </div> </SEO> ); diff --git a/src/pages/TestPermits/TestPermits.tsx b/src/pages/TestPermits/TestPermits.tsx index 6886f4d1ec..da35017826 100644 --- a/src/pages/TestPermits/TestPermits.tsx +++ b/src/pages/TestPermits/TestPermits.tsx @@ -12,6 +12,7 @@ import { getV2Tokens } from "sdk/configs/tokens"; import { SignedTokenPermit, Token } from "sdk/types/tokens"; import { MaxUint256 } from "sdk/utils/numbers"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import Button from "components/Button/Button"; import Modal from "components/Modal/Modal"; import TokenIcon from "components/TokenIcon/TokenIcon"; @@ -123,150 +124,158 @@ export function TestPermits() { }; return ( - <div className="mx-auto max-w-4xl p-4"> - <h1 className="text-2xl mb-6 font-bold">Token Permit Testing</h1> + <AppPageLayout> + <div className="mx-auto max-w-4xl p-4"> + <h1 className="text-2xl mb-6 font-bold">Token Permit Testing</h1> - <div className="mt-8 space-y-16"> - {tokens - .sort((a, b) => (onchainParams[a.address]?.error ? 1 : -1) - (onchainParams[b.address]?.error ? 1 : -1)) - .map((token) => { - const params = onchainParams[token.address]; - const loading = onchainLoading[token.address]; - return ( - <div - key={token.address} - className="flex cursor-pointer items-center space-x-6 border-b border-slate-700 p-2 pb-4" - > - <TokenIcon symbol={token.symbol} displaySize={32} importSize={40} /> - <div className="flex min-w-0 flex-1 flex-col"> - <div className="flex flex-col gap-2 hover:underline" onClick={() => handleTokenClick(token)}> - <span className="text-lg truncate font-medium">{token.symbol}</span> - <span className="text-xs text-slate-400 truncate">{token.name}</span> - </div> - <div className="text-slate-400 mt-2 flex flex-col gap-1 text-[11px]"> - <span className="text-xs text-slate-400 ">{token.address}</span> - <div> - <span className="font-semibold">permitSupported:</span>{" "} - {token.isPermitSupported === true ? ( - <span className="text-green-500">true</span> - ) : ( - <span className="text-red-500">false</span> - )} + <div className="mt-8 space-y-16"> + {tokens + .sort((a, b) => (onchainParams[a.address]?.error ? 1 : -1) - (onchainParams[b.address]?.error ? 1 : -1)) + .map((token) => { + const params = onchainParams[token.address]; + const loading = onchainLoading[token.address]; + return ( + <div + key={token.address} + className="flex cursor-pointer items-center space-x-6 border-b-stroke border-slate-600 p-2 pb-4" + > + <TokenIcon symbol={token.symbol} displaySize={32} importSize={40} /> + <div className="flex min-w-0 flex-1 flex-col"> + <div className="flex flex-col gap-2 hover:underline" onClick={() => handleTokenClick(token)}> + <span className="text-lg truncate font-medium">{token.symbol}</span> + <span className="text-xs truncate text-slate-400">{token.name}</span> </div> - <div> - <span className="font-semibold">permitDisabled:</span>{" "} - {token.isPermitDisabled === true ? ( - <span className="text-red-500">true</span> - ) : ( - <span className="text-green-500">false</span> - )} - </div> - <div> - <span className="font-semibold">version:</span> {loading ? "..." : params?.version ?? "-"} - </div> - <div> - <span className="font-semibold">onchain name:</span> {loading ? "..." : params?.name ?? "-"} - </div> - <div> - <span className="font-semibold">nonce:</span> {loading ? "..." : params?.nonce?.toString() ?? "-"} - </div> - {params?.error && ( + <div className="mt-2 flex flex-col gap-1 text-[11px] text-slate-400"> + <span className="text-xs text-slate-400 ">{token.address}</span> <div> - <span className="font-semibold text-red-500">Onchain data error</span> + <span className="font-semibold">permitSupported:</span>{" "} + {token.isPermitSupported === true ? ( + <span className="text-green-500">true</span> + ) : ( + <span className="text-red-500">false</span> + )} </div> - )} + <div> + <span className="font-semibold">permitDisabled:</span>{" "} + {token.isPermitDisabled === true ? ( + <span className="text-red-500">true</span> + ) : ( + <span className="text-green-500">false</span> + )} + </div> + <div> + <span className="font-semibold">version:</span> {loading ? "..." : params?.version ?? "-"} + </div> + <div> + <span className="font-semibold">onchain name:</span> {loading ? "..." : params?.name ?? "-"} + </div> + <div> + <span className="font-semibold">nonce:</span>{" "} + {loading ? "..." : params?.nonce?.toString() ?? "-"} + </div> + {params?.error && ( + <div> + <span className="font-semibold text-red-500">Onchain data error</span> + </div> + )} + </div> </div> </div> - </div> - ); - })} - </div> + ); + })} + </div> - <Modal isVisible={isModalOpen} setIsVisible={setIsModalOpen} label="Token Permit"> - {selectedToken && ( - <div className="flex min-w-[400px] flex-col space-y-8"> - <div className="mb-6 flex flex-col space-x-4"> - <TokenIcon symbol={selectedToken.symbol} displaySize={40} importSize={40} /> - <div> - <h2 className="text-2xl font-semibold text-white">{selectedToken.symbol}</h2> - <div> - <div className="text-xs text-slate-400">{selectedToken.address}</div> - </div> - </div> - <div> + <Modal isVisible={isModalOpen} setIsVisible={setIsModalOpen} label="Token Permit"> + {selectedToken && ( + <div className="flex min-w-[400px] flex-col space-y-8"> + <div className="mb-6 flex flex-col space-x-4"> + <TokenIcon symbol={selectedToken.symbol} displaySize={40} importSize={40} /> <div> - <span className="font-semibold">permitSupported:</span>{" "} - {selectedToken.isPermitSupported === true ? ( - <span className="text-green-500">true</span> - ) : ( - <span className="text-red-500">false</span> - )} - </div> - <div> - <span className="font-semibold">permitDisabled:</span>{" "} - {selectedToken.isPermitDisabled === true ? ( - <span className="text-red-500">true</span> - ) : ( - <span className="text-green-500">false</span> - )} - </div> - <div> - <span className="font-semibold">version:</span> {selectedToken.contractVersion} - </div> - <div> - <span className="font-semibold">onchain name:</span> {selectedToken.name} + <h2 className="text-2xl font-semibold text-white">{selectedToken.symbol}</h2> + <div> + <div className="text-xs text-slate-400">{selectedToken.address}</div> + </div> </div> <div> - <span className="font-semibold">nonce:</span>{" "} - {onchainParams[selectedToken.address]?.nonce?.toString() ?? "-"} - </div> - {selectedToken.isPermitDisabled && ( <div> - <span className="font-semibold text-red-500">Onchain data error</span> + <span className="font-semibold">permitSupported:</span>{" "} + {selectedToken.isPermitSupported === true ? ( + <span className="text-green-500">true</span> + ) : ( + <span className="text-red-500">false</span> + )} + </div> + <div> + <span className="font-semibold">permitDisabled:</span>{" "} + {selectedToken.isPermitDisabled === true ? ( + <span className="text-red-500">true</span> + ) : ( + <span className="text-green-500">false</span> + )} + </div> + <div> + <span className="font-semibold">version:</span> {selectedToken.contractVersion} </div> - )} - </div> - </div> - - {permitData && ( - <div className="rounded-xl text-slate-200 text-base bg-slate-800 p-6 shadow-inner"> - <h2 className="text-lg mb-4 font-bold tracking-wide text-slate-100">Permit Details</h2> - <div className="space-y-2"> <div> - <span className="font-semibold">Deadline:</span>{" "} - {new Date(Number(permitData.deadline) * 1000).toLocaleString()} + <span className="font-semibold">onchain name:</span> {selectedToken.name} </div> <div> - <span className="font-semibold">Value:</span> {permitData.value.toString()} + <span className="font-semibold">nonce:</span>{" "} + {onchainParams[selectedToken.address]?.nonce?.toString() ?? "-"} </div> - <div className="mb-1 mt-16 font-semibold">Signature:</div> - <div className="rounded text-xs text-slate-300 space-y-1 overflow-x-auto p-3"> + {selectedToken.isPermitDisabled && ( <div> - <span className="font-bold">r:</span> {permitData.r} + <span className="font-semibold text-red-500">Onchain data error</span> </div> + )} + </div> + </div> + + {permitData && ( + <div className="rounded-xl text-slate-200 text-base bg-slate-800 p-6 shadow-inner"> + <h2 className="text-lg mb-4 font-bold tracking-wide text-slate-100">Permit Details</h2> + <div className="space-y-2"> <div> - <span className="font-bold">s:</span> {permitData.s} + <span className="font-semibold">Deadline:</span>{" "} + {new Date(Number(permitData.deadline) * 1000).toLocaleString()} </div> <div> - <span className="font-bold">v:</span> {permitData.v} + <span className="font-semibold">Value:</span> {permitData.value.toString()} + </div> + <div className="mb-1 mt-16 font-semibold">Signature:</div> + <div className="rounded text-xs text-slate-300 space-y-1 overflow-x-auto p-3"> + <div> + <span className="font-bold">r:</span> {permitData.r} + </div> + <div> + <span className="font-bold">s:</span> {permitData.s} + </div> + <div> + <span className="font-bold">v:</span> {permitData.v} + </div> </div> </div> </div> - </div> - )} + )} - <Button onClick={handleSignPermit} disabled={!account || isLoading} className="w-full" variant="primary"> - {isLoading ? "Signing..." : "Sign Permit"} - </Button> - - {permitData && ( - <Button onClick={handleSendPermit} disabled={!account || isLoading} className="w-full" variant="primary"> - {isLoading ? "Sending..." : "Send Permit"} + <Button onClick={handleSignPermit} disabled={!account || isLoading} className="w-full" variant="primary"> + {isLoading ? "Signing..." : "Sign Permit"} </Button> - )} - </div> - )} - </Modal> - </div> + + {permitData && ( + <Button + onClick={handleSendPermit} + disabled={!account || isLoading} + className="w-full" + variant="primary" + > + {isLoading ? "Sending..." : "Send Permit"} + </Button> + )} + </div> + )} + </Modal> + </div> + </AppPageLayout> ); } diff --git a/src/pages/UiPage/UiPage.tsx b/src/pages/UiPage/UiPage.tsx index fcb95cad58..a7c2a3383d 100644 --- a/src/pages/UiPage/UiPage.tsx +++ b/src/pages/UiPage/UiPage.tsx @@ -7,6 +7,7 @@ import { ARBITRUM, AVALANCHE, AVALANCHE_FUJI, getChainName } from "config/chains import { getCategoryTokenAddresses, getToken } from "sdk/configs/tokens"; import { TokenCategory } from "sdk/types/tokens"; +import AppPageLayout from "components/AppPageLayout/AppPageLayout"; import ExchangeInfoRow from "components/Exchange/ExchangeInfoRow"; import StatsTooltipRow from "components/StatsTooltip/StatsTooltipRow"; import Tooltip from "components/Tooltip/Tooltip"; @@ -79,7 +80,7 @@ const colors = { }, slate: { "100": "bg-slate-100", - "500": "bg-slate-500", + "500": "bg-slate-100", "600": "bg-slate-600", "700": "bg-slate-700", "800": "bg-slate-800", @@ -119,217 +120,219 @@ const colors = { export default function UiPage() { return ( - <main className="mx-auto max-w-prose p-20"> - <h1 className="text-34 font-bold">UI Page</h1> + <AppPageLayout> + <main className="mx-auto max-w-prose p-20"> + <h1 className="text-34 font-bold">UI Page</h1> - <p>This page demonstrates the use of the UI components in the app.</p> + <p>This page demonstrates the use of the UI components in the app.</p> + + <h2 className="mb-16 mt-24 text-24 font-bold">Fill colors</h2> + <div className="overflow-auto"> + <div className="flex flex-col"> + {entries(colors).map(([color, shades]) => { + if (typeof shades === "string") { + return ( + <div key={color}> + <div className="flex w-fit overflow-hidden *:size-64"> + <div className="!w-96 text-12">{color}</div> + <div className={shades} /> + </div> + </div> + ); + } - <h2 className="mb-16 mt-24 text-24 font-bold">Fill colors</h2> - <div className="overflow-auto"> - <div className="flex flex-col"> - {entries(colors).map(([color, shades]) => { - if (typeof shades === "string") { return ( <div key={color}> <div className="flex w-fit overflow-hidden *:size-64"> - <div className="!w-96 text-12">{color}</div> - <div className={shades} /> + <div className="!w-96 text-12"> {color}</div> + {entries(shades).map(([shade, value]) => { + if (shade === "DEFAULT") return <div key={shade + value} className={value}></div>; + return ( + <div key={shade + value} className={value}> + {shade} + </div> + ); + })} </div> </div> ); - } - - return ( - <div key={color}> - <div className="flex w-fit overflow-hidden *:size-64"> - <div className="!w-96 text-12"> {color}</div> - {entries(shades).map(([shade, value]) => { - if (shade === "DEFAULT") return <div key={shade + value} className={value}></div>; - return ( - <div key={shade + value} className={value}> - {shade} - </div> - ); - })} - </div> - </div> - ); - })} + })} + </div> </div> - </div> - <h2 className="mb-16 mt-24 text-24 font-bold">Text colors</h2> + <h2 className="mb-16 mt-24 text-24 font-bold">Text colors</h2> - <div className="flex gap-16"> - <p className="text-blue-500">Blue text is blue</p> - <p className="text-gray-300">Gray text is gray</p> - <p className="text-yellow-500">Yellow text is yellow</p> - <p className="text-red-500">Red text is red</p> - <p className="text-green-500">Green text is green</p> - <p className="text-white">White text is white</p> - </div> - <p className="mt-8 text-white underline decoration-gray-400 decoration-dashed decoration-8"> - Decoration is gray-400 - </p> - - <h2 className="mb-16 mt-24 text-24 font-bold">Font sizes</h2> - <div className="flex flex-col gap-16"> - <div className="flex items-baseline gap-8"> - <div>h1</div> - <p className="text-h1">H1 Text Size</p> - </div> - <div className="flex items-baseline gap-8"> - <div>h2</div> - <p className="text-h2">H2 Text size</p> - </div> - <div className="flex items-baseline gap-8"> - <div>Body Large</div> - <p className="text-body-large">Some important text indeed</p> - </div> - <div className="flex items-baseline gap-8"> - <div>Medium</div> - <p className="text-body-medium">Base text it is. Nothing special</p> + <div className="flex gap-16"> + <p className="text-blue-500">Blue text is blue</p> + <p className="text-gray-300">Gray text is gray</p> + <p className="text-yellow-500">Yellow text is yellow</p> + <p className="text-red-500">Red text is red</p> + <p className="text-green-500">Green text is green</p> + <p className="text-white">White text is white</p> </div> - <div className="flex items-baseline gap-8"> - <div>Small</div> - <p className="text-body-small">Somewhat unimportant text, but still readable</p> - </div> - <div className="flex items-baseline gap-8"> - <div>Caption</div> - <p className="text-caption">Somewhat unimportant text, but still readable</p> - </div> - - <div className="flex items-baseline gap-8"> - <div><unset></div> - <p>Text with no size set</p> - </div> - </div> - - <h2 className="mb-16 mt-24 text-24 font-bold">Line heights</h2> - <div className="flex flex-col gap-16"> - <p className="leading-1"> - leading-1 - <br /> - Lorem ipsum dolor sit amet consectetur adipisicing elit. Temporibus beatae atque eligendi sunt quasi et porro - nemo cumque nesciunt dolorum earum, minus fuga similique exercitationem ad. Eos omnis vitae suscipit - recusandae iste adipisci quasi rem odio, quidem qui modi impedit quibusdam culpa nemo distinctio rerum tempora - sequi facilis quaerat laudantium pariatur dicta ab. Pariatur mollitia magni consectetur praesentium nulla - nobis non voluptates laborum obcaecati enim unde, in tempore voluptas, expedita aut corrupti ipsum sequi - consequatur iste corporis quasi! Officia nihil pariatur, asperiores molestiae quia earum tempora, in neque - inventore quisquam dolore veniam minus beatae adipisci quod hic? Saepe, aperiam consequuntur! - </p> - <p className="leading-base"> - leading-base - <br /> - Lorem ipsum dolor sit amet consectetur adipisicing elit. Temporibus beatae atque eligendi sunt quasi et porro - nemo cumque nesciunt dolorum earum, minus fuga similique exercitationem ad. Eos omnis vitae suscipit - recusandae iste adipisci quasi rem odio, quidem qui modi impedit quibusdam culpa nemo distinctio rerum tempora - sequi facilis quaerat laudantium pariatur dicta ab. Pariatur mollitia magni consectetur praesentium nulla - nobis non voluptates laborum obcaecati enim unde, in tempore voluptas, expedita aut corrupti ipsum sequi - consequatur iste corporis quasi! Officia nihil pariatur, asperiores molestiae quia earum tempora, in neque - inventore quisquam dolore veniam minus beatae adipisci quod hic? Saepe, aperiam consequuntur! + <p className="mt-8 text-white underline decoration-gray-400 decoration-dashed decoration-8"> + Decoration is gray-400 </p> - </div> - <h2 className="mb-16 mt-24 text-24 font-bold">Tooltips</h2> + <h2 className="mb-16 mt-24 text-24 font-bold">Font sizes</h2> + <div className="flex flex-col gap-16"> + <div className="flex items-baseline gap-8"> + <div>h1</div> + <p className="text-h1">H1 Text Size</p> + </div> + <div className="flex items-baseline gap-8"> + <div>h2</div> + <p className="text-h2">H2 Text size</p> + </div> + <div className="flex items-baseline gap-8"> + <div>Body Large</div> + <p className="text-body-large">Some important text indeed</p> + </div> + <div className="flex items-baseline gap-8"> + <div>Medium</div> + <p className="text-body-medium">Base text it is. Nothing special</p> + </div> + <div className="flex items-baseline gap-8"> + <div>Small</div> + <p className="text-body-small">Somewhat unimportant text, but still readable</p> + </div> + <div className="flex items-baseline gap-8"> + <div>Caption</div> + <p className="text-caption">Somewhat unimportant text, but still readable</p> + </div> + + <div className="flex items-baseline gap-8"> + <div><unset></div> + <p>Text with no size set</p> + </div> + </div> - <Tooltip - content={ - <> - Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam enim excepturi veritatis, architecto ab - qui odio repudiandae vero accusantium dicta, eius similique a aspernatur, maxime iste ipsam facilis. Libero, - et. + <h2 className="mb-16 mt-24 text-24 font-bold">Line heights</h2> + <div className="flex flex-col gap-16"> + <p className="leading-1"> + leading-1 <br /> + Lorem ipsum dolor sit amet consectetur adipisicing elit. Temporibus beatae atque eligendi sunt quasi et + porro nemo cumque nesciunt dolorum earum, minus fuga similique exercitationem ad. Eos omnis vitae suscipit + recusandae iste adipisci quasi rem odio, quidem qui modi impedit quibusdam culpa nemo distinctio rerum + tempora sequi facilis quaerat laudantium pariatur dicta ab. Pariatur mollitia magni consectetur praesentium + nulla nobis non voluptates laborum obcaecati enim unde, in tempore voluptas, expedita aut corrupti ipsum + sequi consequatur iste corporis quasi! Officia nihil pariatur, asperiores molestiae quia earum tempora, in + neque inventore quisquam dolore veniam minus beatae adipisci quod hic? Saepe, aperiam consequuntur! + </p> + <p className="leading-base"> + leading-base <br /> - <ExchangeInfoRow label="Some label" value="Some value" /> - <StatsTooltipRow label="Some other label" value="100" /> - </> - } - handle={"Lorem ipsum dolor."} - closeDelay={100000000000} - /> + Lorem ipsum dolor sit amet consectetur adipisicing elit. Temporibus beatae atque eligendi sunt quasi et + porro nemo cumque nesciunt dolorum earum, minus fuga similique exercitationem ad. Eos omnis vitae suscipit + recusandae iste adipisci quasi rem odio, quidem qui modi impedit quibusdam culpa nemo distinctio rerum + tempora sequi facilis quaerat laudantium pariatur dicta ab. Pariatur mollitia magni consectetur praesentium + nulla nobis non voluptates laborum obcaecati enim unde, in tempore voluptas, expedita aut corrupti ipsum + sequi consequatur iste corporis quasi! Officia nihil pariatur, asperiores molestiae quia earum tempora, in + neque inventore quisquam dolore veniam minus beatae adipisci quod hic? Saepe, aperiam consequuntur! + </p> + </div> + + <h2 className="mb-16 mt-24 text-24 font-bold">Tooltips</h2> - <h2 className="mb-16 mt-24 text-24 font-bold">Token categories</h2> + <Tooltip + content={ + <> + Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam enim excepturi veritatis, architecto ab + qui odio repudiandae vero accusantium dicta, eius similique a aspernatur, maxime iste ipsam facilis. + Libero, et. + <br /> + <br /> + <ExchangeInfoRow label="Some label" value="Some value" /> + <StatsTooltipRow label="Some other label" value="100" /> + </> + } + handle={"Lorem ipsum dolor."} + closeDelay={100000000000} + /> - <div className="flex flex-col gap-16"> - {[ARBITRUM, AVALANCHE, AVALANCHE_FUJI].map((chainId) => ( - <div key={chainId}> - <h3 className="text-h3">{getChainName(chainId)}</h3> - {["meme", "layer1", "layer2", "defi"].map((category) => ( - <div key={category}> - <h3 className="text-h3">{category}</h3> - <div className="flex flex-wrap gap-4"> - {getCategoryTokenAddresses(chainId, category as TokenCategory).map((tokenAddress) => ( - <div key={tokenAddress}>{getToken(chainId, tokenAddress)?.symbol}</div> - ))} + <h2 className="mb-16 mt-24 text-24 font-bold">Token categories</h2> + + <div className="flex flex-col gap-16"> + {[ARBITRUM, AVALANCHE, AVALANCHE_FUJI].map((chainId) => ( + <div key={chainId}> + <h3 className="text-h3">{getChainName(chainId)}</h3> + {["meme", "layer1", "layer2", "defi"].map((category) => ( + <div key={category}> + <h3 className="text-h3">{category}</h3> + <div className="flex flex-wrap gap-4"> + {getCategoryTokenAddresses(chainId, category as TokenCategory).map((tokenAddress) => ( + <div key={tokenAddress}>{getToken(chainId, tokenAddress)?.symbol}</div> + ))} + </div> </div> - </div> - ))} - </div> - ))} - </div> + ))} + </div> + ))} + </div> - <h2 className="mb-16 mt-24 text-24 font-bold">Icons</h2> - <style>{`.ImageTooltip .Tooltip-popup {max-width: unset !important;}`}</style> - <div className="relative left-1/2 flex w-screen -translate-x-1/2 flex-wrap items-center gap-16 px-20"> - {icons.map((icon) => ( - <Tooltip - key={icon.src} - disableHandleStyle - as={"div"} - className="ImageTooltip" - closeDelay={500} - content={ - <div> - <pre> - <code> - Name: {icon.name} - <br /> - Path: {icon.path} - <br /> - Import URL: {icon.importUrl} - <br /> - Import SVG: {icon.importSvg} - </code> - </pre> - </div> - } - > - <img className="max-w-[50px]" src={icon.src} /> - </Tooltip> - ))} - </div> + <h2 className="mb-16 mt-24 text-24 font-bold">Icons</h2> + <style>{`.ImageTooltip .Tooltip-popup {max-width: unset !important;}`}</style> + <div className="relative left-1/2 flex w-screen -translate-x-1/2 flex-wrap items-center gap-16 px-20"> + {icons.map((icon) => ( + <Tooltip + key={icon.src} + styleType="none" + as={"div"} + className="ImageTooltip" + closeDelay={500} + content={ + <div> + <pre> + <code> + Name: {icon.name} + <br /> + Path: {icon.path} + <br /> + Import URL: {icon.importUrl} + <br /> + Import SVG: {icon.importSvg} + </code> + </pre> + </div> + } + > + <img className="max-w-[50px]" src={icon.src} /> + </Tooltip> + ))} + </div> - <h2 className="mb-16 mt-24 text-24 font-bold">Images</h2> + <h2 className="mb-16 mt-24 text-24 font-bold">Images</h2> - <div className="relative left-1/2 flex w-screen -translate-x-1/2 flex-wrap items-center gap-16 px-20"> - {otherImages.map((src) => ( - <Tooltip - key={src.src} - disableHandleStyle - as={"div"} - className="ImageTooltip" - closeDelay={500} - content={ - <div> - <pre> - <code> - Name: {src.name} - <br /> - Path: {src.path} - <br /> - Import URL: {src.importUrl} - </code> - </pre> - </div> - } - > - <img className="max-w-[100px]" src={src.src} /> - </Tooltip> - ))} - </div> + <div className="relative left-1/2 flex w-screen -translate-x-1/2 flex-wrap items-center gap-16 px-20"> + {otherImages.map((src) => ( + <Tooltip + key={src.src} + styleType="none" + as={"div"} + className="ImageTooltip" + closeDelay={500} + content={ + <div> + <pre> + <code> + Name: {src.name} + <br /> + Path: {src.path} + <br /> + Import URL: {src.importUrl} + </code> + </pre> + </div> + } + > + <img className="max-w-[100px]" src={src.src} /> + </Tooltip> + ))} + </div> - <div className="h-50"></div> - </main> + <div className="h-50"></div> + </main> + </AppPageLayout> ); } diff --git a/src/styles/Font.css b/src/styles/Font.css index 826f4907fc..fe03ed1c40 100644 --- a/src/styles/Font.css +++ b/src/styles/Font.css @@ -52,3 +52,43 @@ /* Super Modern Browsers */ url("fonts/relative/relative-book-pro.woff") format("woff"), /* Modern Browsers */ url("fonts/relative/relative-book-pro.ttf") format("truetype"); /* Safari, Android, iOS */ } + +@font-face { + font-family: "TTHoves"; + font-style: normal; + font-weight: 400; + src: url("fonts/tthoves/tt-hoves-pro-trial-regular.ttf"); + src: + local(""), + url("fonts/tthoves/tt-hoves-pro-trial-regular.ttf") format("truetype"); +} + +@font-face { + font-family: "TTHoves"; + font-style: normal; + font-weight: 300; + src: url("fonts/tthoves/tt-hoves-pro-trial-light.ttf"); + src: + local(""), + url("fonts/tthoves/tt-hoves-pro-trial-light.ttf") format("truetype"); +} + +@font-face { + font-family: "TTHoves"; + font-style: normal; + font-weight: 500; + src: url("fonts/tthoves/tt-hoves-pro-trial-medium.ttf"); + src: + local(""), + url("fonts/tthoves/tt-hoves-pro-trial-medium.ttf") format("truetype"); +} + +@font-face { + font-family: "TTHoves"; + font-style: normal; + font-weight: bold; + src: url("fonts/tthoves/tt-hoves-pro-trial-bold.ttf"); + src: + local(""), + url("fonts/tthoves/tt-hoves-pro-trial-bold.ttf") format("truetype"); +} diff --git a/src/styles/Input.css b/src/styles/Input.css index b82e7de570..acd69fff2d 100644 --- a/src/styles/Input.css +++ b/src/styles/Input.css @@ -14,12 +14,12 @@ .text-input { color: var(--color-slate-100); - border: 1px solid var(--color-gray-700); + border: 0.5px solid var(--color-slate-600); font-size: var(--font-size-body-medium); width: 100%; box-sizing: border-box; &::placeholder { - color: var(--color-slate-500); + color: var(--color-slate-100); } } diff --git a/src/styles/Shared.scss b/src/styles/Shared.scss index 81896e0088..33414b45cc 100644 --- a/src/styles/Shared.scss +++ b/src/styles/Shared.scss @@ -6,6 +6,13 @@ body, color: var(--color-white); font-size: 10px; background-color: var(--main-bg-color); + height: 100%; + width: 100%; +} + +#root > div { + height: 100%; + width: 100%; } /** @@ -35,17 +42,11 @@ code { *::before, *::after { box-sizing: border-box; - font-family: "Relative", sans-serif; - letter-spacing: 0.05rem; -} - -input { - font-family: "RelativeNumber"; } @supports (scrollbar-width: auto) { :root { - scrollbar-color: #a0a3c4 #16182e; + scrollbar-color: #a0a3c4 #121421; } } @@ -57,7 +58,7 @@ input { /* Track */ ::-webkit-scrollbar-track { - background-color: #16182e; + background-color: #121421; } /* Handle */ @@ -74,8 +75,8 @@ input { :root { --main-bg-color: var(--color-slate-950); - --dark-blue: var(--color-slate-800); - --dark-blue-bg: var(--color-slate-800); + --dark-blue: var(--color-slate-900); + --dark-blue-bg: var(--color-slate-900); --dark-blue-accent: var(--color-slate-100); --primary-btn-bg: var(--color-blue-600); --primary-btn-hover: var(--color-blue-400); @@ -87,7 +88,7 @@ input { --warning-yellow: var(--color-yellow-500); --avax-red: #e84143; --arbitrum-blue: #28a0f0; - --border-radius-sm: 0.4rem; // 4px + --border-radius-sm: 8px; --error-red: var(--color-red-500); --error-red-hover: var(--color-red-400); --green: var(--color-green-500); @@ -173,6 +174,10 @@ tr { margin-top: -0.31rem; } +.label { + font-weight: 500; +} + .label, .label a { color: var(--color-slate-100); @@ -233,18 +238,6 @@ s .default-btn:active { color: #ffffff61; } -.default-container { - max-width: var(--default-container-max-width); - padding-left: var(--default-container-padding); - padding-right: var(--default-container-padding); - margin: 0 auto; - - @media (max-width: 600px) { - padding-left: var(--default-container-padding-mobile); - padding-right: var(--default-container-padding-mobile); - } -} - .default-container-mobile-one-sided { max-width: var(--default-container-max-width); margin: 0 auto; @@ -371,16 +364,9 @@ button.btn-link:hover .logout-icon { } .page-layout { - min-height: calc(100vh - 62px); + overflow-y: auto; display: flex; flex-direction: column; - padding-bottom: calc(4.7rem + 8rem); - - @media (max-width: 1024px) { - padding-bottom: calc(4.7rem + 14rem); - } - - padding-top: 4.7rem; } .default-cursor.App-cta { @@ -423,3 +409,7 @@ a:hover .text-red { .checkbox-inline { display: inline-flex; } + +.font-medium.numbers { + +} diff --git a/tailwind.config.js b/tailwind.config.js index f457c6dcfe..eac8f5cf4e 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -11,8 +11,9 @@ const flattenColorPalette = require("tailwindcss/lib/util/flattenColorPalette"); */ const colors = { blue: { - 300: "#7885ff", - 400: "#4d5ffa", + 100: "#A4C3F9", + 300: "#7885FF", + 400: "#2D42FC", 500: "#3d51ff", 600: "#2d42fc", 700: "#2e3dcd", @@ -20,7 +21,7 @@ const colors = { "cold-blue": { 500: "#3a3f79", 700: "#282b54", - 900: "#1e203e", + 900: "#1E223C", }, "pale-blue": { 100: "rgba(180,187,255, 0.1)", @@ -28,13 +29,15 @@ const colors = { }, slate: { 100: "#a0a3c4", - 500: "#3e4361", - 600: "#373c58", - 700: "#23263b", + 400: "#BEC0DA", + 500: "#646a8f", + 600: "#363a59", + 650: "#3C40677f", + 700: "#22243a", 750: "#17182c", - 800: "#16182e", - 900: "#101124", - 950: "#08091b", + 800: "#1e2033", + 900: "#121421", + 950: "#090A14", }, gray: { 50: "rgba(255, 255, 255, 0.95)", @@ -52,27 +55,35 @@ const colors = { yellow: { 300: "#ffe166", 500: "#f3b50c", + 900: "#2E2D29", }, red: { + 100: "#F9A4A5", 400: "#ff637a", 500: "#FF506A", 700: "#B33055", + 900: "#2D192D", }, green: { + 100: "#A4F9D9", 300: "#56dba8", 400: "#8CF3CB", 500: "#0FDE8D", + 700: "#178969", 600: "#1F3445", 700: "#0FDE8D", 800: "#178969", + 900: "#192E38", }, white: "#ffffff", black: "#000000", - stroke: { - primary: "#252A47", + button: { + secondary: "#23263b", }, fill: { - tertiary: "#B4BBFF1A", + surfaceElevated50: "#1E203380", + surfaceElevatedHover: "#18192a", + surfaceHover: "#A0A3C41A", }, }; @@ -123,8 +134,22 @@ function customUtilsPlugin({ addUtilities, matchUtilities, matchVariant, addVari addUtilities({ ".text-input-bg": { - background: - "linear-gradient(90deg, var(--color-cold-blue-900) 0%, color-mix(in srgb, var(--color-slate-500) 40%, transparent) 100%)", + borderRadius: "8px", + background: "var(--color-slate-800)", + }, + ".text-input-bg::placeholder": { + color: "var(--color-slate-100)", + }, + }); + + addUtilities({ + ".scrollbar-gutter-stable": { + scrollbarGutter: "stable", + }, + }); + + addUtilities({ + ".numbers": { }, }); } @@ -136,7 +161,7 @@ function customUtilsPlugin({ addUtilities, matchUtilities, matchVariant, addVari function fontComponentsPlugin({ addComponents, addBase }) { addBase({ ":root": { - "--font-size-h1": "3.4rem", + "--font-size-h1": "3.2rem", "--font-size-h2": "2.4rem", "--font-size-body-large": "1.6rem", "--font-size-body-medium": "1.4rem", @@ -154,12 +179,16 @@ function fontComponentsPlugin({ addComponents, addBase }) { addComponents({ ".text-h1": { - fontSize: "3.4rem", + fontSize: "3.2rem", lineHeight: "auto", + fontWeight: 500, + letterSpacing: "-0.02em", }, ".text-h2": { fontSize: "2.4rem", lineHeight: "auto", + fontWeight: 500, + letterSpacing: "-0.02em", }, ".text-body-large": { fontSize: "1.6rem", @@ -167,7 +196,7 @@ function fontComponentsPlugin({ addComponents, addBase }) { }, ".text-body-medium": { fontSize: "1.4rem", - lineHeight: "1.8rem", + lineHeight: "1.75rem", }, ".text-body-small": { fontSize: "1.2rem", @@ -190,12 +219,15 @@ module.exports = { full: "9999px", }), fontSize: { + 11: "1.1rem", 12: "1.2rem", + 13: "1.3rem", 14: "1.4rem", 15: "1.5rem", 16: "1.6rem", + 20: "2rem", 24: "2.4rem", - 34: "3.4rem", + 32: "3.2rem", }, lineHeight: { 1: "1", @@ -213,11 +245,18 @@ module.exports = { // @see https://tailwindcss.com/blog/tailwindcss-v3-2#max-width-and-dynamic-breakpoints // "these features will only be available if your project uses a simple screens configuration." // So we just copy the default screens config - screens: defaultConfig.theme.screens, + screens: { ...defaultConfig.theme.screens, sm: "400px" }, extend: { gridTemplateColumns: fromPairs( range(200, 501, 50).map((space) => [`auto-fill-${space}`, `repeat(auto-fill, minmax(${space}px, 1fr))`]) ), + fontFamily: { + 'tthoves': ['TTHoves', 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'], + 'relative': ['Relative', 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'] + }, + borderWidth: { + 'stroke': '0.5px', + }, }, }, plugins: [injectColorsPlugin, customUtilsPlugin, fontComponentsPlugin], diff --git a/vite.config.ts b/vite.config.ts index 7aaaaae0d8..31898e0a87 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -50,8 +50,10 @@ export default defineConfig(({ mode }) => { build: { assetsInlineLimit: 0, outDir: "build", - sourcemap: true, + // TODO: remove this after sourcemap is fixed + sourcemap: false, rollupOptions: { + maxParallelFileOps: 2, output: { manualChunks: { web3: ["ethers", "viem", "date-fns", "@rainbow-me/rainbowkit", "lodash", "@gelatonetwork/relay-sdk"], diff --git a/yarn.lock b/yarn.lock index bd48356786..87cb591a18 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10540,7 +10540,7 @@ __metadata: react-dom: 18.2.0 react-helmet: 6.1.0 react-hot-toast: 2.2.0 - react-icons: 4.3.1 + react-icons: 5.5.0 react-jazzicon: 1.0.4 react-loading-skeleton: 3.3.1 react-remove-scroll: 2.5.5 @@ -14236,12 +14236,12 @@ __metadata: languageName: node linkType: hard -"react-icons@npm:4.3.1": - version: 4.3.1 - resolution: "react-icons@npm:4.3.1" +"react-icons@npm:5.5.0": + version: 5.5.0 + resolution: "react-icons@npm:5.5.0" peerDependencies: react: "*" - checksum: 2cc608acdd3e906aa3aaee290b8398220639677c949382d86e554020e5dab6a9f1ed7484418aa5272cb5c5c018e1fc9a323d433d901697a76530029f9ecb1263 + checksum: cbd74f4b7982e6e18d59798a6b578268c8eb0909d78d87bcf9b25f99b3e544fd189a76551cb5e770d17f154a60b668551aee108aaf8471309b23f7af3b2c5b07 languageName: node linkType: hard