From ae11069a75783a9fd8d6637dd9cb5a4b60e6cd57 Mon Sep 17 00:00:00 2001 From: Stefan Popov Date: Thu, 17 Oct 2024 14:08:03 +0200 Subject: [PATCH 01/32] Feature/refactoring (#1574) * Update caniuse-lite * Discard duplicate CSS rules (mostly element-ui) * Add lazy loading for AppHeader heavy low priority components * Fix styles warnings during build --- src/App.vue | 3 ++- src/components/App/Footer/AppFooter.vue | 2 +- src/components/App/Header/AppHeader.vue | 11 +++------ src/components/App/Menu/AppMenu.vue | 16 ++++++------- .../pages/OrderBook/SetLimitOrderWidget.vue | 3 ++- .../pages/SoraCard/steps/Payment.vue | 2 +- src/components/pages/Swap/Widget/Form.vue | 2 +- src/components/shared/GenericPageHeader.vue | 4 +++- src/components/shared/Input/TokenInput.vue | 6 +++-- .../shared/Settings/SlippageTolerance.vue | 3 ++- src/components/shared/Widget/Base.vue | 2 +- src/consts/index.ts | 1 + .../sora/components/AllWithdrawsDialog.vue | 2 +- .../sora/components/PendingRewardsDialog.vue | 2 +- .../vault/components/LtvProgressBar.vue | 2 +- src/modules/vault/views/VaultDetails.vue | 7 +++--- src/modules/vault/views/Vaults.vue | 2 +- src/styles/_mixins.scss | 23 +++++++++++-------- src/views/Burn.vue | 2 +- src/views/DepositOptions.vue | 2 +- src/views/ReferralProgram.vue | 8 +++---- src/views/RewardsTabs.vue | 2 +- vue.config.js | 21 +++++++++++++++++ yarn.lock | 6 ++--- 24 files changed, 82 insertions(+), 52 deletions(-) diff --git a/src/App.vue b/src/App.vue index 935c74341..6dd77819d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -479,8 +479,9 @@ ul ul { } &-body-scrollbar { - @include scrollbar; flex: 1; + + @include scrollbar; } } diff --git a/src/components/App/Footer/AppFooter.vue b/src/components/App/Footer/AppFooter.vue index f7af72ed1..65f9bb9df 100644 --- a/src/components/App/Footer/AppFooter.vue +++ b/src/components/App/Footer/AppFooter.vue @@ -305,7 +305,7 @@ $sora-logo-width: 115px; color: var(--s-color-base-content-secondary); font-size: 12px; line-height: 12px; - margin-right: $basic-spacing / 2; + margin-right: $basic-spacing * 0.5; margin-top: 2px; white-space: nowrap; } diff --git a/src/components/App/Header/AppHeader.vue b/src/components/App/Header/AppHeader.vue index 91eb695dc..4cf7b019b 100644 --- a/src/components/App/Header/AppHeader.vue +++ b/src/components/App/Header/AppHeader.vue @@ -22,11 +22,10 @@ + + diff --git a/src/components/pages/PointSystem/PointCard.vue b/src/components/pages/PointSystem/PointCard.vue new file mode 100644 index 000000000..8635a5145 --- /dev/null +++ b/src/components/pages/PointSystem/PointCard.vue @@ -0,0 +1,197 @@ + + + + + diff --git a/src/components/pages/PointSystem/ProgressCard.vue b/src/components/pages/PointSystem/ProgressCard.vue new file mode 100644 index 000000000..c68e79cd8 --- /dev/null +++ b/src/components/pages/PointSystem/ProgressCard.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/components/pages/PointSystem/TaskCard.vue b/src/components/pages/PointSystem/TaskCard.vue new file mode 100644 index 000000000..0f757060c --- /dev/null +++ b/src/components/pages/PointSystem/TaskCard.vue @@ -0,0 +1,146 @@ + + + + + + + diff --git a/src/components/pages/PointSystem/TaskDialog.vue b/src/components/pages/PointSystem/TaskDialog.vue new file mode 100644 index 000000000..0c563fb5e --- /dev/null +++ b/src/components/pages/PointSystem/TaskDialog.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/src/consts/index.ts b/src/consts/index.ts index ae2fa84f9..18e372cec 100644 --- a/src/consts/index.ts +++ b/src/consts/index.ts @@ -122,6 +122,7 @@ export enum PageNames { Farming = 'Farming', Rewards = 'Rewards', ReferralProgram = 'ReferralProgram', + PointSystemV2 = `PointSystemV2`, PointSystem = 'PointSystem', RewardsTabs = 'RewardsTabs', ReferralBonding = 'ReferralBonding', @@ -241,6 +242,11 @@ export enum Components { RewardsAmountHeader = 'pages/Rewards/AmountHeader', RewardsAmountTable = 'pages/Rewards/AmountTable', RewardsGradientBox = 'pages/Rewards/GradientBox', + // Point System Page + PointCard = 'pages/PointSystem/PointCard', + TaskCard = 'pages/PointSystem/TaskCard', + FirstTxCard = 'pages/PointSystem/FirstTxCard', + TaskDialog = 'pages/PointSystem/TaskDialog', // Shared GenericPageHeader = 'shared/GenericPageHeader', LinksDropdown = 'shared/LinksDropdown', @@ -292,6 +298,7 @@ export enum LimitOrderType { } export enum RewardsTabsItems { + PointSystemV2 = PageNames.PointSystemV2, PointSystem = PageNames.PointSystem, Rewards = PageNames.Rewards, ReferralProgram = PageNames.ReferralProgram, @@ -462,6 +469,7 @@ export const SidebarMenuGroups = [...MainMenu, ...OtherPagesMenu]; export const BridgeChildPages = [PageNames.BridgeTransaction, PageNames.BridgeTransactionsHistory]; export const PoolChildPages = [PageNames.AddLiquidity]; export const RewardsChildPages = [ + PageNames.PointSystemV2, PageNames.PointSystem, PageNames.Rewards, PageNames.ReferralProgram, diff --git a/src/consts/pointSystem.ts b/src/consts/pointSystem.ts new file mode 100644 index 000000000..f454d1178 --- /dev/null +++ b/src/consts/pointSystem.ts @@ -0,0 +1,164 @@ +import { KUSD, XOR, VXOR } from '@sora-substrate/sdk/build/assets/consts'; +import { AccountAsset } from '@sora-substrate/sdk/build/assets/types'; + +import messages from '@/lang/messages'; +import store from '@/store'; +import { Category } from '@/types/pointSystem'; + +export const MAX_LEVEL = 6; +export const POINTS_PER_PERCENT = 1000; + +// 50%, 60%, 70%, 80%, 90%, 100% +const defaultMultipliers = [0.5, 0.6, 0.7, 0.8, 0.9, 1.0]; + +// Volume 0-100$, 100-500$ e.t.c +const progressZero25K = [0, 100, 500, 1000, 5000, 25000]; +const progressZero10K = [0, 50, 100, 500, 1000, 10000]; + +const timestampThresholds = [ + 1667260800000, // Nov 1, 2022 + 1672531200000, // Jan 1, 2023 + 1685603802000, // Jun 1, 2023 + 1704067200000, // Jan 1, 2024 + 1717226202000, // Jun 1, 2024 +]; + +const generateLevels = (thresholds: number[], multipliers: number[] = defaultMultipliers) => { + return thresholds.map((threshold, index) => ({ + threshold, + multiplier: multipliers[index] ?? multipliers[multipliers.length - 1], + })); +}; + +const getAsset = (imageName: string): AccountAsset | null => { + if (!isTokenImage(imageName)) { + return null; + } + const getAssetFromStore = store.getters.assets.assetDataByAddress; + const asset = getAssetFromStore(imageName); + return asset ?? null; +}; + +export const isTokenImage = (imageName: string): boolean => { + return imageName.startsWith('0x'); +}; + +export const getImageSrc = (imageName: string): AccountAsset | string => { + const asset = getAsset(imageName); + if (asset) { + return asset; + } + return `/point-system/${imageName}.svg`; +}; + +export const categoriesPointSystem: { [key: string]: Category } = { + liquidityProvision: { + maxPercentage: 10, + levels: generateLevels(progressZero25K), + titleProgress: messages.points.liquidityProvision.titleProgress, + titleTask: messages.points.liquidityProvision.titleTask, + descriptionTask: messages.points.liquidityProvision.descriptionTask, + imageName: 'liquidity', + }, + VXORHoldings: { + maxPercentage: 10, + levels: generateLevels(progressZero10K), + titleProgress: messages.points.VXORHoldings.titleProgress, + titleTask: messages.points.VXORHoldings.titleTask, + descriptionTask: messages.points.VXORHoldings.descriptionTask, + imageName: VXOR.address, + }, + referralRewards: { + maxPercentage: 6, + levels: generateLevels([0, 10, 50, 100, 250, 1001]), + titleProgress: messages.points.referralRewards.titleProgress, + titleTask: messages.points.referralRewards.titleTask, + descriptionTask: messages.points.referralRewards.descriptionTask, + imageName: 'referral_rewards', + }, + depositVolumeBridges: { + maxPercentage: 6, + levels: generateLevels(progressZero25K), + titleProgress: messages.points.depositVolumeBridges.titleProgress, + titleTask: messages.points.depositVolumeBridges.titleTask, + descriptionTask: messages.points.depositVolumeBridges.descriptionTask, + imageName: 'bridges', + }, + networkFeeSpent: { + maxPercentage: 5, + levels: generateLevels(progressZero10K), + titleProgress: messages.points.networkFeeSpent.titleProgress, + titleTask: messages.points.networkFeeSpent.titleTask, + descriptionTask: messages.points.networkFeeSpent.descriptionTask, + imageName: 'network_fee', + }, + XORBurned: { + maxPercentage: 5, + levels: generateLevels(progressZero10K), + titleProgress: messages.points.XORBurned.titleProgress, + titleTask: messages.points.XORBurned.titleTask, + descriptionTask: messages.points.XORBurned.descriptionTask, + imageName: 'xor_burned', + }, + XORHoldings: { + maxPercentage: 4, + levels: generateLevels(progressZero10K), + titleProgress: messages.points.XORHoldings.titleProgress, + titleTask: messages.points.XORHoldings.titleTask, + descriptionTask: messages.points.XORHoldings.descriptionTask, + imageName: XOR.address, + }, + governanceLockedXOR: { + maxPercentage: 4, + levels: generateLevels(progressZero25K), + titleProgress: messages.points.governanceLockedXOR.titleProgress, + titleTask: messages.points.governanceLockedXOR.titleTask, + descriptionTask: messages.points.governanceLockedXOR.descriptionTask, + imageName: 'governance', + }, + kensetsuVolumeRepaid: { + maxPercentage: 3, + levels: generateLevels(progressZero10K), + titleProgress: messages.points.kensetsuVolumeRepaid.titleProgress, + titleTask: messages.points.kensetsuVolumeRepaid.titleTask, + descriptionTask: messages.points.kensetsuVolumeRepaid.descriptionTask, + imageName: 'kensetsu', + }, + orderbookVolume: { + maxPercentage: 3, + levels: generateLevels(progressZero10K), + titleProgress: messages.points.orderbookVolume.titleProgress, + titleTask: messages.points.orderbookVolume.titleTask, + descriptionTask: messages.points.orderbookVolume.descriptionTask, + imageName: 'orderbook', + }, + nativeXorStaking: { + maxPercentage: 2.5, + levels: generateLevels(progressZero10K), + titleProgress: messages.points.nativeXorStaking.titleProgress, + titleTask: messages.points.nativeXorStaking.titleTask, + descriptionTask: messages.points.nativeXorStaking.descriptionTask, + imageName: 'staking', + }, + KUSDHoldings: { + maxPercentage: 1, + levels: generateLevels(progressZero10K), + titleProgress: messages.points.KUSDHoldings.titleProgress, + titleTask: messages.points.KUSDHoldings.titleTask, + descriptionTask: messages.points.KUSDHoldings.descriptionTask, + imageName: KUSD.address, + }, + firstTxAccount: { + maxPercentage: 0.5, + levels: generateLevels(timestampThresholds, [1.0, 0.9, 0.75, 0.5, 0]), + titleProgress: messages.points.firstTxAccount.titleProgress, + titleTask: messages.points.firstTxAccount.titleTask, + descriptionTask: messages.points.firstTxAccount.descriptionTask, + imageName: 'liquidity', + }, +}; + +export enum pointSystemCategory { + tasks = 'tasks', + progress = 'progress', +} diff --git a/src/indexer/queries/pointSystem.ts b/src/indexer/queries/pointSystem.ts index ee2ba07af..d52acf3d1 100644 --- a/src/indexer/queries/pointSystem.ts +++ b/src/indexer/queries/pointSystem.ts @@ -4,6 +4,7 @@ import { SubqueryIndexer, SubsquidIndexer } from '@soramitsu/soraneo-wallet-web/ import { gql } from '@urql/core'; import type { + QueryData, ConnectionQueryResponse, HistoryElement, HistoryElementEthBridgeIncoming, @@ -223,3 +224,123 @@ export async function fetchCount(start: number, end: number, account: string, ty return 0; } + +type AccountMetaAssetVolume = { + amount: string; // formatted NumberLike + amountUSD: string; // formatted NumberLike +}; + +type AccountMetaEventCounter = { + created: number; // count + closed: number; // count + amountUSD: string; // formatted NumberLike +}; + +type AccountMetaGovernance = { + votes: number; // count + amount: string; // formatted NumberLike + amountUSD: string; // formatted NumberLike +}; + +type AccountMetaDeposit = { + incomingUSD: string; // formatted NumberLike + outgoingUSD: string; // formatted NumberLike +}; + +type AccountMetaEntity = { + id: string; + accountId: string; + createdAtTimestamp: number; + createdAtBlock: number; + xorFees: AccountMetaAssetVolume; + xorBurned: AccountMetaAssetVolume; + xorStakingValRewards: AccountMetaAssetVolume; + orderBook: AccountMetaEventCounter; + vault: AccountMetaEventCounter; + governance: AccountMetaGovernance; + deposit: AccountMetaDeposit; +}; + +const SubqueryAccountMetaQuery = gql>` + query AccountMetaQuery($id: String = "") { + data: accountMeta(id: $id) { + createdAtTimestamp + createdAtBlock + xorFees + xorBurned + xorStakingValRewards + orderBook + vault + governance + deposit + } + } +`; + +const parseVolume = (data: AccountMetaAssetVolume | AccountMetaGovernance) => { + return { + amount: new FPNumber(data.amount), + amountUSD: new FPNumber(data.amountUSD), + }; +}; + +const parseCounter = (data: AccountMetaEventCounter) => { + return { + created: new FPNumber(data.created), + closed: new FPNumber(data.closed), + amountUSD: new FPNumber(data.amountUSD), + }; +}; + +const parseAccountMeta = (item: QueryData) => { + const { + createdAtTimestamp, + createdAtBlock, + xorFees, + xorBurned, + xorStakingValRewards, + orderBook, + vault, + governance, + deposit, + } = item.data; + + return { + createdAt: { + block: Number(createdAtBlock), + timestamp: Number(createdAtTimestamp) * 1000, + }, + fees: parseVolume(xorFees), + burned: parseVolume(xorBurned), + staking: parseVolume(xorStakingValRewards), + orderBook: parseCounter(orderBook), + kensetsu: parseCounter(vault), + governance: { + votes: new FPNumber(governance.votes), + ...parseVolume(governance), + }, + bridge: { + incomingUSD: new FPNumber(deposit.incomingUSD), + outgoingUSD: new FPNumber(deposit.outgoingUSD), + }, + }; +}; + +export async function fetchAccountMeta(accountAddress: string) { + const indexer = getCurrentIndexer(); + const variables = { id: accountAddress }; + + try { + if (indexer.type === IndexerType.SUBQUERY) { + const subqueryIndexer = indexer as SubqueryIndexer; + const response = await subqueryIndexer.services.explorer.request(SubqueryAccountMetaQuery, variables); + if (!response) return null; + + return parseAccountMeta(response); + } + return null; + } catch (error) { + console.error(error); + return null; + } +} diff --git a/src/lang/cs.json b/src/lang/cs.json index fd1e37bd5..897adb051 100644 --- a/src/lang/cs.json +++ b/src/lang/cs.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Pozice uzavřena", "DepositCollateral": "Vloženo {amount} {symbol}", "RepayVaultDebt": "Splatit {amount} {symbol}", - "BorrowVaultDebt": "Půjčeno {amount} {symbol}" + "BorrowVaultDebt": "Půjčeno {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Svázat aktivum {symbol2} na SBT", + "IssueSoulBoundToken": "Vydání Soulbound Token {symbol}", + "RegisterAndRegulateAsset": "Registrovat a regulovat {symbol} aktivum", + "RegulateAsset": "Regulovat aktivum {symbol}", + "SetAccessExpiration": "SB token {symbol} Aktualizováno vypršení platnosti na {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "{action} {amount} {symbol} {direction} {address} se nezdařilo.", @@ -111,7 +118,14 @@ "CloseVault": "Nepodařilo se uzavřít pozici {symbol}\/{symbol2}", "DepositCollateral": "Nepodařilo se vložit {amount} {symbol}", "RepayVaultDebt": "Nepodařilo se splatit {amount} {symbol}", - "BorrowVaultDebt": "Nepodařilo se půjčit {amount} {symbol}" + "BorrowVaultDebt": "Nepodařilo se půjčit {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Nepodařilo se svázat aktivum {symbol} s SBT {symbol2}", + "IssueSoulBoundToken": "Nepodařilo se vydat Soulbound token {symbol}", + "RegisterAndRegulateAsset": "Nepodařilo se zaregistrovat a regulovat {symbol}", + "RegulateAsset": "Nepodařilo se regulovat aktivum {symbol}", + "SetAccessExpiration": "Aktualizace vypršení platnosti na {to} pro {symbol} se nezdařila", + "XorlessTransfer": "Odeslání {amount} {symbol} na {address} se nezdařilo" }, "ReferralReserveXor": "Vázat XOR", "ReferralUnreserveXor": "Zrušit vazbu XOR", @@ -145,7 +159,14 @@ "CloseVault": "Uzavřít pozici", "DepositCollateral": "Vložit zástavu", "RepayVaultDebt": "Splnit dluh", - "BorrowVaultDebt": "Půjčit si dluh" + "BorrowVaultDebt": "Půjčit si dluh", + "VestedTransfer": "", + "BindRegulatedAsset": "Svázat regulované aktivum", + "IssueSoulBoundToken": "Vydání SBT", + "RegisterAndRegulateAsset": "Registrovat aktivum", + "RegulateAsset": "Regulovat aktiva", + "SetAccessExpiration": "Nastavte SBT expiraci", + "XorlessTransfer": "Převod" }, "polkadotjs": { "noExtensions": "Nebylo nalezeno žádné rozšíření {PolkadotJs}. Nainstalujte si jej prosím a znovu načtěte tuto stránku\n https:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Neplatná adresa. Zkontrolujte ji a zkuste to znovu.", "tooltip": "Poslat tokeny mezi síťovými účty {Sora}", "addressWarning": "Tokeny budou zaslány na níže uvedenou {Sora} adresu. Ujistěte se, že příjemce má přístup k {Sora} chainu, aby mohl tokeny používat:", - "addressError": "Tokeny nelze odesílat na stejný účet, ke kterému jste právě připojeni." + "addressError": "Tokeny nelze odesílat na stejný účet, ke kterému jste právě připojeni.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Zkopírovat adresu", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} účtů", "yourRewards": "Vaše odměny", "openTelegram": "Otevřít {Telegram}", - "toEarnPoints": "Pro získání bodů" + "toEarnPoints": "Pro získání bodů", + "airdrop": "Splňte úkoly související s ekosystémem SORA, abyste se kvalifikovali na airdrop v hodnotě 3 milionů dolarů", + "complete": "Dokončeno | Dokončit", + "currently": "V současné době", + "dated": "Datováno", + "depositVolumeBridges": { + "descriptionTask": "Vklad a výběr přes Mosty, bitget, 1x, gateio", + "titleProgress": "Objem vkladu", + "titleTask": "Vklad a výběr" + }, + "firstSoraNetworkTransaction": "Vaše první transakce v síti SORA", + "firstTxAccount": { + "descriptionTask": "Dokončete svou první XOR transakci a získejte odměnu", + "titleProgress": "První transakce", + "titleTask": "Proveďte svou první transakci" + }, + "governanceLockedXOR": { + "descriptionTask": "Uzamkněte XOR účastí na hlasovacích událostech správy", + "titleProgress": "Správa", + "titleTask": "Uzamkněte XOR při hlasování o správě" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Splaťte dluh KUSD během likvidací nebo uzavírání pozic", + "titleProgress": "Objem Kensetsu", + "titleTask": "Splaťte KUSD dluh" + }, + "KUSDHoldings": { + "descriptionTask": "Držte své aktuální KUSD držby", + "titleProgress": "KUSD Držení", + "titleTask": "Držet KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Poskytněte likviditu napříč pooly", + "titleProgress": "Poskytování likvidity", + "titleTask": "Poskytněte likviditu" + }, + "lvl": "Lvl", + "maxLvl": "Dosáhli jste maximální úrovně", + "nativeXorStaking": { + "descriptionTask": "Stakujte XOR a získejte odměny VAL", + "titleProgress": "Stakování XOR", + "titleTask": "Stakujte XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Utraťte XOR za poplatky v síti při více on-chain transakcích", + "titleProgress": "Poplatky v síti", + "titleTask": "Utraťte XOR za poplatky v síti" + }, + "nextLvl": "Další lvl", + "orderbookVolume": { + "descriptionTask": "Vytvořte limitní příkazy v knize objednávek", + "titleProgress": "Objednávka", + "titleTask": "Vytvořte limitní příkazy" + }, + "progress": "Pokrok", + "referralRewards": { + "descriptionTask": "Doporučte účty prostřednictvím doporučovacího systému", + "titleProgress": "Doporučovací systém", + "titleTask": "Doporučte účty" + }, + "relatedTasks": "Splňte úkoly související s {title}, abyste zvýšili svou dovednost", + "rewardNextLvl": "Odměna za další úroveň", + "soraCard": "Požádejte nyní", + "VXORHoldings": { + "descriptionTask": "Držte své aktuální VXOR držby", + "titleProgress": "Holdingy VXOR", + "titleTask": "Držet VXOR" + }, + "XORBurned": { + "descriptionTask": "Spalte XOR a převeďte na hodnotu v $", + "titleProgress": "XOR vyhořel", + "titleTask": "Vypálit XOR" + }, + "XORHoldings": { + "descriptionTask": "Držte své aktuální XOR držby", + "titleProgress": "XOR Držení", + "titleTask": "Držet XOR" + }, + "yourLevel": "Vaše úroveň", + "yourTasks": "Vaše úkoly" }, "addAssetsText": "Přidat aktivum | Přidat aktiva", "noir": "Noir", @@ -1545,5 +1648,71 @@ "firstText": "První", "lastText": "Poslední", "prevText": "Předchozí", - "priceText": "Cena" + "priceText": "Cena", + "assetOwner": { + "accountWithAccess": "Účet s přístupem SBT", + "addRegulatedAsset": "Přidejte další regulované aktivum", + "addRegulatedAssets": "Přidejte regulovaná aktiva", + "attachedRegulatedAssets": "Připojená regulovaná aktiva", + "createRegulatedAsset": "Vytvořte nové regulované aktivum", + "createSbt": "Vytvořit {type}", + "dialog": { + "addExisting": "Přidejte existující dílo", + "addExistingDesc": "Přidejte již vytvořený majetek pro SBT", + "createAsset": "Vytvořte nové dílo", + "createAssetDesc": "Nastavte nové dílo s oprávněním pro {type}", + "enterAddress": "Zadejte adresu pro vydání", + "issueAccess": "Vydat přístup", + "pickDate": "Vyberte si den", + "selectAccessEnd": "Vyberte, kdy bude přístup ukončen", + "selectDate": "Vyberte datum" + }, + "guide": { + "createToken": "Vytvořte si token", + "createTokenDesc": "Snadno spusťte svůj jedinečný token – dostupný v několika formátech, jako jsou NFT a SBT – pomocí robustní a zabezpečené infrastruktury sítě SORA.", + "disclaimerSbt": "Během celého procesu mějte tuto stránku otevřenou. Zavření nebo opuštění bude vyžadovat restart od začátku. Dokončete kroky rychle, abyste se vyhnuli vypršení časového limitu.", + "stepOneDesc": "Vyberte nebo vytvořte aktiva, která jste sami vytvořili a regulujte. Jedná se o aktiva pod vaší kontrolou a správou.", + "stepOneTitle": "Vyberte nebo vytvořte regulovaná aktiva", + "stepThreeDesc": "Zkontrolujte a podepište závěrečnou transakci vytvoření a dokončete nastavení SBT.", + "stepThreeTitle": "Zkontrolujte a podepište transakci", + "stepTwoDesc": "Poskytněte základní informace, jako je název a symbol SBT a také ikona.", + "stepTwoTitle": "Zadejte podrobnosti SBT", + "title": "Jak vytvořit {type} :" + }, + "issueSbtAccess": "Vydejte {type} přístup", + "letsStartBtn": "ZAČÍNÁME", + "orSelectExisting": "Nebo vyberte existující", + "ownerSbtTitle": "Váš {type}", + "permissionedAssets": "Povolená aktiva", + "regulatedAssetsConnected": "Připojená regulovaná aktiva", + "regulatedPools": "Regulované bazény", + "sbtCreation": { + "addAssets": "Přidejte aktiva do SBT", + "addDescription": "Zadejte podrobnosti SBT", + "addMeta": "Zadejte podrobnosti SBT", + "preview": "Náhled SBT" + }, + "sbtManagers": "{type} Manažeři", + "selectExisting": "Vyberte existující", + "startIssue": "Začněte udělovat přístup pro SBT k účtům", + "you": "Vy" + }, + "sbtDetails": { + "accessPermitted": "Přístup povolen", + "description": "Tento SBT poskytuje přístup k více tokenům a fondům a je připojen k vašemu účtu", + "expiresIn": "Platnost vyprší za", + "expiresInTooltip": "'Expires in' ukazuje období nebo okamžik, kdy byl přístup získán", + "expiryDate": "Datum vypršení platnosti", + "expiryDateTooltip": "„Datum vypršení platnosti“ je lhůta pro váš přístup k regulovaným aktivům SBT", + "indefiniteExp": "s otevřeným koncem", + "issuedBy": "{SBT} vydal", + "kycProvider": "Poskytovatel {KYC}", + "kycVerification": "Ověření {KYC}", + "listOperable": "Regulovaná aktiva provozuschopná", + "noPermissions": "Žádná další oprávnění", + "noReceiverAccess": "Pokoušíte se odeslat regulovaný token uživateli bez přístupu SBT", + "permission": "povolení", + "permissions": "oprávnění", + "regulatedInsitution": "Regulovaná instituce" + } } \ No newline at end of file diff --git a/src/lang/de.json b/src/lang/de.json index ee2c3eea3..073d35b74 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Position geschlossen", "DepositCollateral": "{amount} {symbol} hinterlegt", "RepayVaultDebt": "{amount} {symbol} beglichen", - "BorrowVaultDebt": "{amount} {symbol} aufgenommen" + "BorrowVaultDebt": "{amount} {symbol} aufgenommen", + "VestedTransfer": "", + "BindRegulatedAsset": "Asset {symbol2} an SBT binden", + "IssueSoulBoundToken": "Seelengebundenes Token ausgeben {symbol}", + "RegisterAndRegulateAsset": "Registrieren und regulieren Sie {symbol} asset", + "RegulateAsset": "Vermögenswerte regulieren {symbol}", + "SetAccessExpiration": "SB-Token {symbol} Ablaufdatum auf {endTime} aktualisiert", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Fehler bei {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Schließen der Position {symbol}\/{symbol2} fehlgeschlagen", "DepositCollateral": "Fehler beim Hinterlegen von {amount} {symbol}", "RepayVaultDebt": "Fehler beim Begleichen von {amount} {symbol}", - "BorrowVaultDebt": "Fehler beim Aufnehmen von {amount} {symbol}" + "BorrowVaultDebt": "Fehler beim Aufnehmen von {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Das Binden des Assets {symbol} an SBT {symbol2} ist fehlgeschlagen.", + "IssueSoulBoundToken": "Das Ausstellen des Soulbound-Tokens {symbol} ist fehlgeschlagen.", + "RegisterAndRegulateAsset": "Registrierung und Regulierung {symbol} fehlgeschlagen", + "RegulateAsset": "Fehlgeschlagene Regulierung des Vermögenswerts {symbol}", + "SetAccessExpiration": "Das Ablaufdatum für {symbol} konnte nicht auf {to} aktualisiert werden.", + "XorlessTransfer": "Das Senden von {amount} {symbol} an {address} ist fehlgeschlagen" }, "ReferralReserveXor": "Bonde XOR", "ReferralUnreserveXor": "Unbonde XOR", @@ -145,7 +159,14 @@ "CloseVault": "Position schließen", "DepositCollateral": "Pfand hinterlegen", "RepayVaultDebt": "Schulden begleichen", - "BorrowVaultDebt": "Schulden aufnehmen" + "BorrowVaultDebt": "Schulden aufnehmen", + "VestedTransfer": "", + "BindRegulatedAsset": "Regulierte Vermögenswerte binden", + "IssueSoulBoundToken": "Ausgabe SBT", + "RegisterAndRegulateAsset": "Vermögenswert registrieren", + "RegulateAsset": "Vermögenswerte regulieren", + "SetAccessExpiration": "SBT-Ablauf festlegen", + "XorlessTransfer": "Überweisen" }, "polkadotjs": { "noExtensions": "Es wurde keine {PolkadotJs} Erweiterung gefunden. Bitte, installiere sie und lade diese Seite erneut\nhttps:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Ungültige Adresse. Bitte, überprüfe die Adresse und versuche es erneut.", "tooltip": "Sende Token zwischen {Sora}-Netzwerkkonten", "addressWarning": "Token werden an die unten angegebene {Sora}-Adresse gesendet. Stell bitte sicher, dass der Empfänger auf die {Sora}-Chain zugreifen kann, um die Token zu verwenden:", - "addressError": "Du kannst keine Token an dasselbe Konto senden, mit dem du derzeit verbunden bist." + "addressError": "Du kannst keine Token an dasselbe Konto senden, mit dem du derzeit verbunden bist.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Adresse kopieren", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} Konten", "yourRewards": "Ihre Belohnungen", "openTelegram": "Öffnen {Telegram}", - "toEarnPoints": "Um Punkte zu verdienen" + "toEarnPoints": "Um Punkte zu verdienen", + "airdrop": "Schließe Aufgaben im Zusammenhang mit dem SORA-Ökosystem ab, um sich für einen Airdrop von 3 Millionen Dollar zu qualifizieren", + "complete": "Abgeschlossen | Abschließen", + "currently": "Momentan", + "dated": "Datiert", + "depositVolumeBridges": { + "descriptionTask": "Einzahlung & Abhebung über Brücken, bitget, 1x, gateio", + "titleProgress": "Einzahlungsvolumen", + "titleTask": "Einzahlung & Abhebung" + }, + "firstSoraNetworkTransaction": "Ihre erste SORA-Netzwerk-Transaktion", + "firstTxAccount": { + "descriptionTask": "Schließen Sie Ihre erste XOR-Transaktion ab und erhalten Sie die Belohnung", + "titleProgress": "Erste Transaktion", + "titleTask": "Machen Sie Ihre erste Transaktion" + }, + "governanceLockedXOR": { + "descriptionTask": "Sperren Sie XOR, indem Sie an Governance-Abstimmungsveranstaltungen teilnehmen", + "titleProgress": "Führung", + "titleTask": "Sperren Sie XOR bei Governance-Abstimmungen" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Tilgen Sie KUSD-Schulden während Liquidationen oder beim Schließen von Positionen", + "titleProgress": "Kensetsu-Volumen", + "titleTask": "KUSD-Schulden tilgen" + }, + "KUSDHoldings": { + "descriptionTask": "Halten Sie Ihre aktuellen KUSD-Bestände", + "titleProgress": "KUSD Halten", + "titleTask": "Halten KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Liquidität über mehrere Pools bereitstellen", + "titleProgress": "Liquiditätsbereitstellung", + "titleTask": "Liquidität bereitstellen" + }, + "lvl": "Stufe", + "maxLvl": "Du hast das maximale Level erreicht", + "nativeXorStaking": { + "descriptionTask": "Stake XOR und verdiene VAL-Belohnungen", + "titleProgress": "XOR Staking", + "titleTask": "Stake XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Gib XOR für Netzwerkgebühren in mehreren On-Chain-Transaktionen aus", + "titleProgress": "Netzwerkgebühren", + "titleTask": "Gib XOR für Netzwerkgebühren aus" + }, + "nextLvl": "Nächstes Level", + "orderbookVolume": { + "descriptionTask": "Erstelle Limit-Aufträge im Orderbuch", + "titleProgress": "Orderbuch", + "titleTask": "Limit-Aufträge erstellen" + }, + "progress": "Fortschritt", + "referralRewards": { + "descriptionTask": "Verweise Konten über das Empfehlungsprogramm", + "titleProgress": "Empfehlungsprogramm", + "titleTask": "Verweise Konten" + }, + "relatedTasks": "Schließe {title}-bezogene Aufgaben ab, um deine Fähigkeiten zu verbessern", + "rewardNextLvl": "Belohnung für das nächste Level", + "soraCard": "Jetzt bewerben", + "VXORHoldings": { + "descriptionTask": "Halten Sie Ihre aktuellen VXOR-Bestände", + "titleProgress": "VXOR-Bestände", + "titleTask": "Halten VXOR" + }, + "XORBurned": { + "descriptionTask": "XOR verbrennen und in $-Wert umwandeln", + "titleProgress": "XOR verbrannt", + "titleTask": "XOR brennen" + }, + "XORHoldings": { + "descriptionTask": "Halten Sie Ihre aktuellen XOR-Bestände", + "titleProgress": "XOR Halten", + "titleTask": "Halten XOR" + }, + "yourLevel": "Ihr Niveau", + "yourTasks": "Ihre Aufgaben" }, "addAssetsText": "Asset hinzufügen | Assets hinzufügen", "noir": "Noir", @@ -1545,5 +1648,71 @@ "firstText": "Zuerst", "lastText": "Letzte", "prevText": "Vorherige", - "priceText": "Preis" + "priceText": "Preis", + "assetOwner": { + "accountWithAccess": "Konto mit SBT-Zugang", + "addRegulatedAsset": "Einen weiteren regulierten Vermögenswert hinzufügen", + "addRegulatedAssets": "Regulierte Vermögenswerte hinzufügen", + "attachedRegulatedAssets": "Pfandpflichtige Vermögenswerte", + "createRegulatedAsset": "Neuen regulierten Vermögenswert schaffen", + "createSbt": "Erstellen Sie {type}", + "dialog": { + "addExisting": "Vorhandenes Asset hinzufügen", + "addExistingDesc": "Fügen Sie ein bereits erstelltes Asset für das SBT hinzu", + "createAsset": "Neues Asset erstellen", + "createAssetDesc": "Richten Sie ein neues Asset mit Berechtigungen für {type} ein.", + "enterAddress": "Geben Sie die Adresse für die Ausstellung ein", + "issueAccess": "Zugriff erteilen", + "pickDate": "Wählen Sie einen Tag", + "selectAccessEnd": "Wählen Sie aus, wann der Zugriff endet", + "selectDate": "Datum wählen" + }, + "guide": { + "createToken": "Erstellen Sie Ihr Token", + "createTokenDesc": "Starten Sie ganz einfach Ihren einzigartigen Token – verfügbar in mehreren Formaten wie NFTs und SBTs – mithilfe der robusten, sicheren Infrastruktur des SORA-Netzwerks", + "disclaimerSbt": "Lassen Sie diese Seite während des gesamten Vorgangs geöffnet. Wenn Sie sie schließen oder wegnavigieren, müssen Sie von vorne beginnen. Führen Sie die Schritte schnell aus, um ein Timeout zu vermeiden.", + "stepOneDesc": "Wählen oder erstellen Sie Vermögenswerte, die Sie persönlich erstellt und verwaltet haben. Dies sind Vermögenswerte, die unter Ihrer Kontrolle und Verwaltung stehen.", + "stepOneTitle": "Regulierte Vermögenswerte auswählen oder erstellen", + "stepThreeDesc": "Überprüfen und unterzeichnen Sie die endgültige Erstellungstransaktion, um die SBT-Einrichtung abzuschließen.", + "stepThreeTitle": "Überprüfen und unterzeichnen Sie die Transaktion", + "stepTwoDesc": "Geben Sie wichtige Informationen wie den Namen und das Tickersymbol der SBT sowie das Symbol an.", + "stepTwoTitle": "Geben Sie SBT-Details ein", + "title": "So erstellen Sie einen {type} :" + }, + "issueSbtAccess": "{type} -Zugriff erteilen", + "letsStartBtn": "LOS GEHT‘S", + "orSelectExisting": "Oder wählen Sie vorhandene", + "ownerSbtTitle": "Ihr {type}", + "permissionedAssets": "Erlaubte Assets", + "regulatedAssetsConnected": "Regulierte Vermögenswerte verbunden", + "regulatedPools": "Regulierte Schwimmbäder", + "sbtCreation": { + "addAssets": "Assets zu SBT hinzufügen", + "addDescription": "Geben Sie SBT-Details ein", + "addMeta": "Geben Sie SBT-Details ein", + "preview": "SBT-Vorschau" + }, + "sbtManagers": "{type} Manager", + "selectExisting": "Vorhandene auswählen", + "startIssue": "Beginnen Sie mit der Erteilung des SBT-Zugriffs auf Konten", + "you": "Du" + }, + "sbtDetails": { + "accessPermitted": "Zugriff erlaubt", + "description": "Dieses SBT bietet Zugriff auf mehrere Token und Pools und ist an Ihr Konto angehängt", + "expiresIn": "Läuft ab in", + "expiresInTooltip": "Das „Läuft ab in“ zeigt den Zeitraum oder den Zeitpunkt an, zu dem der Zugriff erfolgt", + "expiryDate": "Verfallsdatum", + "expiryDateTooltip": "Das „Ablaufdatum“ ist die Frist für Ihren Zugriff auf regulierte Vermögenswerte von SBT", + "indefiniteExp": "offenes Ende", + "issuedBy": "{SBT} herausgegeben von", + "kycProvider": "{KYC} -Anbieter", + "kycVerification": "{KYC} -Verifizierung", + "listOperable": "Regulierte Vermögenswerte betriebsbereit", + "noPermissions": "Keine zusätzlichen Berechtigungen", + "noReceiverAccess": "Sie versuchen, regulierte Token an den Benutzer ohne SBT-Zugriff zu senden", + "permission": "Erlaubnis", + "permissions": "Berechtigungen", + "regulatedInsitution": "Regulierte Institution" + } } \ No newline at end of file diff --git a/src/lang/en.json b/src/lang/en.json index b37861527..fe38d8a77 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -115,6 +115,54 @@ "select": "Select an asset" }, "assetDeposit": "Asset balance has been deposited", + "assetOwner": { + "accountWithAccess": "Account with SBT access", + "addRegulatedAsset": "Add another regulated asset", + "addRegulatedAssets": "Add regulated assets", + "attachedRegulatedAssets": "Attached regulated assets", + "createRegulatedAsset": "Create new regulated asset", + "createSbt": "Create {type}", + "dialog": { + "addExisting": "Add an existing asset", + "addExistingDesc": "Add an already created asset for the SBT", + "createAsset": "Create a new asset", + "createAssetDesc": "Set up a new permissioned asset for the {type}", + "enterAddress": "Enter address for issuance", + "issueAccess": "Issue access", + "pickDate": "Pick a day", + "selectAccessEnd": "Select when access will end", + "selectDate": "Select date" + }, + "guide": { + "createToken": "Create your token", + "createTokenDesc": "Easily launch your unique token—available in multiple formats like NFTs and SBTs—using the robust, secure infrastructure of the SORA Network", + "disclaimerSbt": "Keep this page open during the entire process. Closing or navigating away will require you to restart from the beginning. Complete steps quickly to avoid timeout.", + "stepOneDesc": "Choose or create assets that you have personally created and regulate. These are assets under your control and management.", + "stepOneTitle": "Select or Create Regulated Assets", + "stepThreeDesc": "Review and sign the final creation transaction to complete the SBT setup.", + "stepThreeTitle": "Review and sign the transaction", + "stepTwoDesc": "Provide essential information such as the SBT's name and ticker symbol, as well as the icon.", + "stepTwoTitle": "Enter SBT Details", + "title": "How to create an {type}:" + }, + "issueSbtAccess": "Issue {type} access", + "letsStartBtn": "LET’S START", + "orSelectExisting": "Or select existing", + "ownerSbtTitle": "Your {type}", + "permissionedAssets": "Permissioned assets", + "regulatedAssetsConnected": "Regulated assets connected", + "regulatedPools": "Regulated pools", + "sbtCreation": { + "addAssets": "Add Assets to SBT", + "addDescription": "Enter SBT Details", + "addMeta": "Enter SBT Details", + "preview": "SBT Preview" + }, + "sbtManagers": "{type} Managers", + "selectExisting": "Select existing", + "startIssue": "Start issuing access for the SBT to accounts", + "you": "You" + }, "assets": { "assetId": "Asset ID", "balance": { @@ -824,6 +872,7 @@ "operations": { "AddLiquidity": "Add Liquidity", "andText": "and", + "BindRegulatedAsset": "Bind Regulated Asset", "BorrowVaultDebt": "Borrow Debt", "Burn": "Burn", "ClaimRewards": "Claim Rewards", @@ -838,6 +887,7 @@ "DepositCollateral": "Deposit Position", "error": { "AddLiquidity": "Failed to supply {amount} {symbol} and {amount2} {symbol2}", + "BindRegulatedAsset": "Failed To Bind Asset {symbol} to SBT {symbol2}", "BorrowVaultDebt": "Failed to borrow {amount} {symbol}", "Burn": "Failed to burn {amount} {symbol}", "ClaimRewards": "Failed to claim rewards {rewards}", @@ -852,6 +902,7 @@ "DepositCollateral": "Failed to deposit {amount} {symbol}", "EthBridgeIncoming": "Failed to transfer {amount} {symbol} from {Ethereum} to {Sora}", "EthBridgeOutgoing": "Failed to transfer {amount} {symbol} from {Sora} to {Ethereum}", + "IssueSoulBoundToken": "Failed to issue Soulbound token {symbol}", "Mint": "Failed to mint {amount} {symbol} to {address}", "OrderBookCancelLimitOrder": "Failed to cancel limit order", "OrderBookCancelLimitOrders": "Failed to cancel limit orders", @@ -859,9 +910,12 @@ "ReferralReserveXor": "Failed to bond {amount} XOR", "ReferralSetInvitedUser": "Failed to set {role} {address}", "ReferralUnreserveXor": "Failed to unbond {amount} XOR", + "RegisterAndRegulateAsset": "Failed To Register And Regulate {symbol}", "RegisterAsset": "Failed to register {symbol} asset", + "RegulateAsset": "Failed To Regulate Asset {symbol}", "RemoveLiquidity": "Failed to remove {amount} {symbol} and {amount2} {symbol2}", "RepayVaultDebt": "Failed to repaid {amount} {symbol}", + "SetAccessExpiration": "Failed to update expiration to {to} for {symbol}", "StakingBond": "Failed to bond {amount} {symbol}", "StakingBondAndNominate": "Failed to bond {amount} {symbol}", "StakingBondExtra": "Failed to bond extra {amount} {symbol}", @@ -876,12 +930,15 @@ "Swap": "Failed to swap {amount} {symbol} for {amount2} {symbol2}", "SwapAndSend": "Failed to swap {amount} {symbol} for {amount2} {symbol2} and {action} {direction} {address}", "SwapTransferBatch": "Failed to {action} {amount} {symbol}", - "Transfer": "Failed to {action} {amount} {symbol} {direction} {address}" + "Transfer": "Failed to {action} {amount} {symbol} {direction} {address}", + "VestedTransfer": "Failed to {action} {amount} {symbol} {direction} {address}", + "XorlessTransfer": "Failed to send {amount} {symbol} to {address}" }, "EthBridgeIncoming": "@:hashiBridgeText", "EthBridgeOutgoing": "@:hashiBridgeText", "finalized": { "AddLiquidity": "Supplied {amount} {symbol} and {amount2} {symbol2}", + "BindRegulatedAsset": "Bind Asset {symbol2} to SBT", "BorrowVaultDebt": "Borrowed {amount} {symbol}", "Burn": "Burned {amount} {symbol}", "ClaimRewards": "Reward claimed successfully {rewards}", @@ -896,6 +953,7 @@ "DepositCollateral": "Deposited {amount} {symbol}", "EthBridgeIncoming": "Transfered {amount} {symbol} from {Ethereum} to {Sora}", "EthBridgeOutgoing": "Transfered {amount} {symbol} from {Sora} to {Ethereum}", + "IssueSoulBoundToken": "Issue Soulbound Token {symbol}", "Mint": "Minted {amount} {symbol} to {address}", "OrderBookCancelLimitOrder": "Limit order cancelled", "OrderBookCancelLimitOrders": "Limit orders cancelled", @@ -903,9 +961,12 @@ "ReferralReserveXor": "Bonded {amount} XOR", "ReferralSetInvitedUser": "{role} {address} is set successfully", "ReferralUnreserveXor": "Unbonded {amount} XOR", + "RegisterAndRegulateAsset": "Register And Regulate {symbol} asset", "RegisterAsset": "Registered {symbol} asset", + "RegulateAsset": "Regulate Asset {symbol}", "RemoveLiquidity": "Removed {amount} {symbol} and {amount2} {symbol2}", "RepayVaultDebt": "Repaid {amount} {symbol}", + "SetAccessExpiration": "SB token {symbol} Updated expiration to {endTime}", "StakingBond": "Bonded {amount} {symbol}", "StakingBondAndNominate": "Bonded {amount} {symbol}", "StakingBondExtra": "Bonded extra {amount} {symbol}", @@ -920,8 +981,11 @@ "Swap": "Swapped {amount} {symbol} for {amount2} {symbol2}", "SwapAndSend": "Swapped {amount} {symbol} for {amount2} {symbol2} and {action} {direction} {address}", "SwapTransferBatch": "{action} {amount} {symbol}", - "Transfer": "{action} {amount} {symbol} {direction} {address}" + "Transfer": "{action} {amount} {symbol} {direction} {address}", + "VestedTransfer": "{action} {amount} {symbol} {direction} {address}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, + "IssueSoulBoundToken": "Issue SBT", "Mint": "Mint", "OrderBookCancelLimitOrder": "Cancel Order", "OrderBookCancelLimitOrders": "Cancel Orders", @@ -929,9 +993,12 @@ "ReferralReserveXor": "Bond XOR", "ReferralSetInvitedUser": "Set {role}", "ReferralUnreserveXor": "Unbond XOR", + "RegisterAndRegulateAsset": "Register Asset", "RegisterAsset": "Register Asset", + "RegulateAsset": "Regulate Asset", "RemoveLiquidity": "Remove Liquidity", "RepayVaultDebt": "Repay Debt", + "SetAccessExpiration": "Set SBT Expiration", "StakingBond": "Bond", "StakingBondAndNominate": "Bond and Nominate", "StakingBondExtra": "Bond Extra", @@ -946,7 +1013,9 @@ "Swap": "Swap", "SwapAndSend": "Swap and Send", "SwapTransferBatch": "{ADAR} transfer", - "Transfer": "Transfer" + "Transfer": "Transfer", + "VestedTransfer": "Transfer", + "XorlessTransfer": "Transfer" }, "orderBook": { "amount": "amount", @@ -1097,15 +1166,94 @@ "pairIsNotCreated": "Token pair isn't created", "points": { "accountsText": "{amount} accounts", + "airdrop": "Complete SORA Ecosystem-related tasks in order to qualify for a $3m AIRDROP", "bridgeVolume": "Bridge volume", + "complete": "Completed | Complete", + "currently": "Currently", + "dated": "Dated", + "depositVolumeBridges": { + "descriptionTask": "Deposit & withdraw via Bridges, bitget, 1x, gateio", + "titleProgress": "Deposit volume", + "titleTask": "Deposit & Withdraw" + }, "feesSpent": "Fees spent", + "firstSoraNetworkTransaction": "Your first SORA Network Transaction", + "firstTxAccount": { + "descriptionTask": "Complete your first XOR transaction ever and receive the reward", + "titleProgress": "First Trx", + "titleTask": "Do your first transaction" + }, + "governanceLockedXOR": { + "descriptionTask": "Lock XOR by participating in governance voting events", + "titleProgress": "Governance", + "titleTask": "Lock XOR in Governance Voting" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Repay KUSD debt during liquidations or closing positions", + "titleProgress": "Kensetsu volume", + "titleTask": "Repay KUSD Debt" + }, + "KUSDHoldings": { + "descriptionTask": "Hold your current KUSD holdings", + "titleProgress": "KUSD Hold", + "titleTask": "Hold KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Provide liquidity across pools", + "titleProgress": "Liquidity provision", + "titleTask": "Provide Liquidity" + }, "loginText": "Connect your account to see your points", + "lvl": "Lvl", + "maxLvl": "You reached max lvl", + "nativeXorStaking": { + "descriptionTask": "Stake XOR and earn VAL rewards", + "titleProgress": "XOR Staking", + "titleTask": "Stake XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Spend XOR in network fees across multiple on-chain transactions", + "titleProgress": "Network fees", + "titleTask": "Spend XOR on Network Fees" + }, + "nextLvl": "Next lvl", "openTelegram": "Open {Telegram}", + "orderbookVolume": { + "descriptionTask": "Create limit orders in the orderbook", + "titleProgress": "Orderbook", + "titleTask": "Create Limit Orders" + }, + "progress": "Progress", + "referralRewards": { + "descriptionTask": "Refer accounts through the referral system", + "titleProgress": "Referral Sytem", + "titleTask": "Refer accounts" + }, + "relatedTasks": "Complete {title}-related tasks in order to level up your skill", + "rewardNextLvl": "Next level reward", + "soraCard": "Apply now", "title": "Your Points Progress", "toEarnPoints": "To earn points", + "VXORHoldings": { + "descriptionTask": "Hold your current VXOR holdings", + "titleProgress": "VXOR holdings", + "titleTask": "Hold VXOR" + }, "xorBurned": "{XOR} burned", + "XORBurned": { + "descriptionTask": "Burn XOR and convert to $ value", + "titleProgress": "XOR Burned", + "titleTask": "Burn XOR" + }, + "XORHoldings": { + "descriptionTask": "Hold your current XOR holdings", + "titleProgress": "XOR Hold", + "titleTask": "Hold XOR" + }, + "yourLevel": "Your level", "yourReferrals": "Your referrals", - "yourRewards": "Your rewards" + "yourRewards": "Your rewards", + "yourTasks": "Your Tasks" }, "polkadotjs": { "connectionError": "An error occured while connecting the wallet. You can try to connect the wallet via {extension} again", @@ -1260,6 +1408,24 @@ "title": "Turn your device upside down to hide balances" }, "saveText": "Save", + "sbtDetails": { + "accessPermitted": "Access permitted", + "description": "This SBT provides access to multiple tokens & pools and is attached to your account", + "expiresIn": "Expires in", + "expiresInTooltip": "The 'Expires in' shows period or point of time the access is acquired", + "expiryDate": "Expiry date", + "expiryDateTooltip": "The 'Expiry Date' is the deadline for your access to regulated assets of SBT", + "indefiniteExp": "open-ended", + "issuedBy": "{SBT} issued by", + "kycProvider": "{KYC} Provider", + "kycVerification": "{KYC} Verification", + "listOperable": "Regulated assets operable", + "noPermissions": "No additional permissions", + "noReceiverAccess": "You're trying to send regulated token to the user with no SBT access", + "permission": "permission", + "permissions": "permissions", + "regulatedInsitution": "Regulated Institution" + }, "searchText": "Search", "selectLanguageDialog": { "title": "Language" @@ -1538,12 +1704,15 @@ "badAddress": "Incorrect address", "balance": "Balance", "confirmTitle": "Confirm transaction", + "enableVesting": "Enable token vesting", "enterAddress": "Enter address", "enterAmount": "Enter amount", + "enterVestingPercentage": "Enter vesting percentage", "errorAddress": "Invalid address. Please check it and try again.", "max": "MAX", "title": "Send", - "tooltip": "Send tokens between {Sora} network accounts" + "tooltip": "Send tokens between {Sora} network accounts", + "vestingPercentage": "Vesting percentage" }, "warningText": "Warning" } \ No newline at end of file diff --git a/src/lang/es.json b/src/lang/es.json index bfb7171e3..f954d85e5 100644 --- a/src/lang/es.json +++ b/src/lang/es.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Posición cerrada", "DepositCollateral": "Depositar {amount} {symbol}", "RepayVaultDebt": "Reembolsado {amount} {symbol}", - "BorrowVaultDebt": "Deuda prestada {amount} {symbol}" + "BorrowVaultDebt": "Deuda prestada {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Vincular el activo {symbol2} a SBT", + "IssueSoulBoundToken": "Emitir token de alma atada {symbol}", + "RegisterAndRegulateAsset": "Registrar y regular el activo {symbol}", + "RegulateAsset": "Regular Activo {symbol}", + "SetAccessExpiration": "Se actualizó el vencimiento del token SB {symbol} a {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Fallo en {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "No se pudo cerrar la posición {symbol}\/{symbol2}", "DepositCollateral": "Error al depositar {amount} {symbol}", "RepayVaultDebt": "Error al reembolsar {amount} {symbol}", - "BorrowVaultDebt": "Error al tomar prestada {amount} {symbol}" + "BorrowVaultDebt": "Error al tomar prestada {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "No se pudo vincular el activo {symbol} a SBT {symbol2}", + "IssueSoulBoundToken": "No se pudo emitir el token de Soulbound {symbol}", + "RegisterAndRegulateAsset": "No se pudo registrar ni regular {symbol}", + "RegulateAsset": "No se logró regular el activo {symbol}", + "SetAccessExpiration": "No se pudo actualizar la fecha de vencimiento a {to} para {symbol}", + "XorlessTransfer": "No se pudo enviar {amount} {symbol} a {address}" }, "ReferralReserveXor": "Vincular XOR", "ReferralUnreserveXor": "Desvincular XOR", @@ -145,7 +159,14 @@ "CloseVault": "Cerrar posición", "DepositCollateral": "Depositar garantía", "RepayVaultDebt": "Reembolsar deuda", - "BorrowVaultDebt": "Tomar prestada deuda" + "BorrowVaultDebt": "Tomar prestada deuda", + "VestedTransfer": "", + "BindRegulatedAsset": "Vincular activos regulados", + "IssueSoulBoundToken": "Emisión SBT", + "RegisterAndRegulateAsset": "Registrar activo", + "RegulateAsset": "Regular los activos", + "SetAccessExpiration": "Establecer vencimiento de SBT", + "XorlessTransfer": "Transferir" }, "polkadotjs": { "noExtensions": "No se encontró la extensión {PolkadotJs}. Por favor instálela y vuelva a cargar esta página.\n https:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Dirección no válida. Por favor compruébela e inténtelo de nuevo.", "tooltip": "Enviar tokens entre cuentas de la red {Sora}", "addressWarning": "Los tokens se enviarán a la dirección de {Sora} a continuación. Asegúrese de que el destinatario pueda acceder a la cadena {Sora} para usar los tokens:", - "addressError": "No puede enviar tokens a la misma cuenta a la que está conectado actualmente." + "addressError": "No puede enviar tokens a la misma cuenta a la que está conectado actualmente.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Copiar dirección", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} cuentas", "yourRewards": "Tus recompensas", "openTelegram": "Abrir {Telegram}", - "toEarnPoints": "Para ganar puntos" + "toEarnPoints": "Para ganar puntos", + "airdrop": "Completa tareas relacionadas con el ecosistema SORA para calificar para un airdrop de $3 millones", + "complete": "Completado | Completar", + "currently": "Actualmente", + "dated": "Anticuado", + "depositVolumeBridges": { + "descriptionTask": "Depósito y retiro a través de Puentes, bitget, 1x, gateio", + "titleProgress": "Volumen de depósito", + "titleTask": "Depósito y Retiro" + }, + "firstSoraNetworkTransaction": "Tu primera transacción en la red SORA", + "firstTxAccount": { + "descriptionTask": "Completa tu primera transacción de XOR y recibe la recompensa", + "titleProgress": "Primera transacción", + "titleTask": "Haz tu primera transacción" + }, + "governanceLockedXOR": { + "descriptionTask": "Bloquea XOR participando en eventos de votación de gobernanza", + "titleProgress": "Gobernanza", + "titleTask": "Bloquea XOR en la votación de gobernanza" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Reembolsa la deuda de KUSD durante liquidaciones o cierre de posiciones", + "titleProgress": "Volumen Kensetsu", + "titleTask": "Reembolsar deuda de KUSD" + }, + "KUSDHoldings": { + "descriptionTask": "Mantén tus actuales tenencias de KUSD", + "titleProgress": "Retención KUSD", + "titleTask": "Mantener KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Proporcionar liquidez en múltiples pools", + "titleProgress": "Provisión de liquidez", + "titleTask": "Proporcionar liquidez" + }, + "lvl": "Nivel", + "maxLvl": "Has alcanzado el nivel máximo", + "nativeXorStaking": { + "descriptionTask": "Haz stake de XOR y gana recompensas VAL", + "titleProgress": "Staking de XOR", + "titleTask": "Haz stake de XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Gasta XOR en tarifas de red en múltiples transacciones on-chain", + "titleProgress": "Tarifas de red", + "titleTask": "Gasta XOR en tarifas de red" + }, + "nextLvl": "Siguiente nivel", + "orderbookVolume": { + "descriptionTask": "Crea órdenes limitadas en el libro de órdenes", + "titleProgress": "Cartera de pedidos", + "titleTask": "Crear órdenes limitadas" + }, + "progress": "Progreso", + "referralRewards": { + "descriptionTask": "Recomienda cuentas a través del sistema de referidos", + "titleProgress": "Sistema de referidos", + "titleTask": "Recomendar cuentas" + }, + "relatedTasks": "Completa tareas relacionadas con {title} para mejorar tu habilidad", + "rewardNextLvl": "Recompensa del siguiente nivel", + "soraCard": "Aplicar ahora", + "VXORHoldings": { + "descriptionTask": "Mantén tus actuales tenencias de VXOR", + "titleProgress": "Tenencias de VXOR", + "titleTask": "Mantener VXOR" + }, + "XORBurned": { + "descriptionTask": "Quema XOR y conviértelo en valor $", + "titleProgress": "XOR quemado", + "titleTask": "Grabar XOR" + }, + "XORHoldings": { + "descriptionTask": "Mantén tus actuales tenencias de XOR", + "titleProgress": "Retención XOR", + "titleTask": "Mantener XOR" + }, + "yourLevel": "Tu nivel", + "yourTasks": "Tus tareas" }, "addAssetsText": "Añadir activo | Añadir activos", "noir": "Noir", @@ -1545,5 +1648,71 @@ "firstText": "Primero", "lastText": "Ultimo", "prevText": "Anterior", - "priceText": "Precio" + "priceText": "Precio", + "assetOwner": { + "accountWithAccess": "Cuenta con acceso SBT", + "addRegulatedAsset": "Añadir otro activo regulado", + "addRegulatedAssets": "Añadir activos regulados", + "attachedRegulatedAssets": "Activos regulados embargados", + "createRegulatedAsset": "Crear nuevo activo regulado", + "createSbt": "Crear {type}", + "dialog": { + "addExisting": "Agregar un activo existente", + "addExistingDesc": "Agregar un activo ya creado para el SBT", + "createAsset": "Crear un nuevo activo", + "createAssetDesc": "Configurar un nuevo activo con permiso para {type}", + "enterAddress": "Introduzca la dirección para la emisión", + "issueAccess": "Acceso a problemas", + "pickDate": "Elige un día", + "selectAccessEnd": "Seleccione cuándo finalizará el acceso", + "selectDate": "Seleccionar fecha" + }, + "guide": { + "createToken": "Crea tu token", + "createTokenDesc": "Lance fácilmente su token único, disponible en múltiples formatos como NFT y SBT, utilizando la infraestructura sólida y segura de la red SORA", + "disclaimerSbt": "Mantenga esta página abierta durante todo el proceso. Si la cierra o abandona la página, deberá reiniciarla desde el principio. Complete los pasos rápidamente para evitar que se agote el tiempo de espera.", + "stepOneDesc": "Elige o crea activos que hayas creado y regulado personalmente. Se trata de activos que están bajo tu control y gestión.", + "stepOneTitle": "Seleccionar o crear activos regulados", + "stepThreeDesc": "Revise y firme la transacción de creación final para completar la configuración de SBT.", + "stepThreeTitle": "Revisar y firmar la transacción", + "stepTwoDesc": "Proporcione información esencial como el nombre y el símbolo bursátil del SBT, así como el ícono.", + "stepTwoTitle": "Introduzca los detalles del SBT", + "title": "Cómo crear un {type} :" + }, + "issueSbtAccess": "Emitir {type} acceso", + "letsStartBtn": "Empecemos", + "orSelectExisting": "O seleccione existente", + "ownerSbtTitle": "Tu {type}", + "permissionedAssets": "Activos autorizados", + "regulatedAssetsConnected": "Activos regulados conectados", + "regulatedPools": "Piscinas reguladas", + "sbtCreation": { + "addAssets": "Agregar activos a SBT", + "addDescription": "Introduzca los detalles del SBT", + "addMeta": "Introduzca los detalles del SBT", + "preview": "Vista previa de SBT" + }, + "sbtManagers": "{type} Gerentes", + "selectExisting": "Seleccionar existente", + "startIssue": "Comienza a otorgarse acceso a las cuentas para el SBT", + "you": "Tú" + }, + "sbtDetails": { + "accessPermitted": "Acceso permitido", + "description": "Este SBT proporciona acceso a múltiples tokens y grupos y está vinculado a su cuenta.", + "expiresIn": "Caduca en", + "expiresInTooltip": "'Caduca en' muestra el período o punto en el tiempo en que se adquiere el acceso.", + "expiryDate": "Fecha de caducidad", + "expiryDateTooltip": "La 'Fecha de vencimiento' es la fecha límite para su acceso a los activos regulados de SBT", + "indefiniteExp": "abierto", + "issuedBy": "{SBT} emitido por", + "kycProvider": "Proveedor {KYC}", + "kycVerification": "Verificación {KYC}", + "listOperable": "Activos regulados operables", + "noPermissions": "Sin permisos adicionales", + "noReceiverAccess": "Estás intentando enviar un token regulado al usuario que no tiene acceso a SBT", + "permission": "permiso", + "permissions": "permisos", + "regulatedInsitution": "Institución regulada" + } } \ No newline at end of file diff --git a/src/lang/fr.json b/src/lang/fr.json index b14fe53e5..3358e4cdd 100644 --- a/src/lang/fr.json +++ b/src/lang/fr.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Position fermée", "DepositCollateral": "Dépôt de {amount} {symbol}", "RepayVaultDebt": "Dette remboursée {amount} {symbol}", - "BorrowVaultDebt": "Dette empruntée {amount} {symbol}" + "BorrowVaultDebt": "Dette empruntée {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Lier l'actif {symbol2} à SBT", + "IssueSoulBoundToken": "Émettre un jeton lié à l'âme {symbol}", + "RegisterAndRegulateAsset": "Enregistrer et réguler l'actif {symbol}", + "RegulateAsset": "Réglementer l'actif {symbol}", + "SetAccessExpiration": "Jeton SB {symbol} Expiration mise à jour à {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Échec de {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Échec de la fermeture de la position {symbol}\/{symbol2}", "DepositCollateral": "Impossible de déposer {amount} {symbol}", "RepayVaultDebt": "Impossible de rembourser {amount} {symbol}", - "BorrowVaultDebt": "Impossible d'emprunter {amount} {symbol}" + "BorrowVaultDebt": "Impossible d'emprunter {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Échec de la liaison de l'actif {symbol} au SBT {symbol2}", + "IssueSoulBoundToken": "Échec de l'émission du jeton Soulbound {symbol}", + "RegisterAndRegulateAsset": "Échec de l'enregistrement et de la réglementation {symbol}", + "RegulateAsset": "Échec de la régulation de l'actif {symbol}", + "SetAccessExpiration": "Échec de la mise à jour de l'expiration à {to} pour {symbol}", + "XorlessTransfer": "Échec de l'envoi {amount} {symbol} à {address}" }, "ReferralReserveXor": "Lier XOR", "ReferralUnreserveXor": "Délier XOR", @@ -145,7 +159,14 @@ "CloseVault": "Fermer la position", "DepositCollateral": "Déposer du collatéral", "RepayVaultDebt": "Rembourser la dette", - "BorrowVaultDebt": "Emprunter de la dette" + "BorrowVaultDebt": "Emprunter de la dette", + "VestedTransfer": "", + "BindRegulatedAsset": "Lier un actif réglementé", + "IssueSoulBoundToken": "Problème SBT", + "RegisterAndRegulateAsset": "Enregistrer un actif", + "RegulateAsset": "Réglementer les actifs", + "SetAccessExpiration": "Définir l'expiration du SBT", + "XorlessTransfer": "Transfert" }, "polkadotjs": { "noExtensions": "Aucune extension {PolkadotJs} n'a été trouvée. Veuillez l'installer et recharger cette page\n https:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Adresse invalide. Veuillez la vérifier et réessayer.", "tooltip": "Envoyer des jetons entre des comptes du réseau {Sora}", "addressWarning": "Les jetons seront envoyés à l'adresse {Sora} ci-dessous. Assurez-vous que le destinataire peut accéder à la chaîne {Sora} pour utiliser les jetons:", - "addressError": "Vous ne pouvez pas envoyer de jetons au même compte auquel vous êtes actuellement connecté." + "addressError": "Vous ne pouvez pas envoyer de jetons au même compte auquel vous êtes actuellement connecté.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Copier l'adresse", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} comptes", "yourRewards": "Vos récompenses", "openTelegram": "Ouvrir {Telegram}", - "toEarnPoints": "Pour gagner des points" + "toEarnPoints": "Pour gagner des points", + "airdrop": "Complétez des tâches liées à l'écosystème SORA pour être éligible à un airdrop de 3 millions de dollars", + "complete": "Terminé | Terminer", + "currently": "Actuellement", + "dated": "Daté", + "depositVolumeBridges": { + "descriptionTask": "Dépôt et retrait via Ponts, bitget, 1x, gateio", + "titleProgress": "Volume de dépôt", + "titleTask": "Dépôt et Retrait" + }, + "firstSoraNetworkTransaction": "Votre première transaction sur le réseau SORA", + "firstTxAccount": { + "descriptionTask": "Réalisez votre première transaction XOR et recevez la récompense", + "titleProgress": "Première transaction", + "titleTask": "Effectuez votre première transaction" + }, + "governanceLockedXOR": { + "descriptionTask": "Verrouillez XOR en participant aux événements de vote de gouvernance", + "titleProgress": "Gouvernance", + "titleTask": "Verrouillez XOR dans le vote de gouvernance" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Remboursez la dette en KUSD lors des liquidations ou de la fermeture de positions", + "titleProgress": "Volume Kensetsu", + "titleTask": "Rembourser la dette KUSD" + }, + "KUSDHoldings": { + "descriptionTask": "Conservez vos avoirs actuels en KUSD", + "titleProgress": "Détention KUSD", + "titleTask": "Détenir KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Fournir de la liquidité sur plusieurs pools", + "titleProgress": "Fourniture de liquidité", + "titleTask": "Fournir de la liquidité" + }, + "lvl": "Niveau", + "maxLvl": "Vous avez atteint le niveau maximum", + "nativeXorStaking": { + "descriptionTask": "Stakez du XOR et gagnez des récompenses en VAL", + "titleProgress": "Staking XOR", + "titleTask": "Stakez du XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Dépensez du XOR pour les frais de réseau sur plusieurs transactions on-chain", + "titleProgress": "Frais de réseau", + "titleTask": "Dépensez du XOR pour les frais de réseau" + }, + "nextLvl": "Niveau suivant", + "orderbookVolume": { + "descriptionTask": "Créez des ordres à cours limité dans le carnet d'ordres", + "titleProgress": "Carnet de commandes", + "titleTask": "Créer des ordres à cours limité" + }, + "progress": "Progrès", + "referralRewards": { + "descriptionTask": "Référez des comptes via le système de parrainage", + "titleProgress": "Système de parrainage", + "titleTask": "Référez des comptes" + }, + "relatedTasks": "Complétez des tâches liées à {title} pour améliorer vos compétences", + "rewardNextLvl": "Récompense du niveau suivant", + "soraCard": "Postulez maintenant", + "VXORHoldings": { + "descriptionTask": "Conservez vos avoirs actuels en VXOR", + "titleProgress": "Les avoirs de VXOR", + "titleTask": "Détenir VXOR" + }, + "XORBurned": { + "descriptionTask": "Brûlez XOR et convertissez en valeur $", + "titleProgress": "XOR brûlé", + "titleTask": "Graver XOR" + }, + "XORHoldings": { + "descriptionTask": "Conservez vos avoirs actuels en XOR", + "titleProgress": "Détention XOR", + "titleTask": "Détenir XOR" + }, + "yourLevel": "Votre niveau", + "yourTasks": "Vos tâches" }, "addAssetsText": "Ajouter un actif | Ajouter des actifs", "noir": "Noir", @@ -1545,5 +1648,71 @@ "firstText": "Première", "lastText": "Dernier", "prevText": "Précédent", - "priceText": "Prix" + "priceText": "Prix", + "assetOwner": { + "accountWithAccess": "Compte avec accès SBT", + "addRegulatedAsset": "Ajouter un autre actif réglementé", + "addRegulatedAssets": "Ajouter des actifs réglementés", + "attachedRegulatedAssets": "Actifs réglementés rattachés", + "createRegulatedAsset": "Créer un nouvel actif réglementé", + "createSbt": "Créer {type}", + "dialog": { + "addExisting": "Ajouter un actif existant", + "addExistingDesc": "Ajouter un actif déjà créé pour le SBT", + "createAsset": "Créer un nouvel actif", + "createAssetDesc": "Configurer un nouvel actif autorisé pour le {type}", + "enterAddress": "Entrez l'adresse pour l'émission", + "issueAccess": "Problème d'accès", + "pickDate": "Choisissez un jour", + "selectAccessEnd": "Sélectionnez quand l'accès prendra fin", + "selectDate": "Sélectionnez la date" + }, + "guide": { + "createToken": "Créez votre token", + "createTokenDesc": "Lancez facilement votre jeton unique, disponible dans plusieurs formats tels que les NFT et les SBT, en utilisant l'infrastructure robuste et sécurisée du réseau SORA", + "disclaimerSbt": "Gardez cette page ouverte pendant toute la durée du processus. La fermeture ou la navigation vous obligera à recommencer depuis le début. Effectuez les étapes rapidement pour éviter tout délai d'attente.", + "stepOneDesc": "Choisissez ou créez des actifs que vous avez personnellement créés et régulés. Il s'agit d'actifs sous votre contrôle et votre gestion.", + "stepOneTitle": "Sélectionner ou créer des actifs réglementés", + "stepThreeDesc": "Vérifiez et signez la transaction de création finale pour terminer la configuration SBT.", + "stepThreeTitle": "Examiner et signer la transaction", + "stepTwoDesc": "Fournissez des informations essentielles telles que le nom et le symbole boursier du SBT, ainsi que l'icône.", + "stepTwoTitle": "Entrez les détails SBT", + "title": "Comment créer un {type} :" + }, + "issueSbtAccess": "Problème d'accès {type}", + "letsStartBtn": "COMMENCEZ", + "orSelectExisting": "Ou sélectionnez existant", + "ownerSbtTitle": "Votre {type}", + "permissionedAssets": "Ressources autorisées", + "regulatedAssetsConnected": "Actifs réglementés liés", + "regulatedPools": "Piscines réglementées", + "sbtCreation": { + "addAssets": "Ajouter des actifs à SBT", + "addDescription": "Entrez les détails SBT", + "addMeta": "Entrez les détails SBT", + "preview": "Aperçu de SBT" + }, + "sbtManagers": "{type} Gestionnaires", + "selectExisting": "Sélectionner existant", + "startIssue": "Commencer à accorder l'accès au SBT aux comptes", + "you": "Toi" + }, + "sbtDetails": { + "accessPermitted": "Accès autorisé", + "description": "Ce SBT donne accès à plusieurs jetons et pools et est attaché à votre compte", + "expiresIn": "Expire dans", + "expiresInTooltip": "La mention « Expire dans » indique la période ou le moment où l'accès est acquis", + "expiryDate": "Date d'expiration", + "expiryDateTooltip": "La « date d'expiration » est la date limite pour votre accès aux actifs réglementés de SBT", + "indefiniteExp": "ouvert", + "issuedBy": "{SBT} émis par", + "kycProvider": "Fournisseur {KYC}", + "kycVerification": "Vérification {KYC}", + "listOperable": "Actifs réglementés exploitables", + "noPermissions": "Aucune autorisation supplémentaire", + "noReceiverAccess": "Vous essayez d'envoyer un jeton réglementé à l'utilisateur sans accès SBT", + "permission": "autorisation", + "permissions": "autorisations", + "regulatedInsitution": "Institution réglementée" + } } \ No newline at end of file diff --git a/src/lang/id.json b/src/lang/id.json index 78d4e8ca7..07f60a749 100644 --- a/src/lang/id.json +++ b/src/lang/id.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Posisi ditutup", "DepositCollateral": "Deposito {amount} {symbol}", "RepayVaultDebt": "Utang dibayar {amount} {symbol}", - "BorrowVaultDebt": "Utang dipinjam {amount} {symbol}" + "BorrowVaultDebt": "Utang dipinjam {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Ikat Aset {symbol2} ke SBT", + "IssueSoulBoundToken": "Masalah Token Soulbound {symbol}", + "RegisterAndRegulateAsset": "Daftarkan dan Atur aset {symbol}", + "RegulateAsset": "Mengatur Aset {symbol}", + "SetAccessExpiration": "Token SB {symbol} Diperbarui masa berlakunya menjadi {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Gagal {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Gagal menutup posisi {symbol}\/{symbol2}", "DepositCollateral": "Gagal melakukan deposit {amount} {symbol}", "RepayVaultDebt": "Gagal membayar {amount} {symbol} utang", - "BorrowVaultDebt": "Gagal meminjam {amount} {symbol} utang" + "BorrowVaultDebt": "Gagal meminjam {amount} {symbol} utang", + "VestedTransfer": "", + "BindRegulatedAsset": "Gagal Mengikat Aset {symbol} ke SBT {symbol2}", + "IssueSoulBoundToken": "Gagal mengeluarkan token Soulbound {symbol}", + "RegisterAndRegulateAsset": "Gagal Mendaftar dan Mengatur {symbol}", + "RegulateAsset": "Gagal Mengatur Aset {symbol}", + "SetAccessExpiration": "Gagal memperbarui tanggal kedaluwarsa ke {to} untuk {symbol}", + "XorlessTransfer": "Gagal mengirim {amount} {symbol} ke {address}" }, "ReferralReserveXor": "Ikatan XOR", "ReferralUnreserveXor": "Lepaskan ikatan XOR", @@ -145,7 +159,14 @@ "CloseVault": "Tutup Posisi", "DepositCollateral": "Deposit Kolateral", "RepayVaultDebt": "Bayar Utang", - "BorrowVaultDebt": "Pinjam Utang" + "BorrowVaultDebt": "Pinjam Utang", + "VestedTransfer": "", + "BindRegulatedAsset": "Mengikat Aset yang Diatur", + "IssueSoulBoundToken": "Masalah SBT", + "RegisterAndRegulateAsset": "Daftarkan Aset", + "RegulateAsset": "Mengatur Aset", + "SetAccessExpiration": "Tetapkan Kedaluwarsa SBT", + "XorlessTransfer": "Transfer" }, "polkadotjs": { "noExtensions": "Tidak ada ekstensi {PolkadotJs} yang ditemukan. Silakan instal dan muat ulang halaman ini\n https:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Alamat tidak valid. Silakan periksa dan coba lagi.", "tooltip": "Kirim token antar akun jaringan {Sora}", "addressWarning": "Token akan dikirim ke alamat {Sora} di bawah ini. Pastikan penerima dapat mengakses rantai {Sora} untuk menggunakan token:", - "addressError": "Anda tidak dapat mengirim token ke akun yang sama dengan yang saat ini terhubung dengan Anda." + "addressError": "Anda tidak dapat mengirim token ke akun yang sama dengan yang saat ini terhubung dengan Anda.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Salin alamat", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} akun", "yourRewards": "Hadiah Anda", "openTelegram": "Buka {Telegram}", - "toEarnPoints": "Untuk mendapatkan poin" + "toEarnPoints": "Untuk mendapatkan poin", + "airdrop": "Selesaikan tugas yang terkait dengan Ekosistem SORA untuk memenuhi syarat airdrop senilai $3 juta", + "complete": "Selesai | Selesaikan", + "currently": "Saat ini", + "dated": "Bertanggal", + "depositVolumeBridges": { + "descriptionTask": "Setor & tarik melalui Jembatan, bitget, 1x, gateio", + "titleProgress": "Volume setoran", + "titleTask": "Setor & Tarik" + }, + "firstSoraNetworkTransaction": "Transaksi Jaringan SORA pertama Anda", + "firstTxAccount": { + "descriptionTask": "Selesaikan transaksi XOR pertama Anda dan terima hadiah", + "titleProgress": "Transaksi pertama", + "titleTask": "Lakukan transaksi pertama Anda" + }, + "governanceLockedXOR": { + "descriptionTask": "Kunci XOR dengan berpartisipasi dalam acara pemungutan suara tata kelola", + "titleProgress": "Pemerintahan", + "titleTask": "Kunci XOR dalam Pemungutan Suara Tata Kelola" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Bayar kembali utang KUSD selama likuidasi atau penutupan posisi", + "titleProgress": "Volume Kensetsu", + "titleTask": "Bayar kembali utang KUSD" + }, + "KUSDHoldings": { + "descriptionTask": "Tahan kepemilikan KUSD Anda saat ini", + "titleProgress": "Kepemilikan KUSD", + "titleTask": "Tahan KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Sediakan likuiditas di berbagai pool", + "titleProgress": "Penyediaan Likuiditas", + "titleTask": "Sediakan Likuiditas" + }, + "lvl": "Tingkat", + "maxLvl": "Anda telah mencapai level maksimal", + "nativeXorStaking": { + "descriptionTask": "Stake XOR dan dapatkan hadiah VAL", + "titleProgress": "Staking XOR", + "titleTask": "Stake XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Gunakan XOR untuk biaya jaringan di berbagai transaksi on-chain", + "titleProgress": "Biaya jaringan", + "titleTask": "Gunakan XOR untuk biaya jaringan" + }, + "nextLvl": "Level berikutnya", + "orderbookVolume": { + "descriptionTask": "Buat pesanan batasan di buku pesanan", + "titleProgress": "Buku pesanan", + "titleTask": "Buat Pesanan Batasan" + }, + "progress": "Kemajuan", + "referralRewards": { + "descriptionTask": "Rujuk akun melalui sistem referensi", + "titleProgress": "Sistem Referensi", + "titleTask": "Rujuk akun" + }, + "relatedTasks": "Selesaikan tugas terkait {title} untuk meningkatkan keterampilan Anda", + "rewardNextLvl": "Hadiah level berikutnya", + "soraCard": "Daftar sekarang", + "VXORHoldings": { + "descriptionTask": "Tahan kepemilikan VXOR Anda saat ini", + "titleProgress": "kepemilikan VXOR", + "titleTask": "Tahan VXOR" + }, + "XORBurned": { + "descriptionTask": "Bakar XOR dan ubah ke nilai $", + "titleProgress": "XOR Terbakar", + "titleTask": "Bakar XOR" + }, + "XORHoldings": { + "descriptionTask": "Tahan kepemilikan XOR Anda saat ini", + "titleProgress": "Kepemilikan XOR", + "titleTask": "Tahan XOR" + }, + "yourLevel": "Level Anda", + "yourTasks": "Tugas Anda" }, "addAssetsText": "Tambah aset | Tambah aset-aset", "noir": "Noir", @@ -1545,5 +1648,71 @@ "firstText": "Pertama", "lastText": "Terakhir", "prevText": "Sebelumnya", - "priceText": "Harga" + "priceText": "Harga", + "assetOwner": { + "accountWithAccess": "Akun dengan akses SBT", + "addRegulatedAsset": "Tambahkan aset teregulasi lainnya", + "addRegulatedAssets": "Tambahkan aset yang diatur", + "attachedRegulatedAssets": "Aset teregulasi yang terlampir", + "createRegulatedAsset": "Buat aset teregulasi baru", + "createSbt": "Buat {type}", + "dialog": { + "addExisting": "Tambahkan aset yang ada", + "addExistingDesc": "Tambahkan aset yang sudah dibuat untuk SBT", + "createAsset": "Buat aset baru", + "createAssetDesc": "Siapkan aset baru yang diizinkan untuk {type}", + "enterAddress": "Masukkan alamat untuk penerbitan", + "issueAccess": "Masalah akses", + "pickDate": "Pilih satu hari", + "selectAccessEnd": "Pilih kapan akses akan berakhir", + "selectDate": "Pilih tanggal" + }, + "guide": { + "createToken": "Buat token Anda", + "createTokenDesc": "Luncurkan token unik Anda dengan mudah—tersedia dalam berbagai format seperti NFT dan SBT—menggunakan infrastruktur SORA Network yang kuat dan aman", + "disclaimerSbt": "Biarkan halaman ini terbuka selama seluruh proses. Menutup atau keluar akan mengharuskan Anda memulai ulang dari awal. Selesaikan langkah-langkah dengan cepat untuk menghindari waktu habis.", + "stepOneDesc": "Pilih atau ciptakan aset yang Anda ciptakan dan kelola sendiri. Aset ini berada di bawah kendali dan pengelolaan Anda.", + "stepOneTitle": "Pilih atau Buat Aset yang Diatur", + "stepThreeDesc": "Tinjau dan tandatangani transaksi pembuatan akhir untuk menyelesaikan pengaturan SBT.", + "stepThreeTitle": "Tinjau dan tandatangani transaksi", + "stepTwoDesc": "Berikan informasi penting seperti nama SBT dan simbol ticker, serta ikonnya.", + "stepTwoTitle": "Masukkan Rincian SBT", + "title": "Cara membuat {type} :" + }, + "issueSbtAccess": "Masalah {type} akses", + "letsStartBtn": "MARI KITA MULAI", + "orSelectExisting": "Atau pilih yang sudah ada", + "ownerSbtTitle": "{type} Anda", + "permissionedAssets": "Aset yang diizinkan", + "regulatedAssetsConnected": "Aset yang diatur terhubung", + "regulatedPools": "Kolam renang yang diatur", + "sbtCreation": { + "addAssets": "Tambahkan Aset ke SBT", + "addDescription": "Masukkan Rincian SBT", + "addMeta": "Masukkan Rincian SBT", + "preview": "Pratinjau SBT" + }, + "sbtManagers": "{type} Manajer", + "selectExisting": "Pilih yang sudah ada", + "startIssue": "Mulai mengeluarkan akses untuk SBT ke akun", + "you": "Anda" + }, + "sbtDetails": { + "accessPermitted": "Akses diizinkan", + "description": "SBT ini menyediakan akses ke beberapa token & pool dan dilampirkan ke akun Anda", + "expiresIn": "Kedaluwarsa dalam", + "expiresInTooltip": "'Kadaluarsa dalam' menunjukkan periode atau titik waktu akses diperoleh", + "expiryDate": "Tanggal kadaluarsa", + "expiryDateTooltip": "'Tanggal Kedaluwarsa' adalah batas waktu akses Anda ke aset teregulasi SBT", + "indefiniteExp": "terbuka", + "issuedBy": "{SBT} dikeluarkan oleh", + "kycProvider": "Penyedia {KYC}", + "kycVerification": "Verifikasi {KYC}", + "listOperable": "Aset yang diatur dapat dioperasikan", + "noPermissions": "Tidak ada izin tambahan", + "noReceiverAccess": "Anda mencoba mengirim token yang diatur ke pengguna tanpa akses SBT", + "permission": "izin", + "permissions": "izin", + "regulatedInsitution": "Lembaga yang Diatur" + } } \ No newline at end of file diff --git a/src/lang/it.json b/src/lang/it.json index ba51d71e0..6425a61c0 100644 --- a/src/lang/it.json +++ b/src/lang/it.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Posizione chiusa", "DepositCollateral": "Depositato {amount} {symbol}", "RepayVaultDebt": "Debito ripagato {amount} {symbol}", - "BorrowVaultDebt": "Debito preso in prestito {amount} {symbol}" + "BorrowVaultDebt": "Debito preso in prestito {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Associa Asset {symbol2} a SBT", + "IssueSoulBoundToken": "Emetti il token Anima Vincolata {symbol}", + "RegisterAndRegulateAsset": "Registra e regola {symbol} risorsa", + "RegulateAsset": "Regolamentare Asset {symbol}", + "SetAccessExpiration": "Token SB {symbol} Scadenza aggiornata a {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Impossibile {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Chiusura della posizione {symbol}\/{symbol2} fallita", "DepositCollateral": "Impossibile depositare {amount} {symbol}", "RepayVaultDebt": "Impossibile ripagare {amount} {symbol} di debito", - "BorrowVaultDebt": "Impossibile prendere in prestito {amount} {symbol} di debito" + "BorrowVaultDebt": "Impossibile prendere in prestito {amount} {symbol} di debito", + "VestedTransfer": "", + "BindRegulatedAsset": "Impossibile associare la risorsa {symbol} a SBT {symbol2}", + "IssueSoulBoundToken": "Impossibile emettere il token Soulbound {symbol}", + "RegisterAndRegulateAsset": "Impossibile registrare e regolare {symbol}", + "RegulateAsset": "Impossibile regolare l'asset {symbol}", + "SetAccessExpiration": "Impossibile aggiornare la scadenza a {to} per {symbol}", + "XorlessTransfer": "Impossibile inviare {amount} {symbol} a {address}" }, "ReferralReserveXor": "Legame XOR", "ReferralUnreserveXor": "Svincola XOR", @@ -145,7 +159,14 @@ "CloseVault": "Chiudi posizione", "DepositCollateral": "Deposita Collaterale", "RepayVaultDebt": "Ripaga Debito Vault", - "BorrowVaultDebt": "Prendi in Prestito Debito Vault" + "BorrowVaultDebt": "Prendi in Prestito Debito Vault", + "VestedTransfer": "", + "BindRegulatedAsset": "Vincola asset regolamentato", + "IssueSoulBoundToken": "Problema SBT", + "RegisterAndRegulateAsset": "Registra risorsa", + "RegulateAsset": "Regolamentare le risorse", + "SetAccessExpiration": "Imposta scadenza SBT", + "XorlessTransfer": "Trasferire" }, "polkadotjs": { "noExtensions": "Nessuna estensione {PolkadotJs} trovata. Si prega di installarla e ricaricare questa pagina\nhttps:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Indirizzo non valido. Si prega di controllare e riprovare.", "tooltip": "Invia token tra account di rete {Sora}", "addressWarning": "I token verranno inviati all'indirizzo {Sora} riportato di seguito. Assicurati che il destinatario possa accedere alla catena {Sora} per utilizzare i token:", - "addressError": "Non puoi inviare token allo stesso account a cui sei attualmente connesso." + "addressError": "Non puoi inviare token allo stesso account a cui sei attualmente connesso.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Copia indirizzo", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} account", "yourRewards": "Le tue ricompense", "openTelegram": "Apri {Telegram}", - "toEarnPoints": "Per guadagnare punti" + "toEarnPoints": "Per guadagnare punti", + "airdrop": "Completa le attività relative all'ecosistema SORA per qualificarti per un airdrop da 3 milioni di dollari", + "complete": "Completato | Completa", + "currently": "Attualmente", + "dated": "Datato", + "depositVolumeBridges": { + "descriptionTask": "Deposito e prelievo tramite Ponti, bitget, 1x, gateio", + "titleProgress": "Volume dei depositi", + "titleTask": "Deposito e Prelievo" + }, + "firstSoraNetworkTransaction": "La tua prima transazione sulla rete SORA", + "firstTxAccount": { + "descriptionTask": "Completa la tua prima transazione XOR e ricevi la ricompensa", + "titleProgress": "Prima transazione", + "titleTask": "Effettua la tua prima transazione" + }, + "governanceLockedXOR": { + "descriptionTask": "Blocca XOR partecipando agli eventi di voto di governance", + "titleProgress": "Governance", + "titleTask": "Blocca XOR nelle votazioni di governance" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Ripaga il debito KUSD durante le liquidazioni o la chiusura delle posizioni", + "titleProgress": "Volume Kensetsu", + "titleTask": "Ripaga il debito KUSD" + }, + "KUSDHoldings": { + "descriptionTask": "Tieni i tuoi attuali possedimenti di KUSD", + "titleProgress": "Possesso KUSD", + "titleTask": "Tieni KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Fornisci liquidità su diversi pool", + "titleProgress": "Fornitura di liquidità", + "titleTask": "Fornisci liquidità" + }, + "lvl": "Livello", + "maxLvl": "Hai raggiunto il livello massimo", + "nativeXorStaking": { + "descriptionTask": "Metti in staking XOR e guadagna ricompense in VAL", + "titleProgress": "Staking di XOR", + "titleTask": "Staka XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Usa XOR per le commissioni di rete in più transazioni on-chain", + "titleProgress": "Commissioni di rete", + "titleTask": "Usa XOR per le commissioni di rete" + }, + "nextLvl": "Livello successivo", + "orderbookVolume": { + "descriptionTask": "Crea ordini limite nel libro ordini", + "titleProgress": "Libro degli ordini", + "titleTask": "Crea ordini limite" + }, + "progress": "Progressi", + "referralRewards": { + "descriptionTask": "Riferisci account tramite il sistema di riferimento", + "titleProgress": "Sistema di riferimento", + "titleTask": "Riferisci account" + }, + "relatedTasks": "Completa le attività relative a {title} per aumentare la tua abilità", + "rewardNextLvl": "Ricompensa del livello successivo", + "soraCard": "Candidarsi ora", + "VXORHoldings": { + "descriptionTask": "Tieni i tuoi attuali possedimenti di VXOR", + "titleProgress": "Titoli VXOR", + "titleTask": "Tieni VXOR" + }, + "XORBurned": { + "descriptionTask": "Brucia XOR e converti in valore $", + "titleProgress": "XOR bruciato", + "titleTask": "Brucia XOR" + }, + "XORHoldings": { + "descriptionTask": "Tieni i tuoi attuali possedimenti di XOR", + "titleProgress": "Possesso XOR", + "titleTask": "Tieni XOR" + }, + "yourLevel": "Il tuo livello", + "yourTasks": "I tuoi compiti" }, "addAssetsText": "Aggiungi bene | Aggiungi beni", "noir": "Il noir", @@ -1545,5 +1648,71 @@ "firstText": "Primo", "lastText": "Scorso", "prevText": "Precedente", - "priceText": "Prezzo" + "priceText": "Prezzo", + "assetOwner": { + "accountWithAccess": "Account con accesso SBT", + "addRegulatedAsset": "Aggiungi un altro asset regolamentato", + "addRegulatedAssets": "Aggiungere asset regolamentati", + "attachedRegulatedAssets": "Attività regolamentate collegate", + "createRegulatedAsset": "Crea una nuova risorsa regolamentata", + "createSbt": "Crea {type}", + "dialog": { + "addExisting": "Aggiungi una risorsa esistente", + "addExistingDesc": "Aggiungere una risorsa già creata per l'SBT", + "createAsset": "Crea una nuova risorsa", + "createAssetDesc": "Imposta una nuova risorsa autorizzata per {type}", + "enterAddress": "Inserisci l'indirizzo per l'emissione", + "issueAccess": "Accesso al problema", + "pickDate": "Scegli un giorno", + "selectAccessEnd": "Seleziona quando terminerà l'accesso", + "selectDate": "Seleziona la data" + }, + "guide": { + "createToken": "Crea il tuo token", + "createTokenDesc": "Lancia facilmente il tuo token univoco, disponibile in più formati come NFT e SBT, utilizzando l'infrastruttura solida e sicura della rete SORA", + "disclaimerSbt": "Tieni aperta questa pagina durante l'intero processo. Per chiuderla o abbandonarla dovrai ricominciare dall'inizio. Completa rapidamente i passaggi per evitare timeout.", + "stepOneDesc": "Scegli o crea asset che hai creato e regolato personalmente. Questi sono asset sotto il tuo controllo e la tua gestione.", + "stepOneTitle": "Seleziona o crea asset regolamentati", + "stepThreeDesc": "Rivedere e firmare la transazione di creazione finale per completare la configurazione SBT.", + "stepThreeTitle": "Rivedere e firmare la transazione", + "stepTwoDesc": "Fornire informazioni essenziali come il nome e il simbolo del titolo SBT, nonché l'icona.", + "stepTwoTitle": "Inserisci i dettagli SBT", + "title": "Come creare un {type} :" + }, + "issueSbtAccess": "Emetti {type} accesso", + "letsStartBtn": "INIZIAMO", + "orSelectExisting": "Oppure seleziona esistente", + "ownerSbtTitle": "Il tuo {type}", + "permissionedAssets": "Risorse autorizzate", + "regulatedAssetsConnected": "Attività regolamentate connesse", + "regulatedPools": "Piscine regolamentate", + "sbtCreation": { + "addAssets": "Aggiungi risorse a SBT", + "addDescription": "Inserisci i dettagli SBT", + "addMeta": "Inserisci i dettagli SBT", + "preview": "Anteprima SBT" + }, + "sbtManagers": "{type} Gestori", + "selectExisting": "Seleziona esistente", + "startIssue": "Inizia a rilasciare l'accesso per l'SBT agli account", + "you": "Voi" + }, + "sbtDetails": { + "accessPermitted": "Accesso consentito", + "description": "Questo SBT fornisce l'accesso a più token e pool ed è collegato al tuo account", + "expiresIn": "Scade tra", + "expiresInTooltip": "La \"Scade in\" mostra il periodo o il momento in cui viene acquisito l'accesso", + "expiryDate": "Data di scadenza", + "expiryDateTooltip": "La \"Data di scadenza\" è la scadenza per l'accesso alle attività regolamentate di SBT", + "indefiniteExp": "aperto", + "issuedBy": "{SBT} rilasciato da", + "kycProvider": "Fornitore {KYC}", + "kycVerification": "Verifica {KYC}", + "listOperable": "Attività regolamentate operative", + "noPermissions": "Nessuna autorizzazione aggiuntiva", + "noReceiverAccess": "Stai tentando di inviare un token regolamentato all'utente senza accesso SBT", + "permission": "permesso", + "permissions": "permessi", + "regulatedInsitution": "Istituzione regolamentata" + } } \ No newline at end of file diff --git a/src/lang/messages.ts b/src/lang/messages.ts index 31460c76c..0b5116779 100644 --- a/src/lang/messages.ts +++ b/src/lang/messages.ts @@ -555,7 +555,7 @@ export default { }, }, points: { - title: 'Your Points Progress', + title: 'Your Points', loginText: 'Connect your account to see your points', bridgeVolume: 'Bridge volume', feesSpent: 'Fees spent', @@ -565,6 +565,90 @@ export default { yourRewards: 'Your rewards', openTelegram: 'Open {Telegram}', toEarnPoints: 'To earn points', + firstSoraNetworkTransaction: 'Your first SORA Network Transaction', + dated: 'Dated', + lvl: 'Lvl', + currently: 'Currently', + nextLvl: 'Next lvl', + maxLvl: 'You reached max lvl', + relatedTasks: 'Complete {title}-related tasks in order to level up your skill', + yourLevel: 'Your level', + rewardNextLvl: 'Next level reward', + airdrop: 'Complete SORA Ecosystem-related tasks in order to qualify for a $3m AIRDROP', + soraCard: 'Apply now', + complete: 'Completed | Complete', + progress: 'Progress', + yourTasks: 'Your Tasks', + liquidityProvision: { + titleProgress: 'Liquidity provision', + titleTask: 'Provide Liquidity', + descriptionTask: 'Provide liquidity across pools', + }, + tokenHold: { + titleProgress: '{token} holdings', + titleTask: 'Hold {token}', + descriptionTask: 'Hold your current {token} holdings', + }, + VXORHoldings: { + titleProgress: 'VXOR holdings', + titleTask: 'Hold VXOR', + descriptionTask: 'Hold your current VXOR holdings', + }, + referralRewards: { + titleProgress: 'Referral Sytem', + titleTask: 'Refer accounts', + descriptionTask: 'Refer accounts through the referral system', + }, + depositVolumeBridges: { + titleProgress: 'Deposit volume', + titleTask: 'Deposit & Withdraw', + descriptionTask: 'Deposit & withdraw via Bridges, bitget, 1x, gateio', + }, + networkFeeSpent: { + titleProgress: 'Network fees', + titleTask: 'Spend XOR on Network Fees', + descriptionTask: 'Spend XOR in network fees across multiple on-chain transactions', + }, + XORBurned: { + titleProgress: 'XOR Burned', + titleTask: 'Burn XOR', + descriptionTask: 'Burn XOR and convert to $ value', + }, + XORHoldings: { + titleProgress: 'XOR Hold', + titleTask: 'Hold XOR', + descriptionTask: 'Hold your current XOR holdings', + }, + governanceLockedXOR: { + titleProgress: 'Governance', + titleTask: 'Lock XOR in Governance Voting', + descriptionTask: 'Lock XOR by participating in governance voting events', + }, + kensetsuVolumeRepaid: { + titleProgress: 'Kensetsu volume', + titleTask: 'Repay KUSD Debt', + descriptionTask: 'Repay KUSD debt during liquidations or closing positions', + }, + orderbookVolume: { + titleProgress: 'Orderbook', + titleTask: 'Create Limit Orders', + descriptionTask: 'Create limit orders in the orderbook', + }, + nativeXorStaking: { + titleProgress: 'XOR Staking', + titleTask: 'Stake XOR', + descriptionTask: 'Stake XOR and earn VAL rewards', + }, + KUSDHoldings: { + titleProgress: 'KUSD Hold', + titleTask: 'Hold Kusd', + descriptionTask: 'Hold your current KUSD holdings', + }, + firstTxAccount: { + titleProgress: 'First Trx', + titleTask: 'Do your first transaction', + descriptionTask: 'Complete your first XOR transaction ever and receive the reward', + }, }, provider: { messages: { diff --git a/src/lang/nl.json b/src/lang/nl.json index e28ba970f..ca6b38bd2 100644 --- a/src/lang/nl.json +++ b/src/lang/nl.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Positie gesloten", "DepositCollateral": "{amount} {symbol} gestort", "RepayVaultDebt": "{amount} {symbol} schuld terugbetaald", - "BorrowVaultDebt": "{amount} {symbol} schuld geleend" + "BorrowVaultDebt": "{amount} {symbol} schuld geleend", + "VestedTransfer": "", + "BindRegulatedAsset": "Bind Asset {symbol2} aan SBT", + "IssueSoulBoundToken": "Uitgifte Soulbound Token {symbol}", + "RegisterAndRegulateAsset": "Registreer en reguleer {symbol} activa", + "RegulateAsset": "Activa reguleren {symbol}", + "SetAccessExpiration": "SB-token {symbol} Vervaldatum bijgewerkt naar {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Kon {amount} {symbol} {action} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Mislukt om positie {symbol}\/{symbol2} te sluiten", "DepositCollateral": "Kon {amount} {symbol} niet storten", "RepayVaultDebt": "Kon {amount} {symbol} schuld niet terugbetalen", - "BorrowVaultDebt": "Kon {amount} {symbol} schuld niet lenen" + "BorrowVaultDebt": "Kon {amount} {symbol} schuld niet lenen", + "VestedTransfer": "", + "BindRegulatedAsset": "Kan asset {symbol} niet koppelen aan SBT {symbol2}", + "IssueSoulBoundToken": "Het is niet gelukt om Soulbound-token {symbol} uit te geven", + "RegisterAndRegulateAsset": "Mislukt om te registreren en te reguleren {symbol}", + "RegulateAsset": "Failed to Regulation Asset {symbol}", + "SetAccessExpiration": "Het is niet gelukt om de vervaldatum voor {symbol} {to} }", + "XorlessTransfer": "Het is niet gelukt om {amount} {symbol} naar {address} te verzenden" }, "ReferralReserveXor": "Bond XOR", "ReferralUnreserveXor": "Ontbonden XOR", @@ -145,7 +159,14 @@ "CloseVault": "Positie sluiten", "DepositCollateral": "Stort Onderpand", "RepayVaultDebt": "Schuld Terugbetalen", - "BorrowVaultDebt": "Schuld Lenen" + "BorrowVaultDebt": "Schuld Lenen", + "VestedTransfer": "", + "BindRegulatedAsset": "Bind gereguleerde activa", + "IssueSoulBoundToken": "Probleem SBT", + "RegisterAndRegulateAsset": "Activa registreren", + "RegulateAsset": "Activa reguleren", + "SetAccessExpiration": "SBT-vervaldatum instellen", + "XorlessTransfer": "Overdracht" }, "polkadotjs": { "noExtensions": "Er is geen {PolkadotJs} extensie gevonden. Installeer het en laad deze pagina opnieuw\n https:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Ongeldig adres. Controleer het en probeer het opnieuw.", "tooltip": "Verzend tokens tussen accounts op het {Sora}-netwerk", "addressWarning": "Tokens worden naar het onderstaande {Sora}-adres gestuurd. Zorg ervoor dat de ontvanger toegang heeft tot de {Sora}-chain om de tokens te gebruiken:", - "addressError": "U kunt geen tokens verzenden naar hetzelfde account waarmee u momenteel bent verbonden." + "addressError": "U kunt geen tokens verzenden naar hetzelfde account waarmee u momenteel bent verbonden.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Adres kopiëren", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} accounts", "yourRewards": "Uw beloningen", "openTelegram": "Openen {Telegram}", - "toEarnPoints": "Om punten te verdienen" + "toEarnPoints": "Om punten te verdienen", + "airdrop": "Voltooi SORA Ecosysteem-gerelateerde taken om in aanmerking te komen voor een airdrop van $3 miljoen", + "complete": "Voltooid | Voltooien", + "currently": "Momenteel", + "dated": "Gedateerd", + "depositVolumeBridges": { + "descriptionTask": "Storten & opnemen via Bruggen, bitget, 1x, gateio", + "titleProgress": "Stortingsvolume", + "titleTask": "Storten & Opnemen" + }, + "firstSoraNetworkTransaction": "Uw eerste SORA-netwerktransactie", + "firstTxAccount": { + "descriptionTask": "Voltooi uw allereerste XOR-transactie en ontvang de beloning", + "titleProgress": "Eerste transactie", + "titleTask": "Doe uw eerste transactie" + }, + "governanceLockedXOR": { + "descriptionTask": "Vergrendel XOR door deel te nemen aan governance-stemgebeurtenissen", + "titleProgress": "Governance", + "titleTask": "Vergrendel XOR in governance-stemmen" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Los KUSD-schuld af tijdens liquidaties of het sluiten van posities", + "titleProgress": "Kensetsu-volume", + "titleTask": "Los KUSD-schuld af" + }, + "KUSDHoldings": { + "descriptionTask": "Houd uw huidige KUSD-bezit vast", + "titleProgress": "KUSD Vasthouden", + "titleTask": "Houd KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Liquiditeit verstrekken over meerdere pools", + "titleProgress": "Liquiditeitsvoorziening", + "titleTask": "Liquiditeit verstrekken" + }, + "lvl": "Niveau", + "maxLvl": "Je hebt het maximale niveau bereikt", + "nativeXorStaking": { + "descriptionTask": "Stake XOR en verdien VAL-beloningen", + "titleProgress": "XOR Staken", + "titleTask": "Stake XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Besteed XOR aan netwerkvergoedingen bij meerdere on-chain transacties", + "titleProgress": "Netwerkkosten", + "titleTask": "Besteed XOR aan netwerkvergoedingen" + }, + "nextLvl": "Volgende lvl", + "orderbookVolume": { + "descriptionTask": "Maak limietorders aan in het orderboek", + "titleProgress": "Orderboek", + "titleTask": "Maak limietorders aan" + }, + "progress": "Voortgang", + "referralRewards": { + "descriptionTask": "Verwijs accounts via het verwijzingssysteem", + "titleProgress": "Verwijzingssysteem", + "titleTask": "Verwijs accounts" + }, + "relatedTasks": "Voltooi taken met betrekking tot {title} om je vaardigheid te verbeteren", + "rewardNextLvl": "Volgende niveaubeloning", + "soraCard": "Solliciteer nu", + "VXORHoldings": { + "descriptionTask": "Houd uw huidige VXOR bezit vast", + "titleProgress": "VXOR-bezittingen", + "titleTask": "Houd VXOR" + }, + "XORBurned": { + "descriptionTask": "Verbrand XOR en zet om naar $ waarde", + "titleProgress": "XOR verbrand", + "titleTask": "XOR branden" + }, + "XORHoldings": { + "descriptionTask": "Houd uw huidige XOR-bezit vast", + "titleProgress": "XOR Vasthouden", + "titleTask": "Houd XOR" + }, + "yourLevel": "Uw niveau", + "yourTasks": "Uw taken" }, "addAssetsText": "Activa toevoegen | Activa’s toevoegen", "noir": "Zwart", @@ -1545,5 +1648,71 @@ "firstText": "Eerst", "lastText": "Laatst", "prevText": "Vorig", - "priceText": "Prijs" + "priceText": "Prijs", + "assetOwner": { + "accountWithAccess": "Account met SBT-toegang", + "addRegulatedAsset": "Voeg een ander gereguleerd actief toe", + "addRegulatedAssets": "Gereguleerde activa toevoegen", + "attachedRegulatedAssets": "Bijgevoegde gereguleerde activa", + "createRegulatedAsset": "Creëer een nieuw gereguleerd actief", + "createSbt": "Maak {type}", + "dialog": { + "addExisting": "Een bestaand bezit toevoegen", + "addExistingDesc": "Voeg een reeds aangemaakt asset toe voor de SBT", + "createAsset": "Een nieuw actief aanmaken", + "createAssetDesc": "Stel een nieuw gemachtigde asset in voor de {type}", + "enterAddress": "Voer adres in voor uitgifte", + "issueAccess": "Probleemtoegang", + "pickDate": "Kies een dag", + "selectAccessEnd": "Selecteer wanneer de toegang eindigt", + "selectDate": "Selecteer datum" + }, + "guide": { + "createToken": "Maak je token aan", + "createTokenDesc": "Lanceer eenvoudig uw unieke token, beschikbaar in meerdere formaten zoals NFT's en SBT's, met behulp van de robuuste, veilige infrastructuur van het SORA-netwerk", + "disclaimerSbt": "Houd deze pagina open tijdens het hele proces. Als u de pagina sluit of wegnavigeert, moet u opnieuw beginnen. Voltooi de stappen snel om time-outs te voorkomen.", + "stepOneDesc": "Kies of creëer assets die u persoonlijk hebt gecreëerd en gereguleerd. Dit zijn assets die onder uw controle en beheer vallen.", + "stepOneTitle": "Gereguleerde activa selecteren of creëren", + "stepThreeDesc": "Controleer en onderteken de definitieve aanmaaktransactie om de SBT-installatie te voltooien.", + "stepThreeTitle": "Controleer en onderteken de transactie", + "stepTwoDesc": "Geef essentiële informatie, zoals de naam van de SBT, het tickersymbool en het pictogram.", + "stepTwoTitle": "Voer SBT-gegevens in", + "title": "Hoe maak je een {type} :" + }, + "issueSbtAccess": "Probleem {type} toegang", + "letsStartBtn": "Laten we beginnen", + "orSelectExisting": "Of selecteer bestaande", + "ownerSbtTitle": "Jouw {type}", + "permissionedAssets": "Toegestane activa", + "regulatedAssetsConnected": "Gereguleerde activa verbonden", + "regulatedPools": "Gereguleerde zwembaden", + "sbtCreation": { + "addAssets": "Activa toevoegen aan SBT", + "addDescription": "Voer SBT-gegevens in", + "addMeta": "Voer SBT-gegevens in", + "preview": "SBT-voorbeschouwing" + }, + "sbtManagers": "{type} Beheerders", + "selectExisting": "Selecteer bestaande", + "startIssue": "Begin met het verlenen van toegang voor de SBT tot accounts", + "you": "Jij" + }, + "sbtDetails": { + "accessPermitted": "Toegang toegestaan", + "description": "Deze SBT biedt toegang tot meerdere tokens en pools en is gekoppeld aan uw account", + "expiresIn": "Verloopt over", + "expiresInTooltip": "'Verloopt over' geeft de periode of het tijdstip aan waarop de toegang is verkregen", + "expiryDate": "Vervaldatum", + "expiryDateTooltip": "De 'Vervaldatum' is de deadline voor uw toegang tot gereguleerde activa van SBT", + "indefiniteExp": "open einde", + "issuedBy": "{SBT} uitgegeven door", + "kycProvider": "{KYC} -aanbieder", + "kycVerification": "{KYC} Verificatie", + "listOperable": "Gereguleerde activa operationeel", + "noPermissions": "Geen extra rechten", + "noReceiverAccess": "U probeert een gereguleerd token te verzenden naar de gebruiker zonder SBT-toegang", + "permission": "toestemming", + "permissions": "toestemmingen", + "regulatedInsitution": "Gereguleerde instelling" + } } \ No newline at end of file diff --git a/src/lang/pl.json b/src/lang/pl.json index b72766287..112dd60e4 100644 --- a/src/lang/pl.json +++ b/src/lang/pl.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Pozycja zamknięta", "DepositCollateral": "Wpłacono {amount} {symbol}", "RepayVaultDebt": "Spłacono dług {amount} {symbol}", - "BorrowVaultDebt": "Pożyczono dług {amount} {symbol}" + "BorrowVaultDebt": "Pożyczono dług {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Powiąż zasób {symbol2} z SBT", + "IssueSoulBoundToken": "Wydanie żetonu Soulbound {symbol}", + "RegisterAndRegulateAsset": "Zarejestruj i ureguluj {symbol} aktywa", + "RegulateAsset": "Reguluj aktywa {symbol}", + "SetAccessExpiration": "Token SB {symbol} Zaktualizowano datę wygaśnięcia na {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Nie udało się {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Nie udało się zamknąć pozycji {symbol}\/{symbol2}", "DepositCollateral": "Nie udało się wpłacić {amount} {symbol}", "RepayVaultDebt": "Nie udało się spłacić długu {amount} {symbol}", - "BorrowVaultDebt": "Nie udało się pożyczyć długu {amount} {symbol}" + "BorrowVaultDebt": "Nie udało się pożyczyć długu {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Nie udało się powiązać zasobu {symbol} z SBT {symbol2}", + "IssueSoulBoundToken": "Nie udało się wydać tokena Soulbound {symbol}", + "RegisterAndRegulateAsset": "Nie udało się zarejestrować i uregulować {symbol}", + "RegulateAsset": "Nie udało się uregulować aktywów {symbol}", + "SetAccessExpiration": "Nie udało się zaktualizować daty wygaśnięcia do {to} dla {symbol}", + "XorlessTransfer": "Nie udało się wysłać {amount} {symbol} na {address}" }, "ReferralReserveXor": "Utwórz rezerwy XOR", "ReferralUnreserveXor": "Uwolnij rezerwy XOR", @@ -145,7 +159,14 @@ "CloseVault": "Zamknij pozycję", "DepositCollateral": "Wpłać zabezpieczenie", "RepayVaultDebt": "Spłać dług skarbca", - "BorrowVaultDebt": "Pożycz dług skarbca" + "BorrowVaultDebt": "Pożycz dług skarbca", + "VestedTransfer": "", + "BindRegulatedAsset": "Powiąż aktywa regulowane", + "IssueSoulBoundToken": "Wydanie SBT", + "RegisterAndRegulateAsset": "Zarejestruj aktywa", + "RegulateAsset": "Reguluj aktywa", + "SetAccessExpiration": "Ustaw datę wygaśnięcia SBT", + "XorlessTransfer": "Przenosić" }, "polkadotjs": { "noExtensions": "Nie znaleziono rozszerzenia {PolkadotJs}. Zainstaluj je i odśwież tę stronę\nhttps:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Nieprawidłowy adres. Sprawdź go i spróbuj ponownie.", "tooltip": "Wysyłaj tokeny między kontami sieci {Sora}", "addressWarning": "Tokeny zostaną wysłane na poniższy adres sieci {Sora}. Upewnij się, czy odbiorca może uzyskać dostęp do sieci {Sora}, aby korzystać z tokenów:", - "addressError": "Nie możesz wysyłać tokenów na konto, które jest teraz właśnie podłączone." + "addressError": "Nie możesz wysyłać tokenów na konto, które jest teraz właśnie podłączone.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Kopiuj adres", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} kont", "yourRewards": "Twoje nagrody", "openTelegram": "Otwórz {Telegram}", - "toEarnPoints": "Aby zdobyć punkty" + "toEarnPoints": "Aby zdobyć punkty", + "airdrop": "Wykonaj zadania związane z ekosystemem SORA, aby zakwalifikować się do airdropu o wartości 3 milionów dolarów", + "complete": "Ukończono | Ukończ", + "currently": "Obecnie", + "dated": "Przestarzały", + "depositVolumeBridges": { + "descriptionTask": "Wpłata i wypłata za pomocą Mostów, bitget, 1x, gateio", + "titleProgress": "Wolumen depozytu", + "titleTask": "Wpłata i Wypłata" + }, + "firstSoraNetworkTransaction": "Twoja pierwsza transakcja w sieci SORA", + "firstTxAccount": { + "descriptionTask": "Wykonaj swoją pierwszą transakcję XOR i odbierz nagrodę", + "titleProgress": "Pierwsza transakcja", + "titleTask": "Wykonaj swoją pierwszą transakcję" + }, + "governanceLockedXOR": { + "descriptionTask": "Zablokuj XOR, biorąc udział w wydarzeniach głosowania w zarządzaniu", + "titleProgress": "Zarządzanie", + "titleTask": "Zablokuj XOR w głosowaniach zarządzania" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Spłać dług KUSD podczas likwidacji lub zamykania pozycji", + "titleProgress": "Wolumen Kensetsu", + "titleTask": "Spłać dług KUSD" + }, + "KUSDHoldings": { + "descriptionTask": "Trzymaj swoje bieżące zasoby KUSD", + "titleProgress": "Posiadanie KUSD", + "titleTask": "Trzymaj KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Zapewnij płynność w różnych pulach", + "titleProgress": "Zapewnienie płynności", + "titleTask": "Zapewnij płynność" + }, + "lvl": "Poziom", + "maxLvl": "Osiągnąłeś maksymalny poziom", + "nativeXorStaking": { + "descriptionTask": "Stakuj XOR i zdobywaj nagrody VAL", + "titleProgress": "Stakowanie XOR", + "titleTask": "Stakuj XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Wydaj XOR na opłaty sieciowe w wielu transakcjach on-chain", + "titleProgress": "Opłaty sieciowe", + "titleTask": "Wydaj XOR na opłaty sieciowe" + }, + "nextLvl": "Następny poziom", + "orderbookVolume": { + "descriptionTask": "Utwórz zlecenia z limitem ceny w księdze zleceń", + "titleProgress": "Księga zamówień", + "titleTask": "Utwórz zlecenia z limitem ceny" + }, + "progress": "Postęp", + "referralRewards": { + "descriptionTask": "Poleć konta za pomocą systemu poleceń", + "titleProgress": "System poleceń", + "titleTask": "Poleć konta" + }, + "relatedTasks": "Wykonaj zadania związane z {title}, aby podnieść swoje umiejętności", + "rewardNextLvl": "Nagroda za kolejny poziom", + "soraCard": "Aplikuj teraz", + "VXORHoldings": { + "descriptionTask": "Trzymaj swoje bieżące zasoby VXOR", + "titleProgress": "Akcje VXOR", + "titleTask": "Trzymaj VXOR" + }, + "XORBurned": { + "descriptionTask": "Spal XOR i przelicz na wartość $", + "titleProgress": "XOR spalony", + "titleTask": "Wypal XOR" + }, + "XORHoldings": { + "descriptionTask": "Trzymaj swoje bieżące zasoby XOR", + "titleProgress": "Posiadanie XOR", + "titleTask": "Trzymaj XOR" + }, + "yourLevel": "Twój poziom", + "yourTasks": "Twoje zadania" }, "addAssetsText": "Dodaj aktywo | Dodaj aktywa", "noir": "Noir", @@ -1545,5 +1648,71 @@ "firstText": "Pierwszy", "lastText": "Ostatni", "prevText": "Poprzedni", - "priceText": "Cena" + "priceText": "Cena", + "assetOwner": { + "accountWithAccess": "Konto z dostępem SBT", + "addRegulatedAsset": "Dodaj kolejny regulowany składnik aktywów", + "addRegulatedAssets": "Dodaj aktywa regulowane", + "attachedRegulatedAssets": "Dołączone aktywa regulowane", + "createRegulatedAsset": "Utwórz nowy regulowany składnik aktywów", + "createSbt": "Utwórz {type}", + "dialog": { + "addExisting": "Dodaj istniejący zasób", + "addExistingDesc": "Dodaj już utworzony zasób dla SBT", + "createAsset": "Utwórz nowy zasób", + "createAssetDesc": "Skonfiguruj nowy zasób z uprawnieniami dla {type}", + "enterAddress": "Wprowadź adres do wydania", + "issueAccess": "Dostęp do wydania", + "pickDate": "Wybierz dzień", + "selectAccessEnd": "Wybierz, kiedy dostęp się zakończy", + "selectDate": "Wybierz datę" + }, + "guide": { + "createToken": "Utwórz swój token", + "createTokenDesc": "Łatwo uruchom swój unikalny token — dostępny w wielu formatach, takich jak NFT i SBT — korzystając z solidnej, bezpiecznej infrastruktury sieci SORA", + "disclaimerSbt": "Pozostaw tę stronę otwartą przez cały proces. Zamknięcie lub wyjście z niej będzie wymagało ponownego uruchomienia od początku. Wykonuj kroki szybko, aby uniknąć przekroczenia limitu czasu.", + "stepOneDesc": "Wybierz lub utwórz aktywa, które osobiście utworzyłeś i regulujesz. Są to aktywa pod Twoją kontrolą i zarządzaniem.", + "stepOneTitle": "Wybierz lub utwórz aktywa regulowane", + "stepThreeDesc": "Przejrzyj i podpisz końcową transakcję tworzenia, aby zakończyć konfigurację SBT.", + "stepThreeTitle": "Przejrzyj i podpisz transakcję", + "stepTwoDesc": "Podaj podstawowe informacje, takie jak nazwa, symbol giełdowy SBT i ikona.", + "stepTwoTitle": "Wprowadź dane SBT", + "title": "Jak utworzyć {type} :" + }, + "issueSbtAccess": "Problem {type} dostęp", + "letsStartBtn": "ZACZYNAMY", + "orSelectExisting": "Lub wybierz istniejące", + "ownerSbtTitle": "Twój {type}", + "permissionedAssets": "Aktywa uprawnione", + "regulatedAssetsConnected": "Aktywa regulowane połączone", + "regulatedPools": "Baseny regulowane", + "sbtCreation": { + "addAssets": "Dodaj zasoby do SBT", + "addDescription": "Wprowadź dane SBT", + "addMeta": "Wprowadź dane SBT", + "preview": "Podgląd SBT" + }, + "sbtManagers": "{type} Menedżerowie", + "selectExisting": "Wybierz istniejący", + "startIssue": "Rozpocznij wydawanie dostępu dla SBT do kont", + "you": "Ty" + }, + "sbtDetails": { + "accessPermitted": "Dostęp dozwolony", + "description": "Ten SBT zapewnia dostęp do wielu tokenów i pul i jest powiązany z Twoim kontem", + "expiresIn": "Wygasa za", + "expiresInTooltip": "„Wygasa za” pokazuje okres lub punkt czasowy, w którym uzyskano dostęp", + "expiryDate": "Data ważności", + "expiryDateTooltip": "„Data wygaśnięcia” to termin końcowy dostępu do regulowanych aktywów SBT", + "indefiniteExp": "otwarty", + "issuedBy": "{SBT} wydane przez", + "kycProvider": "Dostawca {KYC}", + "kycVerification": "Weryfikacja {KYC}", + "listOperable": "Aktywa regulowane, które można obsługiwać", + "noPermissions": "Brak dodatkowych uprawnień", + "noReceiverAccess": "Próbujesz wysłać regulowany token użytkownikowi, który nie ma dostępu do SBT", + "permission": "pozwolenie", + "permissions": "uprawnienia", + "regulatedInsitution": "Instytucja regulowana" + } } \ No newline at end of file diff --git a/src/lang/ru.json b/src/lang/ru.json index 6a9f60bd6..8d193f168 100644 --- a/src/lang/ru.json +++ b/src/lang/ru.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Позиция закрыта", "DepositCollateral": "Внесено {amount} {symbol}", "RepayVaultDebt": "Погашено {amount} {symbol} долга", - "BorrowVaultDebt": "Взято в долг {amount} {symbol}" + "BorrowVaultDebt": "Взято в долг {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Привязать актив {symbol2} к SBT", + "IssueSoulBoundToken": "Выпуск Soulbound Token {symbol}", + "RegisterAndRegulateAsset": "Регистрация и регулирование {symbol} актива", + "RegulateAsset": "Регулировать актив {symbol}", + "SetAccessExpiration": "Токен SB {symbol} обновлен до {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Не удалось {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Не удалось закрыть позицию {symbol}\/{symbol2}", "DepositCollateral": "Ошибка при внесении залога {amount} {symbol}", "RepayVaultDebt": "Ошибка при погашении долга {amount} {symbol}", - "BorrowVaultDebt": "Ошибка при взятии в долг {amount} {symbol}" + "BorrowVaultDebt": "Ошибка при взятии в долг {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Не удалось привязать актив {symbol} к SBT {symbol2}", + "IssueSoulBoundToken": "Не удалось выдать токен Soulbound {symbol}", + "RegisterAndRegulateAsset": "Не удалось зарегистрировать и отрегулировать {symbol}", + "RegulateAsset": "Не удалось отрегулировать актив {symbol}", + "SetAccessExpiration": "Не удалось обновить срок действия до {to} для {symbol}", + "XorlessTransfer": "Не удалось отправить {amount} {symbol} на {address}" }, "ReferralReserveXor": "Зарезервировать XOR", "ReferralUnreserveXor": "Вывести XOR из резерва", @@ -145,7 +159,14 @@ "CloseVault": "Закрыть позицию", "DepositCollateral": "Внести залог", "RepayVaultDebt": "Погасить долг", - "BorrowVaultDebt": "Взять в долг" + "BorrowVaultDebt": "Взять в долг", + "VestedTransfer": "", + "BindRegulatedAsset": "Связать регулируемый актив", + "IssueSoulBoundToken": "Выпуск СБТ", + "RegisterAndRegulateAsset": "Зарегистрировать актив", + "RegulateAsset": "Регулировать активы", + "SetAccessExpiration": "Установить срок действия SBT", + "XorlessTransfer": "Передача" }, "polkadotjs": { "noExtensions": "Расширение {PolkadotJs} не найдено. Пожалуйста, установите его и перезагрузите эту страницу\n https:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Неверный адрес. Пожалуйста, перепроверьте и попробуйте еще раз.", "tooltip": "Отправка токенов между учетными записями сети {Sora}", "addressWarning": "Токены будут отправлены на адрес {Sora}, указанный ниже. Убедитесь, что получатель может получить доступ к сети {Sora} для использования токенов:", - "addressError": "Вы не можете отправлять токены в ту же учетную запись, к которой вы в настоящее время подключены." + "addressError": "Вы не можете отправлять токены в ту же учетную запись, к которой вы в настоящее время подключены.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Копировать адрес", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} аккаунтов", "yourRewards": "Ваши награды", "openTelegram": "Открыть {Telegram}", - "toEarnPoints": "Чтобы заработать очки" + "toEarnPoints": "Чтобы заработать очки", + "airdrop": "Выполните задания, связанные с экосистемой SORA, чтобы претендовать на эирдроп в $3 млн", + "complete": "Завершено | Завершить", + "currently": "Текущее", + "dated": "Дата", + "depositVolumeBridges": { + "descriptionTask": "Депозит и вывод через Мосты, bitget, 1x, gateio", + "titleProgress": "Объем депозита", + "titleTask": "Депозит и Вывод" + }, + "firstSoraNetworkTransaction": "Ваша первая транзакция в сети SORA", + "firstTxAccount": { + "descriptionTask": "Завершите вашу первую XOR транзакцию и получите награду", + "titleProgress": "Первая транзакция", + "titleTask": "Совершите свою первую транзакцию" + }, + "governanceLockedXOR": { + "descriptionTask": "Заблокируйте XOR, участвуя в голосованиях по управлению", + "titleProgress": "Управление", + "titleTask": "Заблокируйте XOR в голосовании по управлению" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Погасите долг в KUSD во время ликвидации или закрытия позиций", + "titleProgress": "Объем Kensetsu", + "titleTask": "Погасить долг в KUSD" + }, + "KUSDHoldings": { + "descriptionTask": "Держите ваши текущие активы KUSD", + "titleProgress": "Владение KUSD", + "titleTask": "Держите KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Предоставьте ликвидность через несколько пулов", + "titleProgress": "Предоставление ликвидности", + "titleTask": "Предоставьте ликвидность" + }, + "lvl": "Уровень", + "maxLvl": "Вы достигли максимального уровня", + "nativeXorStaking": { + "descriptionTask": "Стейкайте XOR и зарабатывайте награды в VAL", + "titleProgress": "Стейкинг XOR", + "titleTask": "Стейк XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Используйте XOR для оплаты комиссий в сети в нескольких on-chain транзакциях", + "titleProgress": "Комиссии в сети", + "titleTask": "Используйте XOR для оплаты комиссий в сети" + }, + "nextLvl": "Следующий уровень", + "orderbookVolume": { + "descriptionTask": "Создайте лимитные ордера в ордербук", + "titleProgress": "Ордербук", + "titleTask": "Создайте лимитные ордера" + }, + "progress": "Прогресс", + "referralRewards": { + "descriptionTask": "Приглашайте пользователей через реферальную систему", + "titleProgress": "Реферальная система", + "titleTask": "Пригласить пользователей" + }, + "relatedTasks": "Выполните задачи, связанные с {title}, чтобы повысить свои навыки", + "rewardNextLvl": "Награда за следующий уровень", + "soraCard": "Подать заявку сейчас", + "VXORHoldings": { + "descriptionTask": "Держите ваши текущие активы VXOR", + "titleProgress": "Владение VXOR", + "titleTask": "Владеть VXOR" + }, + "XORBurned": { + "descriptionTask": "Сожгите XOR в $ эквивалент", + "titleProgress": "XOR сожжен", + "titleTask": "Сжечь XOR" + }, + "XORHoldings": { + "descriptionTask": "Держите ваши текущие активы XOR", + "titleProgress": "Владение XOR", + "titleTask": "Владеть XOR" + }, + "yourLevel": "Ваш уровень", + "yourTasks": "Ваши задачи" }, "addAssetsText": "Добавить актив | Добавить активы", "noir": "Нуар", @@ -1545,5 +1648,71 @@ "firstText": "Первая", "lastText": "Последняя", "prevText": "Предыдущая", - "priceText": "Цена" + "priceText": "Цена", + "assetOwner": { + "accountWithAccess": "Счет с доступом к SBT", + "addRegulatedAsset": "Добавить еще один регулируемый актив", + "addRegulatedAssets": "Добавить регулируемые активы", + "attachedRegulatedAssets": "Прикрепленные регулируемые активы", + "createRegulatedAsset": "Создать новый регулируемый актив", + "createSbt": "Создать {type}", + "dialog": { + "addExisting": "Добавить существующий актив", + "addExistingDesc": "Добавить уже созданный актив для SBT", + "createAsset": "Создать новый актив", + "createAssetDesc": "Настройте новый разрешенный актив для {type}", + "enterAddress": "Введите адрес для выдачи", + "issueAccess": "Выдать доступ", + "pickDate": "Выберите день", + "selectAccessEnd": "Выберите, когда доступ будет прекращен", + "selectDate": "Выберите дату" + }, + "guide": { + "createToken": "Создайте свой токен", + "createTokenDesc": "Легко запускайте свой уникальный токен, доступный в различных форматах, таких как NFT и SBT, используя надежную и безопасную инфраструктуру сети SORA.", + "disclaimerSbt": "Держите эту страницу открытой в течение всего процесса. Закрытие или уход с нее потребует перезапуска с самого начала. Выполняйте шаги быстро, чтобы избежать тайм-аута.", + "stepOneDesc": "Выбирайте или создавайте активы, которые вы лично создали и регулируете. Это активы под вашим контролем и управлением.", + "stepOneTitle": "Выберите или создайте регулируемые активы", + "stepThreeDesc": "Проверьте и подпишите окончательную транзакцию создания, чтобы завершить настройку SBT.", + "stepThreeTitle": "Проверьте и подпишите транзакцию", + "stepTwoDesc": "Укажите основную информацию, такую как название и тикер SBT, а также значок.", + "stepTwoTitle": "Введите данные SBT", + "title": "Как создать {type} :" + }, + "issueSbtAccess": "Выпуск {type} доступа", + "letsStartBtn": "НАЧНЕМ", + "orSelectExisting": "Или выберите существующий", + "ownerSbtTitle": "Ваш {type}", + "permissionedAssets": "Разрешенные активы", + "regulatedAssetsConnected": "Регулируемые активы связаны", + "regulatedPools": "Регулируемые бассейны", + "sbtCreation": { + "addAssets": "Добавить активы в SBT", + "addDescription": "Введите данные SBT", + "addMeta": "Введите данные SBT", + "preview": "Предварительный просмотр SBT" + }, + "sbtManagers": "{type} Менеджеры", + "selectExisting": "Выбрать существующий", + "startIssue": "Начать выдачу доступа к счетам СБТ", + "you": "Ты" + }, + "sbtDetails": { + "accessPermitted": "Доступ разрешен", + "description": "Этот SBT обеспечивает доступ к нескольким токенам и пулам и привязан к вашей учетной записи.", + "expiresIn": "Истекает через", + "expiresInTooltip": "«Истекает через» показывает период или момент времени, когда был получен доступ.", + "expiryDate": "Дата истечения срока действия", + "expiryDateTooltip": "«Дата истечения срока» — это крайний срок вашего доступа к регулируемым активам SBT.", + "indefiniteExp": "открытый", + "issuedBy": "{SBT} выдан", + "kycProvider": "{KYC} Поставщик", + "kycVerification": "{KYC} Проверка", + "listOperable": "Регулируемые активы работоспособны", + "noPermissions": "Никаких дополнительных разрешений.", + "noReceiverAccess": "Вы пытаетесь отправить регулируемый токен пользователю, не имеющему доступа к SBT.", + "permission": "разрешение", + "permissions": "разрешения", + "regulatedInsitution": "Регулируемое учреждение" + } } \ No newline at end of file diff --git a/src/lang/sr.json b/src/lang/sr.json index bfd50113b..f6e8286c5 100644 --- a/src/lang/sr.json +++ b/src/lang/sr.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Pozicija zatvorena", "DepositCollateral": "Уплаћен залог {amount} {symbol}", "RepayVaultDebt": "Дуг враћен {amount} {symbol}", - "BorrowVaultDebt": "Дуг позајмљен {amount} {symbol}" + "BorrowVaultDebt": "Дуг позајмљен {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Повежите средство {symbol2} са СБТ", + "IssueSoulBoundToken": "Издајте соулбоунд токен {symbol}", + "RegisterAndRegulateAsset": "Региструјте и регулишите {symbol} средство", + "RegulateAsset": "Регулисање имовине {symbol}", + "SetAccessExpiration": "СБ токен {symbol} Истек је ажуриран на {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Није успело {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Neuspešno zatvaranje pozicije {symbol}\/{symbol2}", "DepositCollateral": "Грешка при уплати залога {amount} {symbol}", "RepayVaultDebt": "Грешка при враћању дуга {amount} {symbol}", - "BorrowVaultDebt": "Грешка при позајмљивању дуга {amount} {symbol}" + "BorrowVaultDebt": "Грешка при позајмљивању дуга {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Повезивање средства {symbol} са СБТ {symbol2} није успело", + "IssueSoulBoundToken": "Издавање Соулбоунд токена {symbol} није успело", + "RegisterAndRegulateAsset": "Регистровање и регулисање {symbol} није успело", + "RegulateAsset": "Регулисање имовине {symbol} није успело", + "SetAccessExpiration": "Ажурирање истека на {to} за {symbol} није успело", + "XorlessTransfer": "Слање {amount} {symbol} на {address} није успело" }, "ReferralReserveXor": "Veži XOR", "ReferralUnreserveXor": "Razveži XOR", @@ -145,7 +159,14 @@ "CloseVault": "Zatvori poziciju", "DepositCollateral": "Уплати залог", "RepayVaultDebt": "Врати дуг", - "BorrowVaultDebt": "Позајми дуг" + "BorrowVaultDebt": "Позајми дуг", + "VestedTransfer": "", + "BindRegulatedAsset": "Везати регулисано средство", + "IssueSoulBoundToken": "Иссуе СБТ", + "RegisterAndRegulateAsset": "Региструјте имовину", + "RegulateAsset": "Регулишите имовину", + "SetAccessExpiration": "Подесите СБТ истека", + "XorlessTransfer": "Трансфер" }, "polkadotjs": { "noExtensions": "Није пронађена ниједна екстензија {PolkadotJs}. Инсталирајте га и поново учитајте ову страницу\nhttps:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Погрешна адреса. Проверите и покушајте поново.", "tooltip": "Шаљите токене између рачуна {Sora} мреже", "addressWarning": "Токени ће бити послати на {Sora} адресу испод. Уверите се да прималац може да приступи ланцу {Sora} да би користио токене:", - "addressError": "Не можете слати токене на исти рачун са којим сте тренутно повезани." + "addressError": "Не можете слати токене на исти рачун са којим сте тренутно повезани.", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Копирајте адресу", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} naloga", "yourRewards": "Vaše nagrade", "openTelegram": "Otvorite {Telegram}", - "toEarnPoints": "Za zarađivanje poena" + "toEarnPoints": "Za zarađivanje poena", + "airdrop": "Завршите задатке везане за SORA екосистем да бисте се квалификовали за аирдроп од 3 милиона долара", + "complete": "Завршено | Заврши", + "currently": "Тренутно", + "dated": "Датирано", + "depositVolumeBridges": { + "descriptionTask": "Депозит и повлачење преко Мостова, bitget, 1x, gateio", + "titleProgress": "Обим депозита", + "titleTask": "Депозит и Повлачење" + }, + "firstSoraNetworkTransaction": "Ваша прва трансакција на SORA мрежи", + "firstTxAccount": { + "descriptionTask": "Завршите своју прву XOR трансакцију и добијте награду", + "titleProgress": "Прва трансакција", + "titleTask": "Обавите своју прву трансакцију" + }, + "governanceLockedXOR": { + "descriptionTask": "Закључајте XOR учешћем у догађајима гласања за управљање", + "titleProgress": "Управљање", + "titleTask": "Закључајте XOR у гласању за управљање" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Отплатите KUSD дуг током ликвидације или затварања позиција", + "titleProgress": "Обим Kensetsu", + "titleTask": "Отплатите KUSD дуг" + }, + "KUSDHoldings": { + "descriptionTask": "Држите ваше тренутно KUSD власништво", + "titleProgress": "Држање KUSD", + "titleTask": "Држати KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Обезбедите ликвидност у разним пуловима", + "titleProgress": "Обезбеђивање ликвидности", + "titleTask": "Обезбедите ликвидност" + }, + "lvl": "Лвл", + "maxLvl": "Достигли сте максимални ниво", + "nativeXorStaking": { + "descriptionTask": "Уложи XOR и заради VAL награде", + "titleProgress": "Стејковање XOR", + "titleTask": "Уложите XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Потрошите XOR на накнаде мреже у више on-chain трансакција", + "titleProgress": "Накнаде мреже", + "titleTask": "Потрошите XOR на накнаде мреже" + }, + "nextLvl": "Следећи лвл", + "orderbookVolume": { + "descriptionTask": "Направите лимитиране налоге у књизи налога", + "titleProgress": "Ордербоок", + "titleTask": "Направи лимитиране налоге" + }, + "progress": "Напредак", + "referralRewards": { + "descriptionTask": "Препоручи налоге преко рефералног система", + "titleProgress": "Реферални систем", + "titleTask": "Препоручи налоге" + }, + "relatedTasks": "Завршите задатке везане за {title} да бисте унапредили своје вештине", + "rewardNextLvl": "Награда за следећи ниво", + "soraCard": "Пријавите се сада", + "VXORHoldings": { + "descriptionTask": "Држите ваше тренутно VXOR власништво", + "titleProgress": "VXOR холдингс", + "titleTask": "Држати VXOR" + }, + "XORBurned": { + "descriptionTask": "Спалите XOR и претворите у $ вредност", + "titleProgress": "XOR је спаљен", + "titleTask": "Бурн КСОР" + }, + "XORHoldings": { + "descriptionTask": "Држите ваше тренутно XOR власништво", + "titleProgress": "Држање XOR", + "titleTask": "Држати XOR" + }, + "yourLevel": "Ваш ниво", + "yourTasks": "Ваши задаци" }, "addAssetsText": "Додај имовину | Додај имовине", "noir": "Ноир", @@ -1545,5 +1648,71 @@ "firstText": "Први", "lastText": "Poslednja", "prevText": "Претходна", - "priceText": "Цена" + "priceText": "Цена", + "assetOwner": { + "accountWithAccess": "Рачун са СБТ приступом", + "addRegulatedAsset": "Додајте још једно регулисано средство", + "addRegulatedAssets": "Додајте регулисана средства", + "attachedRegulatedAssets": "Приложена регулисана имовина", + "createRegulatedAsset": "Креирајте нову регулисану имовину", + "createSbt": "Направите {type}", + "dialog": { + "addExisting": "Додајте постојеће средство", + "addExistingDesc": "Додајте већ креирано средство за СБТ", + "createAsset": "Направите ново средство", + "createAssetDesc": "Подесите ново дозвољено средство за {type}", + "enterAddress": "Унесите адресу за издавање", + "issueAccess": "Проблем приступа", + "pickDate": "Изаберите дан", + "selectAccessEnd": "Изаберите када ће се приступ завршити", + "selectDate": "Изаберите датум" + }, + "guide": { + "createToken": "Креирајте свој токен", + "createTokenDesc": "Лако покрените свој јединствени токен – доступан у више формата као што су НФТ и СБТ – користећи робусну, безбедну инфраструктуру СОРА мреже", + "disclaimerSbt": "Оставите ову страницу отвореном током целог процеса. Затварање или напуштање ће захтевати да поново покренете из почетка. Брзо довршите кораке да бисте избегли временско ограничење.", + "stepOneDesc": "Изаберите или креирајте средства која сте лично креирали и регулисали. Ово су средства под вашом контролом и управљањем.", + "stepOneTitle": "Изаберите или креирајте регулисана средства", + "stepThreeDesc": "Прегледајте и потпишите коначну трансакцију креирања да бисте довршили СБТ подешавање.", + "stepThreeTitle": "Прегледајте и потпишите трансакцију", + "stepTwoDesc": "Наведите основне информације као што су име СБТ-а и симбол ознаке, као и икона.", + "stepTwoTitle": "Унесите СБТ детаље", + "title": "Како да направите {type} :" + }, + "issueSbtAccess": "Издајте приступ {type}", + "letsStartBtn": "ПОЧНИМО", + "orSelectExisting": "Или изаберите постојеће", + "ownerSbtTitle": "Ваш {type}", + "permissionedAssets": "Дозвољена средства", + "regulatedAssetsConnected": "Регулисана имовина повезана", + "regulatedPools": "Регулисани базени", + "sbtCreation": { + "addAssets": "Додајте средства у СБТ", + "addDescription": "Унесите СБТ детаље", + "addMeta": "Унесите СБТ детаље", + "preview": "СБТ Превиев" + }, + "sbtManagers": "{type} Менаџери", + "selectExisting": "Изаберите постојеће", + "startIssue": "Почните са издавањем приступа за СБТ рачунима", + "you": "Ви" + }, + "sbtDetails": { + "accessPermitted": "Приступ дозвољен", + "description": "Овај СБТ пружа приступ вишеструким токенима и скуповима и везан је за ваш налог", + "expiresIn": "Истиче за", + "expiresInTooltip": "„Истиче за“ показује период или временско тачку када је приступ стечен", + "expiryDate": "Датум истека", + "expiryDateTooltip": "„Датум истека“ је крајњи рок за ваш приступ регулисаним средствима СБТ-а", + "indefiniteExp": "отвореног типа", + "issuedBy": "{SBT} издао", + "kycProvider": "{KYC} добављач", + "kycVerification": "{KYC} верификација", + "listOperable": "Регулисана имовина оперативна", + "noPermissions": "Нема додатних дозвола", + "noReceiverAccess": "Покушавате да пошаљете регулисани токен кориснику који нема СБТ приступ", + "permission": "дозволу", + "permissions": "дозволе", + "regulatedInsitution": "Регулисана институција" + } } \ No newline at end of file diff --git a/src/lang/vi.json b/src/lang/vi.json index e6f48d3cb..5588c00c7 100644 --- a/src/lang/vi.json +++ b/src/lang/vi.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} Vị thế được đóng", "DepositCollateral": "Đã nộp tài sản đảm bảo {amount} {symbol}", "RepayVaultDebt": "Đã trả nợ kho bảo {amount} {symbol}", - "BorrowVaultDebt": "Đã vay nợ kho bảo {amount} {symbol}" + "BorrowVaultDebt": "Đã vay nợ kho bảo {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Liên kết tài sản {symbol2} với SBT", + "IssueSoulBoundToken": "Phát hành Soulbound Token {symbol}", + "RegisterAndRegulateAsset": "Đăng ký và quản lý tài sản {symbol}", + "RegulateAsset": "Điều chỉnh Tài sản {symbol}", + "SetAccessExpiration": "Mã thông báo SB {symbol} Đã cập nhật ngày hết hạn thành {endTime}", + "XorlessTransfer": "{action} {amount} {symbol} {direction} {address}" }, "error": { "Transfer": "Không gửi được {action} {amount} {symbol} {direction} {address}", @@ -111,7 +118,14 @@ "CloseVault": "Không thể đóng vị thế {symbol}\/{symbol2}", "DepositCollateral": "Không thể nộp tài sản đảm bảo {amount} {symbol}", "RepayVaultDebt": "Không thể trả nợ kho bảo {amount} {symbol}", - "BorrowVaultDebt": "Không thể vay nợ kho bảo {amount} {symbol}" + "BorrowVaultDebt": "Không thể vay nợ kho bảo {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "Không thể liên kết tài sản {symbol} với SBT {symbol2}", + "IssueSoulBoundToken": "Không thể phát hành mã thông báo Soulbound {symbol}", + "RegisterAndRegulateAsset": "Không Đăng Ký Và Điều Chỉnh Được {symbol}", + "RegulateAsset": "Không thể điều chỉnh Tài sản {symbol}", + "SetAccessExpiration": "Không cập nhật được ngày hết hạn thành {to} cho {symbol}", + "XorlessTransfer": "Không gửi được {amount} {symbol} đến {address}" }, "ReferralReserveXor": "Bond XOR", "ReferralUnreserveXor": "Unbond XOR", @@ -145,7 +159,14 @@ "CloseVault": "Đóng vị thế", "DepositCollateral": "Nộp Tài Sản Đảm Bảo", "RepayVaultDebt": "Trả Nợ Kho Bảo", - "BorrowVaultDebt": "Vay Nợ Kho Bảo" + "BorrowVaultDebt": "Vay Nợ Kho Bảo", + "VestedTransfer": "", + "BindRegulatedAsset": "Liên kết tài sản được quản lý", + "IssueSoulBoundToken": "Vấn đề SBT", + "RegisterAndRegulateAsset": "Đăng ký tài sản", + "RegulateAsset": "Điều chỉnh tài sản", + "SetAccessExpiration": "Đặt ngày hết hạn SBT", + "XorlessTransfer": "Chuyển khoản" }, "polkadotjs": { "noExtensions": "Không tìm thấy tiện ích (extension) {PolkadotJs}. Vui lòng cài đặt và tải lại trang này\nhttps:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "Địa chỉ không hợp lệ. Vui lòng kiểm tra và thử lại.", "tooltip": "Gửi token giữa những tài khoản cùng Mạng {Sora}", "addressWarning": "Những Token này sẽ được chuyển đến địa chỉ {Sora} bên dưới. Hãy đảm bảo rằng người nhận có thể truy cập vào Chuỗi {Sora} để sử dụng những token này.", - "addressError": "Bạn không thể gửi những token này đến cùng tài khoản mà bạn đang kết nối" + "addressError": "Bạn không thể gửi những token này đến cùng tài khoản mà bạn đang kết nối", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "Sao chép địa chỉ", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} tài khoản", "yourRewards": "Phần thưởng của bạn", "openTelegram": "Mở {Telegram}", - "toEarnPoints": "Để kiếm điểm" + "toEarnPoints": "Để kiếm điểm", + "airdrop": "Hoàn thành các nhiệm vụ liên quan đến Hệ sinh thái SORA để đủ điều kiện nhận airdrop trị giá 3 triệu đô la", + "complete": "Đã hoàn thành | Hoàn thành", + "currently": "Hiện nay", + "dated": "Ngày tháng", + "depositVolumeBridges": { + "descriptionTask": "Gửi tiền & rút tiền qua Cầu, bitget, 1x, gateio", + "titleProgress": "Khối lượng tiền gửi", + "titleTask": "Gửi tiền & Rút tiền" + }, + "firstSoraNetworkTransaction": "Giao dịch mạng SORA đầu tiên của bạn", + "firstTxAccount": { + "descriptionTask": "Hoàn thành giao dịch XOR đầu tiên của bạn và nhận phần thưởng", + "titleProgress": "Giao dịch đầu tiên", + "titleTask": "Thực hiện giao dịch đầu tiên của bạn" + }, + "governanceLockedXOR": { + "descriptionTask": "Khóa XOR bằng cách tham gia các sự kiện bỏ phiếu quản trị", + "titleProgress": "Quản trị", + "titleTask": "Khóa XOR trong Bỏ phiếu Quản trị" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "Trả nợ KUSD trong quá trình thanh lý hoặc đóng vị thế", + "titleProgress": "Khối lượng Kensetsu", + "titleTask": "Trả nợ KUSD" + }, + "KUSDHoldings": { + "descriptionTask": "Giữ lượng KUSD hiện tại của bạn", + "titleProgress": "Nắm giữ KUSD", + "titleTask": "Giữ KUSD" + }, + "liquidityProvision": { + "descriptionTask": "Cung cấp thanh khoản trên nhiều pool", + "titleProgress": "Cung cấp thanh khoản", + "titleTask": "Cung cấp thanh khoản" + }, + "lvl": "Cấp độ", + "maxLvl": "Bạn đã đạt cấp độ tối đa", + "nativeXorStaking": { + "descriptionTask": "Stake XOR và nhận phần thưởng VAL", + "titleProgress": "Đặt cọc XOR", + "titleTask": "Stake XOR" + }, + "networkFeeSpent": { + "descriptionTask": "Dùng XOR để trả phí mạng cho nhiều giao dịch on-chain", + "titleProgress": "Phí mạng", + "titleTask": "Dùng XOR để trả phí mạng" + }, + "nextLvl": "Cấp độ tiếp theo", + "orderbookVolume": { + "descriptionTask": "Tạo lệnh giới hạn trong sổ lệnh", + "titleProgress": "Sổ lệnh", + "titleTask": "Tạo lệnh giới hạn" + }, + "progress": "Tiến triển", + "referralRewards": { + "descriptionTask": "Giới thiệu tài khoản thông qua hệ thống giới thiệu", + "titleProgress": "Hệ thống giới thiệu", + "titleTask": "Giới thiệu tài khoản" + }, + "relatedTasks": "Hoàn thành các nhiệm vụ liên quan đến {title} để nâng cao kỹ năng của bạn", + "rewardNextLvl": "Phần thưởng cấp độ tiếp theo", + "soraCard": "Nộp đơn ngay", + "VXORHoldings": { + "descriptionTask": "Giữ lượng VXOR hiện tại của bạn", + "titleProgress": "Cổ phần VXOR", + "titleTask": "Giữ VXOR" + }, + "XORBurned": { + "descriptionTask": "Đốt XOR và chuyển đổi sang giá trị $", + "titleProgress": "XOR đã cháy", + "titleTask": "Đốt cháy XOR" + }, + "XORHoldings": { + "descriptionTask": "Giữ lượng XOR hiện tại của bạn", + "titleProgress": "Nắm giữ XOR", + "titleTask": "Giữ XOR" + }, + "yourLevel": "Cấp độ của bạn", + "yourTasks": "Nhiệm vụ của bạn" }, "addAssetsText": "Thêm tài sản | Thêm các tài sản", "noir": "Đen", @@ -1545,5 +1648,71 @@ "firstText": "Đầu tiên", "lastText": "Cuối", "prevText": "Trước", - "priceText": "Giá" + "priceText": "Giá", + "assetOwner": { + "accountWithAccess": "Tài khoản có quyền truy cập SBT", + "addRegulatedAsset": "Thêm một tài sản được quản lý khác", + "addRegulatedAssets": "Thêm tài sản được quản lý", + "attachedRegulatedAssets": "Tài sản được quản lý kèm theo", + "createRegulatedAsset": "Tạo tài sản được quản lý mới", + "createSbt": "Tạo {type}", + "dialog": { + "addExisting": "Thêm một tài sản hiện có", + "addExistingDesc": "Thêm một tài sản đã tạo cho SBT", + "createAsset": "Tạo một tài sản mới", + "createAssetDesc": "Thiết lập một tài sản được cấp phép mới cho {type}", + "enterAddress": "Nhập địa chỉ để phát hành", + "issueAccess": "Vấn đề truy cập", + "pickDate": "Chọn một ngày", + "selectAccessEnd": "Chọn thời điểm kết thúc quyền truy cập", + "selectDate": "Chọn ngày" + }, + "guide": { + "createToken": "Tạo mã thông báo của bạn", + "createTokenDesc": "Dễ dàng khởi chạy mã thông báo duy nhất của bạn—có sẵn ở nhiều định dạng như NFT và SBT—bằng cách sử dụng cơ sở hạ tầng mạnh mẽ, an toàn của Mạng SORA", + "disclaimerSbt": "Giữ trang này mở trong suốt quá trình. Đóng hoặc điều hướng đi sẽ yêu cầu bạn phải khởi động lại từ đầu. Hoàn thành các bước một cách nhanh chóng để tránh hết thời gian chờ.", + "stepOneDesc": "Chọn hoặc tạo tài sản do chính bạn tạo ra và quản lý. Đây là tài sản do bạn kiểm soát và quản lý.", + "stepOneTitle": "Chọn hoặc Tạo Tài sản được Quản lý", + "stepThreeDesc": "Xem lại và ký giao dịch tạo cuối cùng để hoàn tất thiết lập SBT.", + "stepThreeTitle": "Xem lại và ký giao dịch", + "stepTwoDesc": "Cung cấp thông tin cần thiết như tên SBT và mã chứng khoán cũng như biểu tượng.", + "stepTwoTitle": "Nhập thông tin chi tiết SBT", + "title": "Cách tạo {type} :" + }, + "issueSbtAccess": "Vấn đề {type} truy cập", + "letsStartBtn": "HÃY BẮT ĐẦU", + "orSelectExisting": "Hoặc chọn hiện có", + "ownerSbtTitle": "{type} của bạn", + "permissionedAssets": "Tài sản được phép", + "regulatedAssetsConnected": "Tài sản được quản lý kết nối", + "regulatedPools": "Các hồ bơi được quản lý", + "sbtCreation": { + "addAssets": "Thêm tài sản vào SBT", + "addDescription": "Nhập thông tin chi tiết SBT", + "addMeta": "Nhập thông tin chi tiết SBT", + "preview": "Xem trước SBT" + }, + "sbtManagers": "{type} Người quản lý", + "selectExisting": "Chọn hiện có", + "startIssue": "Bắt đầu cấp quyền truy cập cho SBT vào các tài khoản", + "you": "Bạn" + }, + "sbtDetails": { + "accessPermitted": "Được phép truy cập", + "description": "SBT này cung cấp quyền truy cập vào nhiều mã thông báo và nhóm và được đính kèm vào tài khoản của bạn", + "expiresIn": "Hết hạn trong", + "expiresInTooltip": "'Hết hạn trong' hiển thị khoảng thời gian hoặc thời điểm quyền truy cập được cấp", + "expiryDate": "Ngày hết hạn", + "expiryDateTooltip": "'Ngày hết hạn' là thời hạn cuối cùng để bạn có thể truy cập vào các tài sản được quản lý của SBT", + "indefiniteExp": "mở", + "issuedBy": "{SBT} được phát hành bởi", + "kycProvider": "Nhà cung cấp {KYC}", + "kycVerification": "Xác minh {KYC}", + "listOperable": "Tài sản được quản lý có thể hoạt động", + "noPermissions": "Không có quyền bổ sung", + "noReceiverAccess": "Bạn đang cố gắng gửi mã thông báo được quản lý tới người dùng không có quyền truy cập SBT", + "permission": "sự cho phép", + "permissions": "quyền hạn", + "regulatedInsitution": "Cơ quan quản lý" + } } \ No newline at end of file diff --git a/src/lang/zh_CN.json b/src/lang/zh_CN.json index 446243c25..650539fce 100644 --- a/src/lang/zh_CN.json +++ b/src/lang/zh_CN.json @@ -69,7 +69,14 @@ "CloseVault": "{symbol}\/{symbol2} 头寸已关闭", "DepositCollateral": "已存入 {amount} {symbol}", "RepayVaultDebt": "已偿还债务 {amount} {symbol}", - "BorrowVaultDebt": "已借入债务 {amount} {symbol}" + "BorrowVaultDebt": "已借入债务 {amount} {symbol}", + "VestedTransfer": "", + "BindRegulatedAsset": "将资产{symbol2}绑定到SBT", + "IssueSoulBoundToken": "发行灵魂绑定代币{symbol}", + "RegisterAndRegulateAsset": "注册并监管{symbol}资产", + "RegulateAsset": "调节资产{symbol}", + "SetAccessExpiration": "SB 代币{symbol}已更新到期日期至{endTime}", + "XorlessTransfer": "{action} {amount} { {symbol} {direction} {address}" }, "error": { "Transfer": "{action} {amount} {symbol} {direction} {address}失败", @@ -111,7 +118,14 @@ "CloseVault": "关闭 {symbol}\/{symbol2} 头寸失败", "DepositCollateral": "存入 {amount} {symbol} 抵押品失败", "RepayVaultDebt": "偿还 {amount} {symbol} 债务失败", - "BorrowVaultDebt": "借入 {amount} {symbol} 债务失败" + "BorrowVaultDebt": "借入 {amount} {symbol} 债务失败", + "VestedTransfer": "", + "BindRegulatedAsset": "无法将资产{symbol}绑定到 SBT {symbol2}", + "IssueSoulBoundToken": "无法发出灵魂绑定令牌{symbol}", + "RegisterAndRegulateAsset": "无法注册和监管{symbol}", + "RegulateAsset": "未能监管资产{symbol}", + "SetAccessExpiration": "无法将{symbol}到期日期更新为{to}", + "XorlessTransfer": "无法将{amount} {symbol}发送到{address}" }, "ReferralReserveXor": "绑定XOR", "ReferralUnreserveXor": "解绑XOR", @@ -145,7 +159,14 @@ "CloseVault": "关闭头寸", "DepositCollateral": "存入抵押品", "RepayVaultDebt": "偿还债务", - "BorrowVaultDebt": "借入债务" + "BorrowVaultDebt": "借入债务", + "VestedTransfer": "", + "BindRegulatedAsset": "绑定监管资产", + "IssueSoulBoundToken": "发行 SBT", + "RegisterAndRegulateAsset": "注册资产", + "RegulateAsset": "监管资产", + "SetAccessExpiration": "设置 SBT 到期时间", + "XorlessTransfer": "转移" }, "polkadotjs": { "noExtensions": "没有找到 {PolkadotJs} 的扩展。请安装它并重新加载此页面\nhttps:\/\/polkadot.js.org\/extension\/", @@ -188,7 +209,10 @@ "errorAddress": "无效地址。请检查并重试。", "tooltip": "在{Sora}网络账户之间发送代币", "addressWarning": "代币将被发送至以下{Sora}地址。请确保收件人能够访问{Sora}链以使用代币。", - "addressError": "您不能向您当前已连接的同一个账户发送代币。" + "addressError": "您不能向您当前已连接的同一个账户发送代币。", + "enableVesting": "", + "enterVestingPercentage": "", + "vestingPercentage": "" }, "account": { "copy": "复制地址", @@ -1532,7 +1556,86 @@ "accountsText": "{amount} 个账户", "yourRewards": "您的奖励", "openTelegram": "打开 {Telegram}", - "toEarnPoints": "获得积分" + "toEarnPoints": "获得积分", + "airdrop": "完成 SORA 生态系统相关任务以获得 $300 万空投资格", + "complete": "已完成 | 完成", + "currently": "现在", + "dated": "已过时", + "depositVolumeBridges": { + "descriptionTask": "通过桥接、bitget、1x、gateio 存款和取款", + "titleProgress": "存款量", + "titleTask": "存款和取款" + }, + "firstSoraNetworkTransaction": "您的第一次 SORA 网络交易", + "firstTxAccount": { + "descriptionTask": "完成您的第一次 XOR 交易并领取奖励", + "titleProgress": "首次交易", + "titleTask": "完成您的第一次交易" + }, + "governanceLockedXOR": { + "descriptionTask": "通过参与治理投票活动锁定 XOR", + "titleProgress": "治理", + "titleTask": "在治理投票中锁定 XOR" + }, + "kensetsuVolumeRepaid": { + "descriptionTask": "在清算或关闭头寸时偿还 KUSD 债务", + "titleProgress": "Kensetsu 量", + "titleTask": "偿还 KUSD 债务" + }, + "KUSDHoldings": { + "descriptionTask": "持有您当前的 KUSD 持仓", + "titleProgress": "KUSD 持有", + "titleTask": "保持 KUSD" + }, + "liquidityProvision": { + "descriptionTask": "在多个资金池中提供流动性", + "titleProgress": "提供流动性", + "titleTask": "提供流动性" + }, + "lvl": "等级", + "maxLvl": "您已达到最高等级", + "nativeXorStaking": { + "descriptionTask": "质押 XOR 并赚取 VAL 奖励", + "titleProgress": "XOR 质押", + "titleTask": "质押 XOR" + }, + "networkFeeSpent": { + "descriptionTask": "在多笔链上交易中使用 XOR 支付网络费用", + "titleProgress": "网络费用", + "titleTask": "使用 XOR 支付网络费用" + }, + "nextLvl": "下一等级", + "orderbookVolume": { + "descriptionTask": "在订单簿中创建限价单", + "titleProgress": "订单簿", + "titleTask": "创建限价单" + }, + "progress": "进步", + "referralRewards": { + "descriptionTask": "通过推荐系统推荐账户", + "titleProgress": "推荐系统", + "titleTask": "推荐账户" + }, + "relatedTasks": "完成与 {title} 相关的任务以提升您的技能", + "rewardNextLvl": "下一级奖励", + "soraCard": "立即申请", + "VXORHoldings": { + "descriptionTask": "持有您当前的 VXOR 持仓", + "titleProgress": "VXOR 控股", + "titleTask": "保持 VXOR" + }, + "XORBurned": { + "descriptionTask": "销毁 XOR 并转换为美元价值", + "titleProgress": "XOR 烧毁", + "titleTask": "烧毁 XOR" + }, + "XORHoldings": { + "descriptionTask": "持有您当前的 XOR 持仓", + "titleProgress": "XOR 持有", + "titleTask": "保持 XOR" + }, + "yourLevel": "您的等级", + "yourTasks": "您的任务" }, "addAssetsText": "添加资产 | 添加资产", "noir": "暗黑", @@ -1545,5 +1648,71 @@ "firstText": "第一的", "lastText": "最后的", "prevText": "以前的", - "priceText": "价格" + "priceText": "价格", + "assetOwner": { + "accountWithAccess": "具有 SBT 访问权限的帐户", + "addRegulatedAsset": "添加另一项受监管资产", + "addRegulatedAssets": "添加受监管资产", + "attachedRegulatedAssets": "受监管资产", + "createRegulatedAsset": "创建新的受监管资产", + "createSbt": "创建{type}", + "dialog": { + "addExisting": "添加现有资产", + "addExistingDesc": "为 SBT 添加已创建的资产", + "createAsset": "创建新资产", + "createAssetDesc": "为{type}设置新的许可资产", + "enterAddress": "输入发证地址", + "issueAccess": "问题访问", + "pickDate": "选择一天", + "selectAccessEnd": "选择访问结束时间", + "selectDate": "选择日期" + }, + "guide": { + "createToken": "创建你的代币", + "createTokenDesc": "使用 SORA 网络强大、安全的基础设施,轻松发布您的独特代币(以 NFT 和 SBT 等多种格式提供)", + "disclaimerSbt": "在整个过程中保持此页面打开。关闭或离开将需要您从头开始。快速完成步骤以避免超时。", + "stepOneDesc": "选择或创建您亲自创建并管理的资产。这些是受您控制和管理的资产。", + "stepOneTitle": "选择或创建受监管资产", + "stepThreeDesc": "审查并签署最终创建交易以完成 SBT 设置。", + "stepThreeTitle": "审查并签署交易", + "stepTwoDesc": "提供基本信息,例如 SBT 的名称和股票代码以及图标。", + "stepTwoTitle": "输入 SBT 详细信息", + "title": "如何创建{type} :" + }, + "issueSbtAccess": "发出{type}访问权限", + "letsStartBtn": "让我们开始吧", + "orSelectExisting": "或选择现有的", + "ownerSbtTitle": "您的{type}", + "permissionedAssets": "许可资产", + "regulatedAssetsConnected": "监管资产相关", + "regulatedPools": "受监管的矿池", + "sbtCreation": { + "addAssets": "将资产添加到 SBT", + "addDescription": "输入 SBT 详细信息", + "addMeta": "输入 SBT 详细信息", + "preview": "SBT 预览" + }, + "sbtManagers": "{type}经理", + "selectExisting": "选择现有的", + "startIssue": "开始向 SBT 发放账户访问权限", + "you": "你" + }, + "sbtDetails": { + "accessPermitted": "允许访问", + "description": "此 SBT 提供对多个代币和池的访问权限,并附加到您的帐户", + "expiresIn": "有效期:", + "expiresInTooltip": "“有效期”显示获取访问权限的时间段或时间点", + "expiryDate": "到期日", + "expiryDateTooltip": "“到期日”是您访问 SBT 监管资产的最后期限", + "indefiniteExp": "开放式", + "issuedBy": "{SBT}发行者", + "kycProvider": "{KYC}提供商", + "kycVerification": "{KYC}验证", + "listOperable": "受监管资产可操作", + "noPermissions": "无额外权限", + "noReceiverAccess": "您正在尝试向没有 SBT 访问权限的用户发送受监管的代币", + "permission": "允许", + "permissions": "权限", + "regulatedInsitution": "监管机构" + } } \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts index 83b6c9c3c..be416a9a0 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -205,6 +205,11 @@ const routes: Array = [ path: '', component: lazyView(PageNames.RewardsTabs), children: [ + { + path: '/pointsv2', + name: PageNames.PointSystemV2, + component: lazyView(PageNames.PointSystemV2), + }, { path: '/points', name: PageNames.PointSystem, diff --git a/src/store/settings/getters.ts b/src/store/settings/getters.ts index 74e23431b..66b1a6088 100644 --- a/src/store/settings/getters.ts +++ b/src/store/settings/getters.ts @@ -43,6 +43,10 @@ const getters = defineGetters()({ const { state } = settingsGetterContext(args); return !!state.featureFlags.debug; }, + pointSystemV2(...args): Nullable { + const { state } = settingsGetterContext(args); + return state.featureFlags.pointSystemV2; + }, notificationActivated(...args): boolean { const { state } = settingsGetterContext(args); return state.browserNotifsPermission === 'granted'; diff --git a/src/store/settings/types.ts b/src/store/settings/types.ts index c751466fa..2610701ee 100644 --- a/src/store/settings/types.ts +++ b/src/store/settings/types.ts @@ -20,6 +20,7 @@ export type FeatureFlags = { assetOwner?: boolean; alt?: boolean; debug?: boolean; + pointSystemV2?: boolean; }; export type SettingsState = { diff --git a/src/types/pointSystem.ts b/src/types/pointSystem.ts new file mode 100644 index 000000000..0815ca51e --- /dev/null +++ b/src/types/pointSystem.ts @@ -0,0 +1,83 @@ +import { FPNumber } from '@sora-substrate/math'; + +export interface Level { + threshold: number; + multiplier: number; +} + +export interface Category { + maxPercentage: number; + levels: Level[]; + titleProgress: string; + titleTask: string; + descriptionTask: string; + imageName: string; +} + +export type CalculateCategoryPointResult = { + levelCurrent: number; + threshold: number; + points: number; + nextLevelRewardPoints: number | null; + currentProgress: number; + minimumAmountForNextLevel: number | null; + titleProgress: string; + titleTask: string; + descriptionTask: string; + imageName: string; +}; + +export type CategoryValues = { + [key: string]: number; +}; + +export type CategoryPoints = { + liquidityProvision: number; + VXORHoldings: number; + referralRewards: number; + depositVolumeBridges: number; + networkFeeSpent: number; + XORBurned: number; + XORHoldings: number; + governanceLockedXOR: number; + kensetsuVolumeRepaid: number; + orderbookVolume: number; + nativeXorStaking: number; + KUSDHoldings: number; + firstTxAccount: number; +}; + +export interface AccountPointsCalculation { + fees: { + amount: FPNumber; + amountUSD: FPNumber; + }; + burned: { + amount: FPNumber; + amountUSD: FPNumber; + }; + kensetsu: { + created: FPNumber; + closed: FPNumber; + amountUSD: FPNumber; + }; + staking: { + amount: FPNumber; + amountUSD: FPNumber; + }; + orderBook: { + created: FPNumber; + closed: FPNumber; + amountUSD: FPNumber; + }; + governance: { + votes: FPNumber; + amount: FPNumber; + amountUSD: FPNumber; + }; + bridge: { + incomingUSD: FPNumber; + outgoingUSD: FPNumber; + }; + createdAt: { timestamp: number; block: number }; +} diff --git a/src/utils/index.ts b/src/utils/index.ts index cf47c48eb..028e0981c 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -353,6 +353,10 @@ export const formatAmountWithSuffix = (value: FPNumber, precision = 2): AmountWi } }; +export const convertFPNumberToNumber = (fpValue: FPNumber, precision = 2): number => { + return parseFloat(fpValue.toFixed(precision)); +}; + export const formatDecimalPlaces = (value: FPNumber | number, asPercent = false): string => { const formatted = new FPNumber(value.toFixed(2)).toLocaleString(); const postfix = asPercent ? '%' : ''; diff --git a/src/utils/pointSystem.ts b/src/utils/pointSystem.ts new file mode 100644 index 000000000..313e4988e --- /dev/null +++ b/src/utils/pointSystem.ts @@ -0,0 +1,84 @@ +import { categoriesPointSystem, POINTS_PER_PERCENT } from '@/consts/pointSystem'; +import { CalculateCategoryPointResult, CategoryValues, Level } from '@/types/pointSystem'; + +class PointsService { + private findLevel( + levels: Level[], + value: number, + maxPercentage: number + ): { + levelCurrent: number; + threshold: number; + multiplier: number; + nextLevelRewardPoints: number | null; + currentProgress: number; + minimumAmountForNextLevel: number | null; + } { + const matchedLevelIndex = levels.findIndex((level, index) => { + const nextLevelThreshold = levels[index + 1]?.threshold ?? Infinity; + return value >= level.threshold && value < nextLevelThreshold; + }); + + const finalIndex = matchedLevelIndex !== -1 ? matchedLevelIndex : levels.length - 1; + const matchedLevel = levels[finalIndex]; + + const nextLevel = levels[finalIndex + 1] ?? null; + + const nextLevelRewardPoints = nextLevel + ? parseFloat((nextLevel.multiplier * maxPercentage * POINTS_PER_PERCENT).toFixed(0)) + : null; + const currentProgress = value; + + const minimumAmountForNextLevel = nextLevel ? nextLevel.threshold : null; + + return { + levelCurrent: finalIndex + 1, + threshold: matchedLevel.threshold, + multiplier: matchedLevel.multiplier, + nextLevelRewardPoints, + currentProgress, + minimumAmountForNextLevel, + }; + } + + public calculateCategoryPoints(categoryValues: CategoryValues): { [key: string]: CalculateCategoryPointResult } { + const results: { [key: string]: CalculateCategoryPointResult } = {}; + const firstTxAccountResult: { [key: string]: CalculateCategoryPointResult } = {}; + + Object.entries(categoryValues).forEach(([categoryName, value]) => { + const category = categoriesPointSystem[categoryName]; + if (!category) { + throw new Error(`Category "${categoryName}" was not found.`); + } + + const { levelCurrent, threshold, multiplier, nextLevelRewardPoints, currentProgress, minimumAmountForNextLevel } = + this.findLevel(category.levels, value, category.maxPercentage); + + const points = parseFloat((multiplier * category.maxPercentage * POINTS_PER_PERCENT).toFixed(0)); + + const categoryData = { + levelCurrent, + threshold, + points, + nextLevelRewardPoints, + currentProgress, + minimumAmountForNextLevel, + titleProgress: category.titleProgress, + titleTask: category.titleTask, + descriptionTask: category.descriptionTask, + imageName: category.imageName, + }; + + if (categoryName === 'firstTxAccount') { + firstTxAccountResult[categoryName] = categoryData; + } else { + results[categoryName] = categoryData; + } + }); + + return { ...results, ...firstTxAccountResult }; + } +} + +const pointsService = new PointsService(); +export { pointsService }; diff --git a/src/views/PointSystemV2.vue b/src/views/PointSystemV2.vue new file mode 100644 index 000000000..e7c6403f7 --- /dev/null +++ b/src/views/PointSystemV2.vue @@ -0,0 +1,472 @@ + + + + + + + diff --git a/src/views/ReferralProgram.vue b/src/views/ReferralProgram.vue index d926bb350..2fbf246b9 100644 --- a/src/views/ReferralProgram.vue +++ b/src/views/ReferralProgram.vue @@ -459,7 +459,7 @@ export default class ReferralProgram extends Mixins( .el-loading-mask { margin-right: auto; margin-left: auto; - width: calc(100% - #{$inner-spacing-big} * 2); + width: 100%; } .invited-users-container { .el-collapse-item__content { diff --git a/src/views/RewardsTabs.vue b/src/views/RewardsTabs.vue index 8615bba3a..3db9bb736 100644 --- a/src/views/RewardsTabs.vue +++ b/src/views/RewardsTabs.vue @@ -1,10 +1,10 @@