From 51625e2f1db7f9e0822c954b4e7d9237cd49aceb Mon Sep 17 00:00:00 2001 From: Farrah Mae Ochoa <82315152+farrah-deriv@users.noreply.github.com> Date: Wed, 21 Jun 2023 09:17:38 +0400 Subject: [PATCH 01/18] fix: thai language (#9071) --- packages/p2p/src/components/i18next/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/p2p/src/components/i18next/index.js b/packages/p2p/src/components/i18next/index.js index 3c6a28591b56..8b3124be1828 100644 --- a/packages/p2p/src/components/i18next/index.js +++ b/packages/p2p/src/components/i18next/index.js @@ -13,6 +13,7 @@ import it from 'Translations/it.json'; import pl from 'Translations/pl.json'; import pt from 'Translations/pt.json'; import ru from 'Translations/ru.json'; +import th from 'Translations/th.json'; import vi from 'Translations/ru.json'; import zh_cn from 'Translations/zh_cn.json'; import zh_tw from 'Translations/zh_tw.json'; @@ -40,6 +41,7 @@ const i18n_config = { PL: { translations: { ...pl } }, PT: { translations: { ...pt } }, RU: { translations: { ...ru } }, + TH: { translations: { ...th } }, VI: { translations: { ...vi } }, ZH_CN: { translations: { ...zh_cn } }, ZH_TW: { translations: { ...zh_tw } }, From f6f3e1b9c38bdd77508df35037d17f2a93185178 Mon Sep 17 00:00:00 2001 From: henry-deriv <118344354+henry-deriv@users.noreply.github.com> Date: Wed, 21 Jun 2023 15:47:06 +0800 Subject: [PATCH 02/18] henry/fix: broken account adder modal in mobile (#9068) * fix: broken account adder modal in mobile * fix: iOS spacing issue --- .../sass/app/_common/components/contract-type-dialog.scss | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/trader/src/sass/app/_common/components/contract-type-dialog.scss b/packages/trader/src/sass/app/_common/components/contract-type-dialog.scss index bbfbb34b4947..73fca5a74fe2 100644 --- a/packages/trader/src/sass/app/_common/components/contract-type-dialog.scss +++ b/packages/trader/src/sass/app/_common/components/contract-type-dialog.scss @@ -103,8 +103,6 @@ } } -.dc-mobile-dialog { - &__content { - height: 100%; - } +.contract-type-widget__header ~ .dc-mobile-dialog__content { + height: 100%; } From 9c948ed44060d1cdc318ca0728694cfdd7b7186b Mon Sep 17 00:00:00 2001 From: Sui Sin <103026762+suisin-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 14:29:14 +0800 Subject: [PATCH 03/18] Suisin/chore: add Duplicate Currency Check (#8540) * chore: add Duplicate Currency Check * chore: change error message to a more meaningful ones * chore: update code to share existing component --------- Co-authored-by: Jim Daniels Wasswa <104334373+jim-deriv@users.noreply.github.com> --- .../App/Containers/RealAccountSignup/signup-error-content.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/src/App/Containers/RealAccountSignup/signup-error-content.jsx b/packages/core/src/App/Containers/RealAccountSignup/signup-error-content.jsx index c25878e51f9b..9be688fa45ae 100644 --- a/packages/core/src/App/Containers/RealAccountSignup/signup-error-content.jsx +++ b/packages/core/src/App/Containers/RealAccountSignup/signup-error-content.jsx @@ -98,6 +98,7 @@ const TryAgain = ({ text, onConfirm }) => ( const ErrorCTA = ({ code, onConfirm }) => { switch (code) { + case 'DuplicateCurrency': case 'CurrencyTypeNotAllowed': return ; case 'DuplicateAccount': From a36d71a78b1b2e80af8ec39765e09734dbbeb0fd Mon Sep 17 00:00:00 2001 From: yaswanth-deriv <121096908+yaswanth-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 10:49:33 +0400 Subject: [PATCH 04/18] Yaswanth/88554/remove connect from account (#8551) * refactor: remove all connect methods in accounts package * refactor: remove connect methods from account package * refactor: added ui variables in mockstore * refactor: destructing store variables * refactor: implemented store provider in test cases * refactor: added store provider in test cases * refactor: need to comment some test cases * refactor: made changes in test files * refactor: to fix issue in toggle language settings test cases * refactor: to fux test cases issues * refactor: to fux test cases issues * refactor: to fix addressed comments * refactor: remove init store from app * refactor: fix circle ci issues * refactor: fix circle ci issues * refactor: to fix cicleci issues * refactor: to fix cicleci issues * refactor: to fix cicleci issues * refactor: made changes in test files amd mock store * chore: to resolve merge conflicts * refactor: to resolve circleci issues * refactor: added store provider in test cases * refactor: to resolve circleci issues * refactor: made changes in mockstore * refactor: made changes in mockstore * refactor: to fix circle ci issues * refactor: to resolve circle ci issue from mockstore * refactor: to resolve circle ci issue in account limit spec file * refactor: to reduce duplication percentage * refactor: to fix sonarcloud minor bug * refactor: empty commit * refactor: empty commit * refactor: to resolve sonarcloud bugs * refactor: to resolve sonarcloud bugs * refactor: Empty commit * refactor: fix circleci issues --------- Co-authored-by: Sandeep Rajput <90243468+sandeep-deriv@users.noreply.github.com> Co-authored-by: Ali(Ako) Hosseini --- packages/account/package.json | 1 + packages/account/src/App.tsx | 16 +- .../Routes/__tests__/binary-link.spec.tsx | 6 - .../Routes/__tests__/binary-routes.spec.tsx | 6 - .../__tests__/account-limits.spec.tsx | 395 +++++++---- .../account-limits/account-limits.tsx | 632 +++++++++--------- .../api-token.spec.js} | 115 +++- .../src/Components/api-token/api-token.tsx | 18 +- .../forms/personal-details-form.jsx | 8 +- .../__tests__/icon-with-message.spec.tsx | 46 +- .../icon-with-message/icon-with-message.tsx | 26 +- .../__tests__/self-exclusion.spec.tsx | 188 ++++-- .../self-exclusion/self-exclusion.tsx | 49 +- packages/account/src/Containers/account.jsx | 80 +-- .../src/Containers/reset-trading-password.jsx | 44 +- packages/account/src/Containers/routes.jsx | 33 +- .../financial-assessment.jsx | 65 +- .../TradingAssessment/trading-assessment.jsx | 13 +- .../LanguageSettings/language-settings.tsx | 21 +- .../__tests__/personal-details.spec.js | 43 +- .../PersonalDetails/personal-details.jsx | 113 +--- .../Security/AccountClosed/account-closed.jsx | 12 +- .../Security/AccountLimits/account-limits.jsx | 13 +- .../Sections/Security/ApiToken/api-token.jsx | 4 +- .../__tests__/closing-account-reason.spec.js | 26 +- .../ClosingAccount/closing-account-reason.jsx | 16 +- .../ClosingAccount/closing-account-steps.jsx | 10 +- .../Security/LoginHistory/login-history.jsx | 17 +- .../Security/Passwords/deriv-email.jsx | 15 +- .../Sections/Security/Passwords/passwords.jsx | 76 +-- .../Security/SelfExclusion/self-exclusion.jsx | 19 +- .../two-factor-authentication.jsx | 39 +- .../ProofOfAddress/proof-of-address-form.jsx | 43 +- .../ProofOfAddress/proof-of-address.jsx | 37 +- .../ProofOfIdentity/proof-of-identity.jsx | 53 +- .../__test__/proof-of-ownership.spec.js | 83 ++- .../ProofOfOwnership/proof-of-ownership.jsx | 24 +- packages/account/src/Stores/connect.js | 31 - packages/account/src/Stores/index.ts | 26 - packages/account/src/Stores/init-store.js | 12 - packages/stores/src/mockStore.ts | 97 ++- packages/stores/types.ts | 54 +- 42 files changed, 1335 insertions(+), 1290 deletions(-) rename packages/account/src/Components/api-token/{__tests__/api-token.spec.tsx => _tests_/api-token.spec.js} (84%) delete mode 100644 packages/account/src/Stores/connect.js delete mode 100644 packages/account/src/Stores/index.ts delete mode 100644 packages/account/src/Stores/init-store.js diff --git a/packages/account/package.json b/packages/account/package.json index cfd2445d9f8d..6feecfbc8024 100644 --- a/packages/account/package.json +++ b/packages/account/package.json @@ -31,6 +31,7 @@ "@deriv/api-types": "^1.0.94", "@deriv/components": "^1.0.0", "@deriv/shared": "^1.0.0", + "@deriv/stores":"^1.0.0", "@deriv/translations": "^1.0.0", "bowser": "^2.9.0", "classnames": "^2.2.6", diff --git a/packages/account/src/App.tsx b/packages/account/src/App.tsx index 0a666cb80bf1..f658afe8facd 100644 --- a/packages/account/src/App.tsx +++ b/packages/account/src/App.tsx @@ -1,27 +1,27 @@ import React from 'react'; import Routes from './Containers/routes'; import ResetTradingPassword from './Containers/reset-trading-password'; -import { MobxContentProvider } from './Stores/connect'; -import initStore from './Stores/init-store'; -import TCoreStore from './Stores/index'; +import { setWebsocket } from '@deriv/shared'; +import { StoreProvider } from '@deriv/stores'; +import { TCoreStores } from '@deriv/stores/types'; -// TODO: add correct types for stores and WS after implementing them +// TODO: add correct types for WS after implementing them type TAppProps = { passthrough: { - root_store: TCoreStore; + root_store: TCoreStores; WS: Record; }; }; const App = ({ passthrough }: TAppProps) => { const { root_store, WS } = passthrough; - initStore(root_store, WS); + setWebsocket(WS); return ( - + - + ); }; diff --git a/packages/account/src/Components/Routes/__tests__/binary-link.spec.tsx b/packages/account/src/Components/Routes/__tests__/binary-link.spec.tsx index 450cbb9b6aa3..7c47af226cd7 100644 --- a/packages/account/src/Components/Routes/__tests__/binary-link.spec.tsx +++ b/packages/account/src/Components/Routes/__tests__/binary-link.spec.tsx @@ -6,12 +6,6 @@ import { PlatformContext } from '@deriv/shared'; import { findRouteByPath } from '../helpers'; import BinaryLink from '../binary-link'; -jest.mock('Stores/connect', () => ({ - __esModule: true, - default: 'mockedDefaultExport', - connect: () => Component => Component, -})); - jest.mock('../helpers', () => ({ findRouteByPath: jest.fn(() => '/test/path'), normalizePath: jest.fn(() => '/test/path'), diff --git a/packages/account/src/Components/Routes/__tests__/binary-routes.spec.tsx b/packages/account/src/Components/Routes/__tests__/binary-routes.spec.tsx index c57920aaecb8..3938f7960aea 100644 --- a/packages/account/src/Components/Routes/__tests__/binary-routes.spec.tsx +++ b/packages/account/src/Components/Routes/__tests__/binary-routes.spec.tsx @@ -5,12 +5,6 @@ import { render, screen } from '@testing-library/react'; import { PlatformContext } from '@deriv/shared'; import BinaryRoutes from '../binary-routes'; -jest.mock('Stores/connect', () => ({ - __esModule: true, - default: 'mockedDefaultExport', - connect: () => Component => Component, -})); - jest.mock('../route-with-sub-routes', () => jest.fn(() =>
RouteWithSubRoutes
)); jest.mock('Constants/routes-config', () => () => [{}]); diff --git a/packages/account/src/Components/account-limits/__tests__/account-limits.spec.tsx b/packages/account/src/Components/account-limits/__tests__/account-limits.spec.tsx index bc0f8b7f825c..07c98028a783 100644 --- a/packages/account/src/Components/account-limits/__tests__/account-limits.spec.tsx +++ b/packages/account/src/Components/account-limits/__tests__/account-limits.spec.tsx @@ -3,12 +3,7 @@ import { screen, render } from '@testing-library/react'; import { formatMoney, isDesktop, isMobile, PlatformContext } from '@deriv/shared'; import AccountLimits from '../account-limits'; import { BrowserRouter } from 'react-router-dom'; - -jest.mock('Stores/connect.js', () => ({ - __esModule: true, - default: 'mockedDefaultExport', - connect: () => (Component: React.ReactElement) => Component, -})); +import { StoreProvider, mockStore } from '@deriv/stores'; jest.mock('@deriv/components', () => { const original_module = jest.requireActual('@deriv/components'); @@ -18,6 +13,11 @@ jest.mock('@deriv/components', () => { Loading: jest.fn(() => 'mockedLoading'), }; }); +jest.mock('@deriv/shared/src/services/ws-methods', () => ({ + __esModule: true, // this property makes it work, + default: 'mockedDefaultExport', + useWS: () => undefined, +})); jest.mock('@deriv/shared', () => ({ ...jest.requireActual('@deriv/shared'), @@ -31,110 +31,133 @@ jest.mock('Components/load-error-message', () => jest.fn(() => 'mockedLoadErrorM jest.mock('../account-limits-footer', () => jest.fn(() => 'mockedAccountLimitsFooter')); describe('', () => { - const props: React.ComponentProps = { - currency: 'AUD', - is_fully_authenticated: true, - is_switching: false, - is_virtual: false, + let store = mockStore({}); + const props = { overlay_ref: document.createElement('div'), - getLimits: jest.fn(() => Promise.resolve({ data: {} })), - account_limits: { - account_balance: 300000, - daily_transfers: { - dxtrade: { - allowed: 12, - available: 12, - }, - internal: { - allowed: 10, - available: 10, - }, - mt5: { - allowed: 10, - available: 10, - }, - }, - lifetime_limit: 13907.43, - market_specific: { - commodities: [ - { - name: 'Commodities', - payout_limit: 5000, - profile_name: 'moderate_risk', - turnover_limit: 50000, - }, - ], - cryptocurrency: [ - { - name: 'Cryptocurrencies', - payout_limit: 100.0, - profile_name: 'extreme_risk', - turnover_limit: 1000.0, - }, - ], - forex: [ - { - name: 'Smart FX', - payout_limit: 5000, - profile_name: 'moderate_risk', - turnover_limit: 50000, - }, - { - name: 'Major Pairs', - payout_limit: 20000, - profile_name: 'medium_risk', - turnover_limit: 100000, - }, - { - name: 'Minor Pairs', - payout_limit: 5000, - profile_name: 'moderate_risk', - turnover_limit: 50000, + }; + const mock = { + client: { + currency: 'AUD', + is_fully_authenticated: true, + is_switching: false, + is_virtual: false, + getLimits: jest.fn(() => Promise.resolve({ data: {} })), + account_limits: { + account_balance: 300000, + daily_transfers: { + dxtrade: { + allowed: 12, + available: 12, }, - ], - indices: [ - { - name: 'Stock Indices', - payout_limit: 20000, - profile_name: 'medium_risk', - turnover_limit: 100000, + internal: { + allowed: 10, + available: 10, }, - ], - synthetic_index: [ - { - name: 'Synthetic Indices', - payout_limit: 50000, - profile_name: 'low_risk', - turnover_limit: 500000, + mt5: { + allowed: 10, + available: 10, }, - ], + }, + lifetime_limit: 13907.43, + market_specific: { + commodities: [ + { + name: 'Commodities', + payout_limit: 5000, + profile_name: 'moderate_risk', + turnover_limit: 50000, + }, + ], + cryptocurrency: [ + { + name: 'Cryptocurrencies', + payout_limit: 100.0, + profile_name: 'extreme_risk', + turnover_limit: 1000.0, + }, + ], + forex: [ + { + name: 'Smart FX', + payout_limit: 5000, + profile_name: 'moderate_risk', + turnover_limit: 50000, + }, + { + name: 'Major Pairs', + payout_limit: 20000, + profile_name: 'medium_risk', + turnover_limit: 100000, + }, + { + name: 'Minor Pairs', + payout_limit: 5000, + profile_name: 'moderate_risk', + turnover_limit: 50000, + }, + ], + indices: [ + { + name: 'Stock Indices', + payout_limit: 20000, + profile_name: 'medium_risk', + turnover_limit: 100000, + }, + ], + synthetic_index: [ + { + name: 'Synthetic Indices', + payout_limit: 50000, + profile_name: 'low_risk', + turnover_limit: 500000, + }, + ], + }, + num_of_days: 30, + num_of_days_limit: 13907.43, + open_positions: 100, + payout: 50000, + remainder: 13907.43, + withdrawal_for_x_days_monetary: 0, + withdrawal_since_inception_monetary: 0, }, - num_of_days: 30, - num_of_days_limit: 13907.43, - open_positions: 100, - payout: 50000, - remainder: 13907.43, - withdrawal_for_x_days_monetary: 0, - withdrawal_since_inception_monetary: 0, }, }; - + store = mockStore(mock); it('should render the Loading component if is_switching is true', () => { - render(); + store = mockStore({ + client: { + is_switching: true, + }, + }); + render( + + + + ); expect(screen.getByText('mockedLoading')).toBeInTheDocument(); }); it('should render DemoMessage component if is_virtual is true', () => { - render(); + store = mockStore({ + client: { + is_switching: false, + is_virtual: true, + }, + }); + render( + + + + ); expect(screen.queryByTestId('dt_account_demo_message_wrapper')).toHaveClass('account__demo-message-wrapper'); expect(screen.getByText('mockedDemoMessage')).toBeInTheDocument(); }); it('should render LoadErrorMessage component if there is api_initial_load_error', () => { - render( - ', () => { num_of_days_limit: '', remainder: '', withdrawal_since_inception_monetary: '', - }} - /> + }, + is_switching: false, + is_virtual: false, + }, + }); + render( + + + ); expect(screen.getByText('mockedLoadErrorMessage')).toBeInTheDocument(); }); it('should render AccountLimits component', () => { - render(); + store = mockStore(mock); + render( + + + + ); expect(screen.queryByTestId('account_limits_data')).toBeInTheDocument(); }); it('should call setIsPopupOverlayShown fn ', () => { + store = mockStore(mock); const setIsPopupOverlayShown = jest.fn(); - render(); + render( + + + + ); expect(setIsPopupOverlayShown).toHaveBeenCalledTimes(1); }); it('should render Loading component if is_loading is true', () => { - render(); + render( + + + + ); expect(screen.queryByTestId('account_limits_data')).toBeInTheDocument(); }); it('should render AccountLimitsArticle component if should_show_article is true and is_from_derivgo is false in mobile mode', () => { (isMobile as jest.Mock).mockReturnValue(true); (isDesktop as jest.Mock).mockReturnValue(false); - render(); + render( + + + + ); expect(screen.getByRole('heading', { name: /account limits/i })).toBeInTheDocument(); expect( screen.queryByText(/to learn more about trading limits and how they apply, please go to the/i) @@ -180,9 +228,18 @@ describe('', () => { }); it('should render AccountLimitsArticle component if should_show_article is true and is_from_derivgo is true in mobile mode', () => { + store = mockStore({ + common: { + is_from_derivgo: true, + }, + }); (isMobile as jest.Mock).mockReturnValue(true); (isDesktop as jest.Mock).mockReturnValue(false); - render(); + render( + + + + ); expect(screen.getByRole('heading', { name: /account limits/i })).toBeInTheDocument(); expect( screen.queryByText(/to learn more about trading limits and how they apply, please go to the/i) @@ -190,14 +247,23 @@ describe('', () => { }); it('should not render AccountLimitsArticle component if should_show_article is false', () => { + store = mockStore(mock); (isMobile as jest.Mock).mockReturnValue(true); (isDesktop as jest.Mock).mockReturnValue(false); - render(); + render( + + + + ); expect(screen.queryByText('/account limits/i')).not.toBeInTheDocument(); }); it('should render Trading limits table and its trading limits contents properly', () => { - render(); + render( + + + + ); expect(screen.queryByTestId('account_limits_data')).toBeInTheDocument(); expect( @@ -218,13 +284,17 @@ describe('', () => { }); it('should render Maximum number of open positions- table cell and its contents properly', () => { - render(); + render( + + + + ); expect( screen.getByRole('cell', { name: /\*maximum number of open positions/i, }) ).toBeInTheDocument(); - const { open_positions } = props.account_limits; + const { open_positions } = store.client.account_limits; expect( screen.getByRole('cell', { name: open_positions?.toString(), @@ -233,13 +303,21 @@ describe('', () => { }); it('should call formatMoney', () => { - render(); - const { account_balance } = props.account_limits; - expect(formatMoney).toHaveBeenCalledWith(props.currency, account_balance, true); + render( + + + + ); + const { account_balance } = store.client.account_limits; + expect(formatMoney).toHaveBeenCalledWith(store.client.currency, account_balance, true); }); it('should render Trading limits table and its maximum daily turnover contents properly', () => { - render(); + render( + + + + ); expect(screen.queryByTestId('trading_daily_turnover_table')).toBeInTheDocument(); expect( screen.getByRole('columnheader', { @@ -259,12 +337,20 @@ describe('', () => { }); it('should not render withdrawal_limits_table is_app_settings is true', () => { - render(); + render( + + + + ); expect(screen.queryByTestId('withdrawal_limits_table')).not.toBeInTheDocument(); }); it('should render withdrawal_limits_table is_app_settings is false', () => { - render(); + render( + + + + ); expect(screen.queryByTestId('withdrawal_limits_table')).toBeInTheDocument(); expect( screen.getByRole('columnheader', { @@ -274,12 +360,20 @@ describe('', () => { }); it('withdrawal_limits_table should have a Limits header if is_fully_authenticated is true', () => { - render(); + render( + + + + ); expect(screen.getByTestId('withdrawal_limits_table')).toHaveTextContent('Limit'); }); it('show show withdrawal limit lifted message if is_fully_authenticated is true', () => { - render(); + render( + + + + ); expect( screen.getByRole('cell', { @@ -289,10 +383,17 @@ describe('', () => { }); it('withdrawal_limits_table should show `Total withdrawal limit` if is_fully_authenticated is false and is_appstore is true', () => { + store = mockStore({ + client: { + is_fully_authenticated: false, + }, + }); render( - + + + ); @@ -300,19 +401,33 @@ describe('', () => { }); it('withdrawal_limits_table should show `Total withdrawal allowed` when is_fully_authenticated is false and is_appstore is true', () => { + store = mockStore({ + client: { + is_fully_authenticated: false, + }, + }); render( - + + + ); expect(screen.getByText(/total withdrawal allowed/i)).toBeInTheDocument(); }); it('withdrawal_limits_table should show the verfiy button when is_fully_authenticated is false and is_appstore is true', () => { + store = mockStore({ + client: { + is_fully_authenticated: false, + }, + }); render( - + + + ); @@ -322,34 +437,48 @@ describe('', () => { name: /verify/i, }) ).toHaveAttribute('href', '/account/proof-of-identity'); - const { num_of_days_limit } = props.account_limits; - expect(formatMoney).toHaveBeenCalledWith(props.currency, num_of_days_limit, true); + const { num_of_days_limit } = store.client.account_limits; + expect(formatMoney).toHaveBeenCalledWith(store.client.currency, num_of_days_limit, true); }); it('withdrawal_limits_table should show total withdrawn and withdrawn remaining details', () => { + store = mockStore({ + client: { + is_fully_authenticated: false, + }, + }); render( - + + + ); - const { withdrawal_since_inception_monetary, remainder } = props.account_limits; + const { withdrawal_since_inception_monetary, remainder } = store.client.account_limits; expect(screen.getByText(/total withdrawn/i)).toBeInTheDocument(); - expect(formatMoney).toHaveBeenCalledWith(props.currency, withdrawal_since_inception_monetary, true); + expect(formatMoney).toHaveBeenCalledWith(store.client.currency, withdrawal_since_inception_monetary, true); expect(screen.getByText(/maximum withdrawal remaining/i)).toBeInTheDocument(); - expect(formatMoney).toHaveBeenCalledWith(props.currency, remainder, true); + expect(formatMoney).toHaveBeenCalledWith(store.client.currency, remainder, true); }); it('should show limit_notice message when is_appstore is true and is_fully_authenticated is false in mobile mode', () => { + store = mockStore({ + client: { + is_fully_authenticated: false, + }, + }); (isMobile as jest.Mock).mockReturnValue(true); (isDesktop as jest.Mock).mockReturnValue(false); render( - + + + ); @@ -357,12 +486,19 @@ describe('', () => { }); it('should not show limit_notice message when is_appstore is false and is_fully_authenticated is false', () => { + store = mockStore({ + client: { + is_fully_authenticated: false, + }, + }); (isMobile as jest.Mock).mockReturnValue(false); (isDesktop as jest.Mock).mockReturnValue(true); render( - + + + ); @@ -372,9 +508,14 @@ describe('', () => { }); it('should show AccountLimitsArticle when should_show_article and isDesktop is true', () => { + store = mockStore(mock); (isMobile as jest.Mock).mockReturnValue(false); (isDesktop as jest.Mock).mockReturnValue(true); - render(); + render( + + + + ); expect(screen.getByRole('heading', { name: /account limits/i })).toBeInTheDocument(); expect(screen.getByText(/these are default limits that we apply to your accounts\./i)).toBeInTheDocument(); expect( @@ -390,7 +531,11 @@ describe('', () => { it('should show AccountLimitsFooter if footer_ref is passed', () => { const footer = React.createRef(); - render(); + render( + + + + ); expect(screen.getByText(/mockedaccountlimitsfooter/i)).toBeInTheDocument(); }); }); diff --git a/packages/account/src/Components/account-limits/account-limits.tsx b/packages/account/src/Components/account-limits/account-limits.tsx index 78ad00173a5a..0bb41406c1ab 100644 --- a/packages/account/src/Components/account-limits/account-limits.tsx +++ b/packages/account/src/Components/account-limits/account-limits.tsx @@ -12,38 +12,13 @@ import AccountLimitsFooter from './account-limits-footer'; import AccountLimitsOverlay from './account-limits-overlay'; import AccountLimitsTableCell from './account-limits-table-cell'; import AccountLimitsTableHeader from './account-limits-table-header'; -import AccountLimitsTurnoverLimitRow, { TAccountLimitsCollection } from './account-limits-turnover-limit-row'; +import AccountLimitsTurnoverLimitRow from './account-limits-turnover-limit-row'; +import { observer, useStore } from '@deriv/stores'; import { FormikValues } from 'formik'; type TAccountLimits = { - account_limits: { - api_initial_load_error?: string; - open_positions?: React.ReactNode; - account_balance: string | number; - daily_transfers?: object; - payout: string | number; - lifetime_limit?: number; - market_specific: { - commodities: TAccountLimitsCollection[]; - cryptocurrency: TAccountLimitsCollection[]; - forex: TAccountLimitsCollection[]; - indices: TAccountLimitsCollection[]; - synthetic_index: TAccountLimitsCollection[]; - }; - num_of_days?: number; - num_of_days_limit: string | number; - remainder: string | number; - withdrawal_for_x_days_monetary?: number; - withdrawal_since_inception_monetary: string | number; - }; - currency: string; footer_ref?: React.RefObject; is_app_settings?: boolean; - getLimits: () => Promise<{ data: object }>; - is_fully_authenticated: boolean; - is_from_derivgo?: boolean; - is_switching: boolean; - is_virtual: boolean; overlay_ref: HTMLDivElement; setIsOverlayShown?: (is_overlay_shown?: boolean) => void; setIsPopupOverlayShown?: (is_popup_overlay_shown: boolean) => void; @@ -51,327 +26,332 @@ type TAccountLimits = { should_show_article?: boolean; }; -const AccountLimits = ({ - account_limits, - currency, - footer_ref, - getLimits, - is_app_settings, - is_fully_authenticated, - is_switching, - is_virtual, - overlay_ref, - is_from_derivgo, - setIsOverlayShown: setIsPopupOverlayShown, - should_bypass_scrollbars, - should_show_article, -}: TAccountLimits) => { - const isMounted = useIsMounted(); - const [is_loading, setLoading] = React.useState(false); - const [is_overlay_shown, setIsOverlayShown] = React.useState(false); - const { is_appstore } = React.useContext(PlatformContext); +const AccountLimits = observer( + ({ + footer_ref, + is_app_settings, + overlay_ref, + setIsOverlayShown: setIsPopupOverlayShown, + should_bypass_scrollbars, + should_show_article = true, + }: TAccountLimits) => { + const { client, common } = useStore(); + const { account_limits, currency, getLimits, is_fully_authenticated, is_virtual, is_switching } = client; + const { is_from_derivgo } = common; + const isMounted = useIsMounted(); + const [is_loading, setLoading] = React.useState(false); + const [is_overlay_shown, setIsOverlayShown] = React.useState(false); + const { is_appstore } = React.useContext(PlatformContext); - React.useEffect(() => { - if (is_virtual) { - setLoading(false); - } else { - getLimits().then(() => { - if (isMounted()) setLoading(false); - }); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + React.useEffect(() => { + if (is_virtual) { + setLoading(false); + } else { + getLimits().then(() => { + if (isMounted()) setLoading(false); + }); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); - React.useEffect(() => { - if (!is_virtual && account_limits && is_loading) { - setLoading(false); - } - }, [account_limits, is_virtual, is_loading]); + React.useEffect(() => { + if (!is_virtual && account_limits && is_loading) { + setLoading(false); + } + }, [account_limits, is_virtual, is_loading]); - React.useEffect(() => { - if (typeof setIsPopupOverlayShown === 'function') { - setIsPopupOverlayShown(is_overlay_shown); - } - }, [is_overlay_shown, setIsPopupOverlayShown]); + React.useEffect(() => { + if (typeof setIsPopupOverlayShown === 'function') { + setIsPopupOverlayShown(is_overlay_shown); + } + }, [is_overlay_shown, setIsPopupOverlayShown]); - const toggleOverlay = () => setIsOverlayShown(!is_overlay_shown); + const toggleOverlay = () => setIsOverlayShown(!is_overlay_shown); - if (is_switching) { - return ; - } + if (is_switching) { + return ; + } - if (is_virtual) { - return ( -
- -
- ); - } + if (is_virtual) { + return ( +
+ +
+ ); + } - const { - api_initial_load_error, - open_positions, - account_balance, - payout, - market_specific, - num_of_days_limit, - remainder, - withdrawal_since_inception_monetary, - }: TAccountLimits['account_limits'] = account_limits; + const { + api_initial_load_error, + open_positions, + account_balance, + payout, + market_specific, + num_of_days_limit, + remainder, + withdrawal_since_inception_monetary, + } = account_limits; - if (api_initial_load_error) { - return ; - } + if (api_initial_load_error) { + return ; + } - if (is_switching || is_loading) { - return ; - } + if (is_switching || is_loading) { + return ; + } - const { commodities, forex, indices, synthetic_index } = { ...market_specific }; - const forex_ordered = forex - ?.slice() - .sort((a: FormikValues, b: FormikValues) => (a.name > b.name ? 1 : b.name > a.name ? -1 : 0)); - const derived_ordered = synthetic_index - ?.slice() - .sort((a: FormikValues, b: FormikValues) => (a.level > b.level ? 1 : -1)); + const { commodities, forex, indices, synthetic_index } = { ...market_specific }; + const forex_ordered = forex + ?.slice() + .sort((a: FormikValues, b: FormikValues) => (a.name > b.name ? 1 : b.name > a.name ? -1 : 0)); + const derived_ordered = synthetic_index + ?.slice() + .sort((a: FormikValues, b: FormikValues) => (a.level > b.level ? 1 : -1)); - const context_value: TAccountLimitsContext = { - currency, - footer_ref, - overlay_ref, - toggleOverlay, - }; + const context_value: TAccountLimitsContext = { + currency, + footer_ref, + overlay_ref, + toggleOverlay, + }; - return ( - -
-
- {should_show_article && isMobile() && } -
- - - - - - - - - - - - - - - ( - - )} - > - - - {open_positions} - - - ( - - )} - > - - - - {/* null or 0 are expected form BE when max balance limit is not set */} - {account_balance ? ( - formatMoney(currency, account_balance, true) - ) : ( - - )} - - - - ( - - )} - > - - - - {formatMoney(currency, payout, true)} - - - - - - - - - -
- - - - ( - - )} - > - - - - - - - - - - - - - -
- {/* We only show "Withdrawal Limits" on account-wide settings pages. */} - {!is_app_settings && ( - - - - - - - - {is_fully_authenticated && ( - - - + return ( + +
+
+ {should_show_article && isMobile() && ( + + )} +
+ +
+ + + + + + + + + + + + + ( + )} - - - - {is_fully_authenticated ? ( + > + + + + {open_positions} + + + + ( + + )} + > + + + + {/* null or 0 are expected form BE when max balance limit is not set */} + {account_balance ? ( + formatMoney(currency, account_balance, true) + ) : ( + + )} + + + + ( + + )} + > + + + + {formatMoney(currency, payout, true)} + + + + + + + + + +
+ + + + ( + + )} + > + + + + + + + + + + + + + +
+ {/* We only show "Withdrawal Limits" on account-wide settings pages. */} + {!is_app_settings && ( + + + - - - - {localize( - 'Your account is fully authenticated and your withdrawal limits have been lifted.' - )} - - - - + + + + {is_fully_authenticated && ( + + + + )} - ) : ( - + + + {is_fully_authenticated ? ( - {is_appstore ? ( - - ) : ( - - )} - {is_appstore && !is_fully_authenticated && ( - - - {localize( - 'To increase limit please verify your identity' - )} - - + + + {localize( + 'Your account is fully authenticated and your withdrawal limits have been lifted.' + )} + + + + + + ) : ( + + + + {is_appstore ? ( + + ) : ( + + )} + {is_appstore && !is_fully_authenticated && ( + - {localize('Verify')} + {localize( + 'To increase limit please verify your identity' + )} - - - )} - - - {formatMoney(currency, num_of_days_limit, true)} - - - - - - - - {formatMoney( - currency, - withdrawal_since_inception_monetary, - true - )} - - - - - - - - {formatMoney(currency, remainder, true)} - - - - )} - -
- {(!is_appstore || isMobile()) && ( -
- - {is_fully_authenticated ? ( - - ) : ( - + + + {localize('Verify')} + + + + )} + + + {formatMoney(currency, num_of_days_limit, true)} + + + + + + + + {formatMoney( + currency, + withdrawal_since_inception_monetary, + true + )} + + + + + + + + {formatMoney(currency, remainder, true)} + + + )} - -
- )} -
- )} -
+ + + {(!is_appstore || isMobile()) && ( +
+ + {is_fully_authenticated ? ( + + ) : ( + + )} + +
+ )} + + )} + +
+ {should_show_article && isDesktop() && } + {footer_ref && } + {is_overlay_shown && overlay_ref && }
- {should_show_article && isDesktop() && } - {footer_ref && } - {is_overlay_shown && overlay_ref && } - -
-
- ); -}; + + + ); + } +); export default AccountLimits; diff --git a/packages/account/src/Components/api-token/__tests__/api-token.spec.tsx b/packages/account/src/Components/api-token/_tests_/api-token.spec.js similarity index 84% rename from packages/account/src/Components/api-token/__tests__/api-token.spec.tsx rename to packages/account/src/Components/api-token/_tests_/api-token.spec.js index 0c6ff192bcd4..1243918e1153 100644 --- a/packages/account/src/Components/api-token/__tests__/api-token.spec.tsx +++ b/packages/account/src/Components/api-token/_tests_/api-token.spec.js @@ -1,7 +1,8 @@ import React from 'react'; import { act, fireEvent, render, screen, waitFor } from '@testing-library/react'; -import { getPropertyValue, isDesktop, isMobile, useIsMounted } from '@deriv/shared'; -import ApiToken, { TApiToken } from '../api-token'; +import { getPropertyValue, isDesktop, isMobile, useIsMounted, WS } from '@deriv/shared'; +import ApiToken from '../api-token'; +import { StoreProvider, mockStore } from '@deriv/stores'; jest.mock('@deriv/shared', () => ({ ...jest.requireActual('@deriv/shared'), @@ -10,6 +11,29 @@ jest.mock('@deriv/shared', () => ({ isMobile: jest.fn(() => false), useIsMounted: jest.fn().mockImplementation(() => () => true), })); +jest.mock('@deriv/shared/src/services/ws-methods', () => ({ + __esModule: true, // this property makes it work, + default: 'mockedDefaultExport', + WS: { + apiToken: jest.fn(() => + Promise.resolve({ + api_token: { + tokens: [], + }, + }) + ), + authorized: { + apiToken: jest.fn(() => + Promise.resolve({ + api_token: { + tokens: [], + }, + }) + ), + }, + }, + useWS: () => undefined, +})); jest.mock('@deriv/components', () => ({ ...jest.requireActual('@deriv/components'), @@ -48,13 +72,18 @@ describe('', () => { const your_access_description = "To access your mobile apps and other third-party apps, you'll first need to generate an API token."; - const mock_props: TApiToken = { + let store = mockStore(); + store = mockStore({ + client: { + is_switching: false, + }, + }); + const mock_props = { footer_ref: undefined, is_app_settings: false, - is_switching: false, overlay_ref: undefined, setIsOverlayShown: jest.fn(), - ws: { + WS: { apiToken: jest.fn(() => Promise.resolve({ api_token: { @@ -75,9 +104,13 @@ describe('', () => { }; it('should render ApiToken component without app_settings and footer', async () => { - render(); + render( + + + + ); - expect(mock_props.ws.authorized.apiToken).toHaveBeenCalled(); + expect(WS.authorized.apiToken).toHaveBeenCalled(); expect(await screen.findByText(admin_scope_description)).toBeInTheDocument(); expect(await screen.findByText(admin_scope_note)).toBeInTheDocument(); @@ -95,9 +128,13 @@ describe('', () => { it('should not render ApiToken component if is not mounted', () => { useIsMounted.mockImplementationOnce(() => () => false); - render(); + render( + + + + ); - expect(mock_props.ws.authorized.apiToken).toHaveBeenCalled(); + expect(WS.authorized.apiToken).toHaveBeenCalled(); expect(screen.getByText('Loading')).toBeInTheDocument(); expect(screen.queryByText(admin_scope_description)).not.toBeInTheDocument(); @@ -117,7 +154,11 @@ describe('', () => { isMobile.mockReturnValueOnce(true); isDesktop.mockReturnValueOnce(false); - render(); + render( + + + + ); expect(await screen.findByText(admin_scope_description)).toBeInTheDocument(); expect(await screen.findByText(admin_scope_note)).toBeInTheDocument(); @@ -134,7 +175,11 @@ describe('', () => { it('should render ApiToken component with app_settings', async () => { mock_props.is_app_settings = true; - render(); + render( + + + + ); await waitFor(() => { expect(screen.queryByText(our_access_description)).not.toBeInTheDocument(); @@ -150,7 +195,11 @@ describe('', () => { mock_props.footer_ref = footer_portal_root_el; mock_props.overlay_ref = overlay_portal_root_el; - render(); + render( + + + + ); expect(await screen.findByText(learn_more_title)).toBeInTheDocument(); expect(screen.queryByText(our_access_description)).not.toBeInTheDocument(); @@ -166,14 +215,18 @@ describe('', () => { }); it('should choose checkbox, enter a valid value and create token', async () => { - render(); + render( + + + + ); expect(screen.queryByText('New token name')).not.toBeInTheDocument(); - const checkboxes: HTMLInputElement[] = await screen.findAllByRole('checkbox'); + const checkboxes = await screen.findAllByRole('checkbox'); const create_btn = await screen.findByRole('button'); - const read_checkbox = checkboxes.find(card => card.name === 'read') as HTMLInputElement; // Typecasting it since find can return undefined as well - const token_name_input: HTMLInputElement = await screen.findByLabelText('Token name'); + const read_checkbox = checkboxes.find(card => card.name === 'read'); // Typecasting it since find can return undefined as well + const token_name_input = await screen.findByLabelText('Token name'); expect(checkboxes.length).toBe(5); expect(create_btn).toBeDisabled(); @@ -202,7 +255,7 @@ describe('', () => { const updated_token_name_input = await screen.findByLabelText('Token name'); expect(updated_token_name_input.value).toBe(''); - const createToken = mock_props.ws.apiToken; + const createToken = WS.apiToken; expect(createToken).toHaveBeenCalledTimes(1); }); @@ -226,7 +279,11 @@ describe('', () => { }, ]); - render(); + render( + + + + ); expect(await screen.findByText('First test token')).toBeInTheDocument(); expect(await screen.findByText('Last used')).toBeInTheDocument(); @@ -255,7 +312,7 @@ describe('', () => { expect(yes_btn_1).toBeInTheDocument(); fireEvent.click(yes_btn_1); - const deleteToken = mock_props.ws.authorized.apiToken; + const deleteToken = WS.authorized.apiToken; expect(deleteToken).toHaveBeenCalled(); await waitFor(() => { expect(yes_btn_1).not.toBeInTheDocument(); @@ -287,7 +344,11 @@ describe('', () => { }, ]); - render(); + render( + + + + ); expect(await screen.findByText('First test token')).toBeInTheDocument(); expect(screen.queryByText('FirstTokenID')).not.toBeInTheDocument(); @@ -349,7 +410,11 @@ describe('', () => { }, ]); - render(); + render( + + + + ); expect((await screen.findAllByText('Name')).length).toBe(3); expect((await screen.findAllByText('Last Used')).length).toBe(3); @@ -364,7 +429,7 @@ describe('', () => { }); it('should show token error if exists', async () => { - mock_props.ws.authorized.apiToken = jest.fn(() => + WS.authorized.apiToken = jest.fn(() => Promise.resolve({ api_token: { tokens: [] }, error: { message: 'New test error' }, @@ -373,7 +438,11 @@ describe('', () => { getPropertyValue.mockReturnValue('New test error'); - render(); + render( + + + + ); expect(await screen.findByText('New test error')).toBeInTheDocument(); }); diff --git a/packages/account/src/Components/api-token/api-token.tsx b/packages/account/src/Components/api-token/api-token.tsx index 0c6dbb2e9170..558e16a5725c 100644 --- a/packages/account/src/Components/api-token/api-token.tsx +++ b/packages/account/src/Components/api-token/api-token.tsx @@ -3,7 +3,7 @@ import classNames from 'classnames'; import { Formik, Form, Field, FormikValues, FormikErrors, FieldProps } from 'formik'; import { Timeline, Input, Button, ThemedScrollbars, Loading } from '@deriv/components'; import InlineNoteWithIcon from '../inline-note-with-icon'; -import { isDesktop, isMobile, getPropertyValue, useIsMounted } from '@deriv/shared'; +import { isDesktop, isMobile, getPropertyValue, useIsMounted, WS } from '@deriv/shared'; import { localize } from '@deriv/translations'; import LoadErrorMessage from 'Components/load-error-message'; import ApiTokenArticle from './api-token-article'; @@ -13,6 +13,7 @@ import ApiTokenOverlay from './api-token-overlay'; import ApiTokenTable from './api-token-table'; import ApiTokenContext from './api-token-context'; import { TToken } from 'Types'; +import { observer, useStore } from '@deriv/stores'; const MIN_TOKEN = 2; const MAX_TOKEN = 32; @@ -32,7 +33,6 @@ type AptTokenState = { export type TApiToken = { footer_ref: Element | DocumentFragment | undefined; is_app_settings: boolean; - is_switching: boolean; overlay_ref: | undefined | ((...args: unknown[]) => unknown) @@ -41,10 +41,11 @@ export type TApiToken = { }>; setIsOverlayShown: (is_overlay_shown: boolean | undefined) => void; // eslint-disable-next-line @typescript-eslint/no-explicit-any - ws: any; }; -const ApiToken = ({ footer_ref, is_app_settings, is_switching, overlay_ref, setIsOverlayShown, ws }: TApiToken) => { +const ApiToken = ({ footer_ref, is_app_settings, overlay_ref, setIsOverlayShown }: TApiToken) => { + const { client } = useStore(); + const { is_switching } = client; const isMounted = useIsMounted(); const prev_is_switching = React.useRef(is_switching); const [state, setState] = React.useReducer( @@ -122,9 +123,8 @@ const ApiToken = ({ footer_ref, is_app_settings, is_switching, overlay_ref, setI const selectedTokenScope = (values: FormikValues) => Object.keys(values).filter(item => item !== 'token_name' && values[item]); - const handleSubmit = async (values: FormikValues, { setSubmitting, setFieldError, resetForm }: any) => { - const token_response = await ws.apiToken({ + const token_response = await WS.apiToken({ api_token: 1, new_token: values.token_name, new_token_scopes: selectedTokenScope(values), @@ -163,14 +163,14 @@ const ApiToken = ({ footer_ref, is_app_settings, is_switching, overlay_ref, setI const getApiTokens = async () => { setState({ is_loading: true }); - const token_response = await ws.authorized.apiToken({ api_token: 1 }); + const token_response = await WS.authorized.apiToken({ api_token: 1 }); populateTokenResponse(token_response); }; const deleteToken = async (token: string) => { setState({ is_delete_loading: true }); - const token_response = await ws.authorized.apiToken({ api_token: 1, delete_token: token }); + const token_response = await WS.authorized.apiToken({ api_token: 1, delete_token: token }); populateTokenResponse(token_response); @@ -356,4 +356,4 @@ const ApiToken = ({ footer_ref, is_app_settings, is_switching, overlay_ref, setI ); }; -export default ApiToken; +export default observer(ApiToken); diff --git a/packages/account/src/Components/forms/personal-details-form.jsx b/packages/account/src/Components/forms/personal-details-form.jsx index a3f5aa7f0c83..6424e65f757b 100644 --- a/packages/account/src/Components/forms/personal-details-form.jsx +++ b/packages/account/src/Components/forms/personal-details-form.jsx @@ -221,9 +221,7 @@ const PersonalDetailsForm = ({ ({ - __esModule: true, - default: 'mockedDefaultExport', - connect: () => Component => Component, -})); +import { mockStore, StoreProvider } from '@deriv/stores'; jest.mock('@deriv/components', () => { const original_module = jest.requireActual('@deriv/components'); @@ -20,27 +15,46 @@ describe('', () => { icon: 'string', message: 'title', }; + const store = mockStore(); it('should render the IconWithMessage component', () => { - render(); + render( + + + + ); expect(screen.getByText('mockedIcon')).toBeInTheDocument(); expect(screen.getByText('title')).toBeInTheDocument(); }); it('should not render the button component if has_button is false', () => { - render(); + render( + + + + ); const btn = screen.queryByTestId('icon-with-message-button'); expect(btn).not.toBeInTheDocument(); }); it('should show "Switch to real account" button label if user have real account', () => { - render(); + store.client.has_any_real_account = true; + render( + + + + ); const btn = screen.getByTestId('icon-with-message-button'); expect(btn).toBeInTheDocument(); expect(screen.getByText('Switch to real account')).toBeInTheDocument(); }); it('should show "Add a real account" button label if user doesnt have real account', () => { - render(); + store.client.has_any_real_account = false; + render( + + + + ); expect(screen.getByText('Add a real account')).toBeInTheDocument(); }); @@ -49,16 +63,16 @@ describe('', () => { icon: 'string', message: 'title', has_button: true, - has_real_account: true, }; + store.client.has_any_real_account = true; const toggleShouldShowRealAccountsList = jest.fn(); const toggleAccountsDialog = jest.fn(); + store.ui.toggleShouldShowRealAccountsList = toggleShouldShowRealAccountsList; + store.ui.toggleAccountsDialog = toggleAccountsDialog; render( - + + + ); const btn = screen.getByTestId('icon-with-message-button'); expect(btn).toBeInTheDocument(); diff --git a/packages/account/src/Components/icon-with-message/icon-with-message.tsx b/packages/account/src/Components/icon-with-message/icon-with-message.tsx index bdd939eaf56f..ce3ca078034d 100644 --- a/packages/account/src/Components/icon-with-message/icon-with-message.tsx +++ b/packages/account/src/Components/icon-with-message/icon-with-message.tsx @@ -3,26 +3,18 @@ import classNames from 'classnames'; import { Icon, Text, Button } from '@deriv/components'; import { isMobile, PlatformContext } from '@deriv/shared'; import { localize } from '@deriv/translations'; -import { connect } from 'Stores/connect'; -import RootStore from 'Stores/index'; +import { observer, useStore } from '@deriv/stores'; type TIconWithMessage = { icon: string; has_button?: boolean; - has_real_account?: boolean; message: string; - toggleAccountsDialog: (status?: boolean) => void; - toggleShouldShowRealAccountsList: (value: boolean) => void; }; -const IconWithMessage = ({ - has_button, - has_real_account, - icon, - message, - toggleAccountsDialog, - toggleShouldShowRealAccountsList, -}: TIconWithMessage) => { +const IconWithMessage = observer(({ has_button, icon, message }: TIconWithMessage) => { + const { client, ui } = useStore(); + const { has_any_real_account: has_real_account } = client; + const { toggleAccountsDialog, toggleShouldShowRealAccountsList } = ui; const { is_appstore } = React.useContext(PlatformContext); return ( @@ -53,10 +45,6 @@ const IconWithMessage = ({ )} ); -}; +}); -export default connect(({ client, ui }: RootStore) => ({ - has_real_account: client.has_any_real_account, - toggleAccountsDialog: ui.toggleAccountsDialog, - toggleShouldShowRealAccountsList: ui.toggleShouldShowRealAccountsList, -}))(IconWithMessage); +export default IconWithMessage; diff --git a/packages/account/src/Components/self-exclusion/__tests__/self-exclusion.spec.tsx b/packages/account/src/Components/self-exclusion/__tests__/self-exclusion.spec.tsx index 2453cecb7313..909dbbdfdb9a 100644 --- a/packages/account/src/Components/self-exclusion/__tests__/self-exclusion.spec.tsx +++ b/packages/account/src/Components/self-exclusion/__tests__/self-exclusion.spec.tsx @@ -3,46 +3,71 @@ import { act } from 'react-dom/test-utils'; import { fireEvent, render, screen, waitFor } from '@testing-library/react'; import SelfExclusion from '../self-exclusion'; import { FormikValues } from 'formik'; +import { StoreProvider, mockStore } from '@deriv/stores'; +import { WS } from '@deriv/shared'; const portal_root = document.createElement('div'); document.body.appendChild(portal_root); -jest.mock('Stores/connect.js', () => ({ - __esModule: true, - default: 'mockedDefaultExport', - connect: () => (Component: React.Component) => Component, -})); - jest.mock('@deriv/shared', () => ({ ...jest.requireActual('@deriv/shared'), useIsMounted: jest.fn().mockImplementation(() => () => true), })); +jest.mock('@deriv/shared/src/services/ws-methods', () => ({ + __esModule: true, // this property makes it work, + default: 'mockedDefaultExport', + WS: { + authorized: { + getLimits: jest.fn(() => + Promise.resolve({ + get_limits: {}, + }) + ), + getSelfExclusion: jest.fn(() => + Promise.resolve({ + error: { message: '' }, + }) + ), + setSelfExclusion: jest.fn(() => + Promise.resolve({ + error: {}, + }) + ), + }, + }, + useWS: () => undefined, +})); jest.mock('../self-exclusion-modal', () => { const MockSelfExclusionModal = () =>
SelfExclusionModal
; return MockSelfExclusionModal; }); - +const mock = { + client: { + currency: '', + standpoint: { + svg: false, + }, + is_uk: false, + is_virtual: false, + is_switching: false, + landing_company_shortcode: '', + logout: jest.fn(), + }, + ui: { + is_tablet: false, + }, +}; +let store = mockStore(mock); describe('', () => { let mock_props = { - currency: '', footer_ref: undefined, is_app_settings: false, is_appstore: false, - is_cr: false, - is_eu: false, - is_mf: false, - is_mlt: false, - is_mx: false, - is_switching: false, - is_tablet: false, - is_uk: false, - is_virtual: false, is_wrapper_bypassed: false, - logout: jest.fn(), overlay_ref: document.createElement('div'), setIsOverlayShown: jest.fn(), - ws: { + WS: { authorized: { getLimits: () => Promise.resolve({ @@ -54,61 +79,52 @@ describe('', () => { }), setSelfExclusion: () => Promise.resolve({ - error: {}, + error: false, }), }, }, }; beforeEach(() => { + mock.client.currency = 'Test currency'; + store = mockStore(mock); mock_props = { - currency: 'Test currency', footer_ref: undefined, is_app_settings: false, is_appstore: false, - is_cr: false, - is_eu: false, - is_mf: false, - is_mlt: false, - is_mx: false, - is_switching: false, - is_tablet: false, - is_uk: false, - is_virtual: false, is_wrapper_bypassed: false, - logout: jest.fn(), overlay_ref: document.createElement('div'), setIsOverlayShown: jest.fn(), - ws: { - authorized: { - getLimits: () => - Promise.resolve({ - get_limits: {}, - }), - getSelfExclusion: () => - Promise.resolve({ - error: { message: '' }, - }), - setSelfExclusion: () => - Promise.resolve({ - error: {}, - }), - }, - }, }; }); + afterEach(() => { + jest.clearAllMocks(); + }); it('should render SelfExclusion component for virtual account', () => { - mock_props.is_virtual = true; + store = mockStore({ + client: { + is_virtual: true, + }, + }); - render(); + render( + + + + ); expect(screen.getByText('This feature is not available for demo accounts.')).toBeInTheDocument(); }); it('should render SelfExclusion component with SelfExclusionModal', async () => { + store = mockStore(mock); await act(async () => { - render(); + render( + + + + ); }); expect(screen.getByText('SelfExclusionModal')).toBeInTheDocument(); @@ -120,22 +136,40 @@ describe('', () => { }); it('should render SelfExclusion component with error', async () => { - mock_props.ws.authorized.getSelfExclusion = () => + WS.authorized.getSelfExclusion = jest.fn(() => Promise.resolve({ error: { message: 'Test getSelfExclusion response error' }, - }); + }) + ); await act(async () => { - render(); + render( + + + + ); }); expect(screen.queryByText('Test getSelfExclusion response error')).toBeInTheDocument(); }); it('Should trigger session_duration_limit input and show error if the value is greater than 60480 or does not show if less than 60480', async () => { - mock_props.is_eu = true; + store = mockStore({ + client: { + is_eu: true, + }, + }); + WS.authorized.getSelfExclusion = jest.fn(() => + Promise.resolve({ + error: { message: '' }, + }) + ); - render(); + render( + + + + ); const inputs = await screen.findAllByRole('textbox'); const session_duration_limit_input = inputs.find( @@ -163,8 +197,17 @@ describe('', () => { it('Should trigger exclude_until input and show error depends on input value', async () => { (Date.now as jest.Mock) = jest.fn(() => new Date('2022-02-03')); - - render(); + WS.authorized.getSelfExclusion = jest.fn(() => + Promise.resolve({ + error: { message: '' }, + }) + ); + store = mockStore(mock); + render( + + + + ); const inputs = await screen.findAllByRole('textbox'); const exclude_until_input = inputs.find((input: FormikValues) => input.name === 'exclude_until'); @@ -187,13 +230,24 @@ describe('', () => { }); it('should trigger inputs with data, add new data, and show error wih invalid input data', async () => { - mock_props.ws.authorized.setSelfExclusion = () => + store = mockStore(mock); + WS.authorized.getSelfExclusion = jest.fn(() => + Promise.resolve({ + error: { message: '' }, + }) + ); + WS.authorized.setSelfExclusion = jest.fn(() => Promise.resolve({ error: { message: 'Test setSelfExclusion response error' }, - }); + }) + ); await act(async () => { - render(); + render( + + + + ); }); expect(screen.getByText('Your stake and loss limits')).toBeInTheDocument(); @@ -262,15 +316,19 @@ describe('', () => { }); it('should trigger inputs with correct data set timeout limit and logout', async () => { - mock_props.ws.authorized.setSelfExclusion = () => + WS.authorized.setSelfExclusion = jest.fn(() => Promise.resolve({ error: false, - }); - - const logout = mock_props.logout; + }) + ); + const logout = store.client.logout; await act(async () => { - render(); + render( + + + + ); }); expect(screen.getByText('Your stake and loss limits')).toBeInTheDocument(); diff --git a/packages/account/src/Components/self-exclusion/self-exclusion.tsx b/packages/account/src/Components/self-exclusion/self-exclusion.tsx index 0fbfc605ef18..2df2503ac0dd 100644 --- a/packages/account/src/Components/self-exclusion/self-exclusion.tsx +++ b/packages/account/src/Components/self-exclusion/self-exclusion.tsx @@ -8,6 +8,7 @@ import { getCurrencyDisplayCode, validNumber, useIsMounted, + WS, } from '@deriv/shared'; import { localize } from '@deriv/translations'; import DemoMessage from 'Components/demo-message'; @@ -18,26 +19,15 @@ import SelfExclusionModal from './self-exclusion-modal'; import SelfExclusionWrapper from './self-exclusion-wrapper'; import SelfExclusionForm from './self-exclusion-form'; import { FormikHelpers, FormikValues } from 'formik'; +import { observer, useStore } from '@deriv/stores'; type TSelfExclusion = { - currency: string; footer_ref?: React.RefObject; - is_app_settings: boolean; - is_cr: boolean; is_appstore: boolean; - is_eu: boolean; - is_mf: boolean; - is_mlt: boolean; - is_mx: boolean; - is_switching: boolean; - is_tablet: boolean; - is_uk: boolean; - is_virtual: boolean; + is_app_settings: boolean; is_wrapper_bypassed: boolean; - logout: () => void; overlay_ref: HTMLDivElement; setIsOverlayShown?: React.Dispatch>; - ws: FormikValues; }; type TExclusionData = { @@ -83,25 +73,20 @@ type TResponse = { }; const SelfExclusion = ({ - currency, footer_ref, is_app_settings, - is_cr, is_appstore, - is_eu, - is_mf, - is_mlt, - is_mx, - is_switching, - is_tablet, - is_uk, - is_virtual, - is_wrapper_bypassed, - logout, overlay_ref, setIsOverlayShown, - ws, }: TSelfExclusion) => { + const { client, ui } = useStore(); + const { currency, is_virtual, is_switching, standpoint, is_eu, is_uk, logout, landing_company_shortcode } = client; + const { is_tablet } = ui; + const is_wrapper_bypassed = false; + const is_mlt = landing_company_shortcode === 'malta'; + const is_mf = landing_company_shortcode === 'maltainvest'; + const is_mx = landing_company_shortcode === 'iom'; + const is_cr = standpoint.svg; const exclusion_fields_settings = Object.freeze({ max_number: 9999999999999, max_open_positions: 999999999, @@ -196,7 +181,6 @@ const SelfExclusion = ({ }, [state.show_article, setIsOverlayShown]); const resetState = () => setState(initial_state); - const validateFields = (values: FormikValues) => { const errors: Record = {}; @@ -309,7 +293,6 @@ const SelfExclusion = ({ }); return errors; }; - const handleSubmit = async (values: FormikValues, { setSubmitting }: FormikHelpers) => { const need_logout_exclusions = ['exclude_until', 'timeout_until']; const string_exclusions = ['exclude_until']; @@ -325,7 +308,7 @@ const SelfExclusion = ({ request[attr] = string_exclusions.includes(attr) ? values[attr] : +values[attr]; }); - ws.authorized.setSelfExclusion(request).then((response: TResponse) => resolve(response)); + WS.authorized.setSelfExclusion(request).then((response: TResponse) => resolve(response)); }); if (has_need_logout) { @@ -404,7 +387,7 @@ const SelfExclusion = ({ const getSelfExclusion = () => { setState({ is_loading: true }); - ws.authorized.getSelfExclusion({ get_self_exclusion: 1 }).then((self_exclusion_response: FormikValues) => { + WS.authorized.getSelfExclusion({ get_self_exclusion: 1 }).then((self_exclusion_response: FormikValues) => { populateExclusionResponse(self_exclusion_response); }); }; @@ -412,7 +395,7 @@ const SelfExclusion = ({ const getLimits = () => { setState({ is_loading: true }); - ws.authorized.getLimits({ get_limits: 1 }).then((limits: FormikValues) => { + WS.authorized.getLimits({ get_limits: 1 }).then((limits: FormikValues) => { exclusion_limits.current = limits; }); }; @@ -484,7 +467,7 @@ const SelfExclusion = ({ return ( - {/* Only show the modal in non-"" views, others will + {/* Only show the modal in non-"" views, others will use the overlay provided by */} {!is_app_settings && } @@ -494,4 +477,4 @@ const SelfExclusion = ({ ); }; -export default SelfExclusion; +export default observer(SelfExclusion); diff --git a/packages/account/src/Containers/account.jsx b/packages/account/src/Containers/account.jsx index f1fb09a3fcaf..5c035d7a13ae 100644 --- a/packages/account/src/Containers/account.jsx +++ b/packages/account/src/Containers/account.jsx @@ -1,14 +1,13 @@ import 'Styles/account.scss'; - -import { FadeWrapper, Icon, Loading, PageOverlay, Text, VerticalTab } from '@deriv/components'; import { PlatformContext, getSelectedRoute, isMobile, matchRoute, routes as shared_routes } from '@deriv/shared'; import PropTypes from 'prop-types'; import React from 'react'; -import { connect } from 'Stores/connect'; +import { withRouter } from 'react-router-dom'; +import { VerticalTab, FadeWrapper, PageOverlay, Loading, Text, Icon } from '@deriv/components'; +import { observer, useStore } from '@deriv/stores'; import { flatten } from '../Helpers/flatten'; import { localize } from '@deriv/translations'; import { useHistory } from 'react-router'; -import { withRouter } from 'react-router-dom'; const AccountLogout = ({ logout, history }) => { return ( @@ -104,23 +103,20 @@ const PageOverlayWrapper = ({ ); }; -const Account = ({ - active_account_landing_company, - history, - is_from_derivgo, - is_logged_in, - is_logging_in, - is_pending_proof_of_ownership, - is_virtual, - is_visible, - location, - logout, - platform, - routeBackInApp, - routes, - should_allow_authentication, - toggleAccount, -}) => { +const Account = observer(({ history, location, routes }) => { + const { client, common, ui } = useStore(); + const { + is_virtual, + is_logged_in, + is_logging_in, + is_risky_client, + is_pending_proof_of_ownership, + landing_company_shortcode, + should_allow_authentication, + logout, + } = client; + const { is_from_derivgo, routeBackInApp, platform } = common; + const { toggleAccountSettings, is_account_settings_visible } = ui; const { is_appstore } = React.useContext(PlatformContext); const subroutes = flatten(routes.map(i => i.subroutes)); let list_groups = [...routes]; @@ -133,17 +129,17 @@ const Account = ({ const onClickClose = React.useCallback(() => routeBackInApp(history), [routeBackInApp, history]); React.useEffect(() => { - toggleAccount(true); - }, [toggleAccount]); + toggleAccountSettings(true); + }, [toggleAccountSettings]); routes.forEach(menu_item => { menu_item.subroutes.forEach(route => { if (route.path === shared_routes.financial_assessment) { - route.is_disabled = is_virtual; + route.is_disabled = is_virtual || (landing_company_shortcode === 'maltainvest' && !is_risky_client); } if (route.path === shared_routes.trading_assessment) { - route.is_disabled = is_virtual || active_account_landing_company !== 'maltainvest'; + route.is_disabled = is_virtual || landing_company_shortcode !== 'maltainvest'; } if (route.path === shared_routes.proof_of_identity || route.path === shared_routes.proof_of_address) { @@ -169,7 +165,11 @@ const Account = ({ const selected_route = getSelectedRoute({ routes: subroutes, pathname: location.pathname }); return ( - +
); -}; +}); Account.propTypes = { active_account_landing_company: PropTypes.string, history: PropTypes.object, - is_from_derivgo: PropTypes.bool, - is_logged_in: PropTypes.bool, - is_logging_in: PropTypes.bool, - is_pending_proof_of_ownership: PropTypes.bool, - is_virtual: PropTypes.bool, - is_visible: PropTypes.bool, location: PropTypes.object, - logout: PropTypes.func, - platform: PropTypes.string, - routeBackInApp: PropTypes.func, routes: PropTypes.arrayOf(PropTypes.object), - should_allow_authentication: PropTypes.bool, - toggleAccount: PropTypes.func, }; -export default connect(({ client, common, ui }) => ({ - active_account_landing_company: client.landing_company_shortcode, - is_from_derivgo: common.is_from_derivgo, - is_logged_in: client.is_logged_in, - is_logging_in: client.is_logging_in, - is_pending_proof_of_ownership: client.is_pending_proof_of_ownership, - is_virtual: client.is_virtual, - is_visible: ui.is_account_settings_visible, - logout: client.logout, - platform: common.platform, - routeBackInApp: common.routeBackInApp, - should_allow_authentication: client.should_allow_authentication, - toggleAccount: ui.toggleAccountSettings, -}))(withRouter(Account)); +export default withRouter(Account); diff --git a/packages/account/src/Containers/reset-trading-password.jsx b/packages/account/src/Containers/reset-trading-password.jsx index 94709bbcd8f2..76669b31cb1f 100644 --- a/packages/account/src/Containers/reset-trading-password.jsx +++ b/packages/account/src/Containers/reset-trading-password.jsx @@ -1,54 +1,32 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { useLocation } from 'react-router-dom'; import { CFD_PLATFORMS } from '@deriv/shared'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; import ResetTradingPasswordModal from '../Components/reset-trading-password-modal'; -const ResetTradingPassword = ({ - enableApp, - disableApp, - toggleResetTradingPasswordModal, - mt5_verification_code, - dxtrade_verification_code, - is_visible, - is_loading, -}) => { +const ResetTradingPassword = observer(() => { + const { ui, client } = useStore(); + const { enableApp, disableApp, is_visible, is_loading, setResetTradingPasswordModalOpen } = ui; const location = useLocation(); const query_params = new URLSearchParams(location.search); const cfd_platform = /^trading_platform_(.*)_password_reset$/.exec(query_params.get('action') || '')?.[1]; const [platform] = React.useState(cfd_platform); - const verification_code = platform === CFD_PLATFORMS.MT5 ? mt5_verification_code : dxtrade_verification_code; + const verification_code = + platform === CFD_PLATFORMS.MT5 + ? client.verification_code.trading_platform_mt5_password_reset + : client.verification_code.trading_platform_dxtrade_password_reset; return ( ); -}; +}); -ResetTradingPassword.propTypes = { - disableApp: PropTypes.func, - enableApp: PropTypes.func, - is_loading: PropTypes.bool, - is_visible: PropTypes.bool, - toggleResetTradingPasswordModal: PropTypes.func, - mt5_verification_code: PropTypes.string, - dxtrade_verification_code: PropTypes.string, -}; - -export default connect(({ ui, client }) => ({ - disableApp: ui.disableApp, - enableApp: ui.enableApp, - is_loading: ui.is_loading, - is_visible: ui.is_reset_trading_password_modal_visible, - toggleResetTradingPasswordModal: ui.setResetTradingPasswordModalOpen, - mt5_verification_code: client.verification_code.trading_platform_mt5_password_reset, - dxtrade_verification_code: client.verification_code.trading_platform_dxtrade_password_reset, -}))(ResetTradingPassword); +export default ResetTradingPassword; diff --git a/packages/account/src/Containers/routes.jsx b/packages/account/src/Containers/routes.jsx index ac85dcb0e31d..49b81f854432 100644 --- a/packages/account/src/Containers/routes.jsx +++ b/packages/account/src/Containers/routes.jsx @@ -1,41 +1,26 @@ -import { PropTypes as MobxPropTypes } from 'mobx-react'; import PropTypes from 'prop-types'; import React from 'react'; import { withRouter } from 'react-router'; import { BinaryRoutes } from 'Components/Routes'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; import ErrorComponent from 'Components/error-component'; -const Routes = props => { +const Routes = observer(props => { + const { client, common } = useStore(); + const { is_logged_in, is_logging_in } = client; + const { error } = common; if (props.has_error) { - return ; + return ; } - return ( - - ); -}; + return ; +}); Routes.propTypes = { - error: MobxPropTypes.objectOrObservableObject, - has_error: PropTypes.bool, - is_logged_in: PropTypes.bool, - is_logging_in: PropTypes.bool, is_virtual: PropTypes.bool, passthrough: PropTypes.object, }; // need to wrap withRouter around connect // to prevent updates on from being blocked -export default withRouter( - connect(({ client, common }) => ({ - is_logged_in: client.is_logged_in, - is_logging_in: client.is_logging_in, - error: common.error, - has_error: common.has_error, - }))(Routes) -); +export default withRouter(Routes); diff --git a/packages/account/src/Sections/Assessment/FinancialAssessment/financial-assessment.jsx b/packages/account/src/Sections/Assessment/FinancialAssessment/financial-assessment.jsx index 88684b5f67ba..1ca1e3ca9c35 100644 --- a/packages/account/src/Sections/Assessment/FinancialAssessment/financial-assessment.jsx +++ b/packages/account/src/Sections/Assessment/FinancialAssessment/financial-assessment.jsx @@ -1,6 +1,5 @@ import classNames from 'classnames'; import React from 'react'; -import { PropTypes } from 'prop-types'; import { Formik } from 'formik'; import { useHistory, withRouter } from 'react-router'; import { @@ -17,7 +16,7 @@ import { } from '@deriv/components'; import { routes, isMobile, isDesktop, platforms, PlatformContext, WS } from '@deriv/shared'; import { localize, Localize } from '@deriv/translations'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; import LeaveConfirm from 'Components/leave-confirm'; import IconMessageContent from 'Components/icon-message-content'; import DemoMessage from 'Components/demo-message'; @@ -175,20 +174,22 @@ const SubmittedPage = ({ platform, routeBackInApp }) => { ); }; -const FinancialAssessment = ({ - is_authentication_needed, - is_financial_account, - is_mf, - is_svg, - is_trading_experience_incomplete, - is_financial_information_incomplete, - is_virtual, - platform, - refreshNotifications, - routeBackInApp, - setFinancialAndTradingAssessment, - updateAccountStatus, -}) => { +const FinancialAssessment = observer(() => { + const { client, common, notifications } = useStore(); + const { + landing_company_shortcode, + is_virtual, + is_financial_account, + is_trading_experience_incomplete, + is_svg, + setFinancialAndTradingAssessment, + updateAccountStatus, + is_authentication_needed, + is_financial_information_incomplete, + } = client; + const { platform, routeBackInApp } = common; + const { refreshNotifications } = notifications; + const is_mf = landing_company_shortcode === 'maltainvest'; const history = useHistory(); const { is_appstore } = React.useContext(PlatformContext); const [is_loading, setIsLoading] = React.useState(true); @@ -1005,34 +1006,6 @@ const FinancialAssessment = ({ ); -}; - -FinancialAssessment.propTypes = { - is_authentication_needed: PropTypes.bool, - is_financial_account: PropTypes.bool, - is_mf: PropTypes.bool, - is_svg: PropTypes.bool, - is_trading_experience_incomplete: PropTypes.bool, - is_financial_information_incomplete: PropTypes.bool, - is_virtual: PropTypes.bool, - platform: PropTypes.string, - refreshNotifications: PropTypes.func, - routeBackInApp: PropTypes.func, - setFinancialAndTradingAssessment: PropTypes.func, - updateAccountStatus: PropTypes.func, -}; +}); -export default connect(({ client, common, notifications }) => ({ - is_authentication_needed: client.is_authentication_needed, - is_financial_account: client.is_financial_account, - is_mf: client.landing_company_shortcode === 'maltainvest', - is_svg: client.is_svg, - is_financial_information_incomplete: client.is_financial_information_incomplete, - is_trading_experience_incomplete: client.is_trading_experience_incomplete, - is_virtual: client.is_virtual, - platform: common.platform, - refreshNotifications: notifications.refreshNotifications, - routeBackInApp: common.routeBackInApp, - setFinancialAndTradingAssessment: client.setFinancialAndTradingAssessment, - updateAccountStatus: client.updateAccountStatus, -}))(withRouter(FinancialAssessment)); +export default withRouter(FinancialAssessment); diff --git a/packages/account/src/Sections/Assessment/TradingAssessment/trading-assessment.jsx b/packages/account/src/Sections/Assessment/TradingAssessment/trading-assessment.jsx index f3f91274c509..242ac860951b 100644 --- a/packages/account/src/Sections/Assessment/TradingAssessment/trading-assessment.jsx +++ b/packages/account/src/Sections/Assessment/TradingAssessment/trading-assessment.jsx @@ -16,7 +16,7 @@ import { } from '@deriv/components'; import FormFooter from 'Components/form-footer'; import { isMobile, routes, WS } from '@deriv/shared'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; import { useHistory, withRouter } from 'react-router'; import { Formik, Form } from 'formik'; @@ -35,7 +35,9 @@ const populateData = form_data => { }; }; -const TradingAssessment = ({ is_virtual, setFinancialAndTradingAssessment }) => { +const TradingAssessment = observer(() => { + const { client } = useStore(); + const { is_virtual, setFinancialAndTradingAssessment } = client; const history = useHistory(); const [is_loading, setIsLoading] = React.useState(true); const [is_btn_loading, setIsBtnLoading] = React.useState(false); @@ -282,9 +284,6 @@ const TradingAssessment = ({ is_virtual, setFinancialAndTradingAssessment }) => }} ); -}; +}); -export default connect(({ client }) => ({ - is_virtual: client.is_virtual, - setFinancialAndTradingAssessment: client.setFinancialAndTradingAssessment, -}))(withRouter(TradingAssessment)); +export default withRouter(TradingAssessment); diff --git a/packages/account/src/Sections/Profile/LanguageSettings/language-settings.tsx b/packages/account/src/Sections/Profile/LanguageSettings/language-settings.tsx index 8a97f4f2f697..cb0b7eea8b27 100644 --- a/packages/account/src/Sections/Profile/LanguageSettings/language-settings.tsx +++ b/packages/account/src/Sections/Profile/LanguageSettings/language-settings.tsx @@ -2,20 +2,15 @@ import React from 'react'; import { useTranslation } from 'react-i18next'; import { Button, DesktopWrapper } from '@deriv/components'; import { localize, getAllowedLanguages } from '@deriv/translations'; -import { connect } from 'Stores/connect'; import FormSubHeader from 'Components/form-sub-header'; -import TCoreStore from '../../../Stores'; import { Formik, FormikHandlers, FormikHelpers, FormikValues } from 'formik'; import FormFooter from 'Components/form-footer'; import LanguageRadioButton from 'Components/language-settings'; +import { observer, useStore } from '@deriv/stores'; -type TLanguageSettings = { - current_language: string; - changeSelectedLanguage: (lang: string) => void; - isCurrentLanguage: (lang: string) => boolean; -}; - -const LanguageSettings = ({ changeSelectedLanguage, current_language, isCurrentLanguage }: TLanguageSettings) => { +const LanguageSettings = observer(() => { + const { common } = useStore(); + const { changeSelectedLanguage, current_language, isCurrentLanguage } = common; const { i18n } = useTranslation(); const allowed_language_keys: string[] = Object.keys(getAllowedLanguages()); const initial_values = { language_code: current_language }; @@ -69,10 +64,6 @@ const LanguageSettings = ({ changeSelectedLanguage, current_language, isCurrentL }} ); -}; +}); -export default connect(({ common }: TCoreStore) => ({ - changeSelectedLanguage: common.changeSelectedLanguage, - current_language: common.current_language, - isCurrentLanguage: common.isCurrentLanguage, -}))(LanguageSettings); +export default LanguageSettings; diff --git a/packages/account/src/Sections/Profile/PersonalDetails/__tests__/personal-details.spec.js b/packages/account/src/Sections/Profile/PersonalDetails/__tests__/personal-details.spec.js index 5908e032cb17..1f54dcae50be 100644 --- a/packages/account/src/Sections/Profile/PersonalDetails/__tests__/personal-details.spec.js +++ b/packages/account/src/Sections/Profile/PersonalDetails/__tests__/personal-details.spec.js @@ -4,6 +4,7 @@ import { cleanup, render, waitForElementToBeRemoved, waitFor } from '@testing-li import { createBrowserHistory } from 'history'; import { Router } from 'react-router'; import { PersonalDetailsForm } from '../personal-details.jsx'; +import { StoreProvider, mockStore } from '@deriv/stores'; afterAll(cleanup); @@ -15,9 +16,11 @@ jest.mock('@deriv/shared/src/services/ws-methods', () => ({ return Promise.resolve([...payload]); }, }, + useWS: () => undefined, })); describe('', () => { + let store = mockStore(); const history = createBrowserHistory(); it('should_render_successfully', async () => { @@ -32,20 +35,36 @@ describe('', () => { value: 'value', }, ]; + store = mockStore({ + client: { + account_settings: { + email_consent: 1, + }, + is_virtual: false, + states_list: residence_list, + residence_list: residence_list, + has_residence: true, + getChangeableFields: () => [], + fetchResidenceList: fetchResidenceList, + fetchStatesList: fetchStatesList, + }, + }); + + // store.client.fetchResidenceList = fetchResidenceList; + // store.client.fetchStatesList = fetchStatesList; + // store.client.residence_list = residence_list; + // store.client.account_settings = { + // email_consent: 1, + // }; + // store.client.is_virtual = false; + // store.client.states_list = residence_list; + // store.client.getChangeableFields = () => []; + // store.client.has_residence = true; const screen = render( - []} - is_virtual={false} - states_list={residence_list} - /> + + + ); await waitForElementToBeRemoved(() => screen.container.querySelector('.account__initial-loader')); diff --git a/packages/account/src/Sections/Profile/PersonalDetails/personal-details.jsx b/packages/account/src/Sections/Profile/PersonalDetails/personal-details.jsx index b7b352190d0a..3978f839086f 100644 --- a/packages/account/src/Sections/Profile/PersonalDetails/personal-details.jsx +++ b/packages/account/src/Sections/Profile/PersonalDetails/personal-details.jsx @@ -39,14 +39,14 @@ import { removeEmptyPropertiesFromObject, } from '@deriv/shared'; import { Localize, localize } from '@deriv/translations'; +import { observer, useStore } from '@deriv/stores'; +import LeaveConfirm from 'Components/leave-confirm'; +import FormFooter from 'Components/form-footer'; import FormBody from 'Components/form-body'; import FormBodySection from 'Components/form-body-section'; -import FormFooter from 'Components/form-footer'; import FormSubHeader from 'Components/form-sub-header'; -import LeaveConfirm from 'Components/leave-confirm'; import LoadErrorMessage from 'Components/load-error-message'; import POAAddressMismatchHintBox from 'Components/poa-address-mismatch-hint-box'; -import { connect } from 'Stores/connect'; import { getEmploymentStatusList } from 'Sections/Assessment/FinancialAssessment/financial-information-list'; import { validateName, validate } from 'Helpers/utils'; @@ -96,31 +96,7 @@ const TaxResidenceSelect = ({ field, errors, setFieldValue, values, is_changeabl ); -export const PersonalDetailsForm = ({ - authentication_status, - is_eu, - is_mf, - is_uk, - is_svg, - is_virtual, - residence_list, - states_list, - current_landing_company, - refreshNotifications, - showPOAAddressMismatchSuccessNotification, - showPOAAddressMismatchFailureNotification, - Notifications, - fetchResidenceList, - fetchStatesList, - has_residence, - account_settings, - getChangeableFields, - history, - is_social_signup, - updateAccountStatus, - has_poa_address_mismatch, - is_language_changing, -}) => { +export const PersonalDetailsForm = observer(({ history }) => { const [is_loading, setIsLoading] = React.useState(true); const [is_state_loading, setIsStateLoading] = useStateCallback(false); @@ -128,7 +104,38 @@ export const PersonalDetailsForm = ({ const [is_btn_loading, setIsBtnLoading] = React.useState(false); const [is_submit_success, setIsSubmitSuccess] = useStateCallback(false); + const { client, notifications, ui, common } = useStore(); + + const { + authentication_status, + is_eu, + landing_company_shortcode, + is_uk, + is_svg, + is_virtual, + residence_list, + states_list, + current_landing_company, + fetchResidenceList, + fetchStatesList, + has_residence, + account_settings, + getChangeableFields, + updateAccountStatus, + is_social_signup, + account_status, + } = client; + + const { + refreshNotifications, + showPOAAddressMismatchSuccessNotification, + showPOAAddressMismatchFailureNotification, + } = notifications; + const { Notifications } = ui; + const { is_language_changing } = common; + const is_mf = landing_company_shortcode === 'maltainvest'; + const has_poa_address_mismatch = account_status.status?.includes('poa_address_mismatch'); const [rest_state, setRestState] = React.useState({ show_form: true, errors: false, @@ -141,7 +148,6 @@ export const PersonalDetailsForm = ({ }); const { is_appstore } = React.useContext(PlatformContext); - const isMounted = useIsMounted(); React.useEffect(() => { @@ -1272,55 +1278,10 @@ export const PersonalDetailsForm = ({ )} ); -}; +}); PersonalDetailsForm.propTypes = { - authentication_status: PropTypes.object, - is_eu: PropTypes.bool, - is_mf: PropTypes.bool, - is_uk: PropTypes.bool, - is_svg: PropTypes.bool, - is_virtual: PropTypes.bool, - residence_list: PropTypes.arrayOf(PropTypes.object), - states_list: PropTypes.array, - refreshNotifications: PropTypes.func, - showPOAAddressMismatchSuccessNotification: PropTypes.func, - showPOAAddressMismatchFailureNotification: PropTypes.func, - Notifications: PropTypes.node, - fetchResidenceList: PropTypes.func, - fetchStatesList: PropTypes.func, - has_residence: PropTypes.bool, - account_settings: PropTypes.object, - getChangeableFields: PropTypes.func, - current_landing_company: PropTypes.object, history: PropTypes.object, - is_social_signup: PropTypes.bool, - updateAccountStatus: PropTypes.func, - has_poa_address_mismatch: PropTypes.bool, - is_language_changing: PropTypes.bool, }; -export default connect(({ client, notifications, ui, common }) => ({ - account_settings: client.account_settings, - authentication_status: client.authentication_status, - has_residence: client.has_residence, - getChangeableFields: client.getChangeableFields, - current_landing_company: client.current_landing_company, - is_eu: client.is_eu, - is_mf: client.landing_company_shortcode === 'maltainvest', - is_svg: client.is_svg, - is_uk: client.is_uk, - is_virtual: client.is_virtual, - residence_list: client.residence_list, - states_list: client.states_list, - fetchResidenceList: client.fetchResidenceList, - fetchStatesList: client.fetchStatesList, - is_social_signup: client.is_social_signup, - refreshNotifications: notifications.refreshNotifications, - showPOAAddressMismatchSuccessNotification: notifications.showPOAAddressMismatchSuccessNotification, - showPOAAddressMismatchFailureNotification: notifications.showPOAAddressMismatchFailureNotification, - Notifications: ui.notification_messages_ui, - updateAccountStatus: client.updateAccountStatus, - has_poa_address_mismatch: client.account_status.status?.includes('poa_address_mismatch'), - is_language_changing: common.is_language_changing, -}))(withRouter(PersonalDetailsForm)); +export default withRouter(PersonalDetailsForm); diff --git a/packages/account/src/Sections/Security/AccountClosed/account-closed.jsx b/packages/account/src/Sections/Security/AccountClosed/account-closed.jsx index d3e553109ee5..e3379dfa2279 100644 --- a/packages/account/src/Sections/Security/AccountClosed/account-closed.jsx +++ b/packages/account/src/Sections/Security/AccountClosed/account-closed.jsx @@ -2,9 +2,11 @@ import React from 'react'; import { Modal, Text } from '@deriv/components'; import { Localize } from '@deriv/translations'; import { getStaticUrl, PlatformContext } from '@deriv/shared'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; -const AccountClosed = ({ logout }) => { +const AccountClosed = observer(() => { + const { client } = useStore(); + const { logout } = client; const [is_modal_open, setModalState] = React.useState(true); const [timer, setTimer] = React.useState(10); const { is_appstore } = React.useContext(PlatformContext); @@ -38,8 +40,6 @@ const AccountClosed = ({ logout }) => { ); -}; +}); -export default connect(({ client }) => ({ - logout: client.logout, -}))(AccountClosed); +export default AccountClosed; diff --git a/packages/account/src/Sections/Security/AccountLimits/account-limits.jsx b/packages/account/src/Sections/Security/AccountLimits/account-limits.jsx index 8428842a49f2..5a0771faf09b 100644 --- a/packages/account/src/Sections/Security/AccountLimits/account-limits.jsx +++ b/packages/account/src/Sections/Security/AccountLimits/account-limits.jsx @@ -1,15 +1,4 @@ import AccountLimits from 'Components/account-limits/account-limits'; import 'Components/account-limits/account-limits.scss'; -import { connect } from 'Stores/connect'; -export default connect(({ client, common, ui }) => ({ - account_limits: client.account_limits, - currency: client.currency, - getLimits: client.getLimits, - is_fully_authenticated: client.is_fully_authenticated, - is_from_derivgo: common.is_from_derivgo, - is_virtual: client.is_virtual, - is_switching: client.is_switching, - should_show_article: true, - toggleAccountsDialog: ui.toggleAccountsDialog, -}))(AccountLimits); +export default AccountLimits; diff --git a/packages/account/src/Sections/Security/ApiToken/api-token.jsx b/packages/account/src/Sections/Security/ApiToken/api-token.jsx index 05363454eef6..cb02ee645088 100644 --- a/packages/account/src/Sections/Security/ApiToken/api-token.jsx +++ b/packages/account/src/Sections/Security/ApiToken/api-token.jsx @@ -1,6 +1,4 @@ -import { WS } from '@deriv/shared'; -import { connect } from 'Stores/connect'; import ApiToken from 'Components/api-token/api-token'; import 'Components/api-token/api-token.scss'; -export default connect(({ client }) => ({ is_switching: client.is_switching, ws: WS }))(ApiToken); +export default ApiToken; diff --git a/packages/account/src/Sections/Security/ClosingAccount/__tests__/closing-account-reason.spec.js b/packages/account/src/Sections/Security/ClosingAccount/__tests__/closing-account-reason.spec.js index 49ff2da25f9f..ca7527b3c459 100644 --- a/packages/account/src/Sections/Security/ClosingAccount/__tests__/closing-account-reason.spec.js +++ b/packages/account/src/Sections/Security/ClosingAccount/__tests__/closing-account-reason.spec.js @@ -1,14 +1,10 @@ import React from 'react'; import { act, render, screen, waitFor, fireEvent, userEvent } from '@testing-library/react'; import ClosingAccountReason from '../closing-account-reason'; - -jest.mock('Stores/connect', () => ({ - __esModule: true, - default: 'mockedDefaultExport', - connect: () => Component => Component, -})); +import { mockStore, StoreProvider } from '@deriv/stores'; describe('', () => { + let store = mockStore(); beforeAll(() => { const modal_root_el = document.createElement('div'); modal_root_el.setAttribute('id', 'modal_root'); @@ -21,14 +17,22 @@ describe('', () => { }); test('Should render properly', async () => { - render(); + render( + + + + ); await waitFor(() => { screen.getAllByText(/Please tell us why you’re leaving/i); }); }); test('Should be disabled when no reason has been selected', async () => { - render(); + render( + + + + ); // clicking the checkbox twice to select and unselect fireEvent.click(screen.getByRole('checkbox', { name: /I have other financial priorities./i })); @@ -43,7 +47,11 @@ describe('', () => { }); test('should reduce remaining chars', async () => { - render(); + render( + + + + ); expect(screen.getByText(/Remaining characters: 110/i)).toBeInTheDocument(); diff --git a/packages/account/src/Sections/Security/ClosingAccount/closing-account-reason.jsx b/packages/account/src/Sections/Security/ClosingAccount/closing-account-reason.jsx index d78f78ff2f73..7a2eeeba0d55 100644 --- a/packages/account/src/Sections/Security/ClosingAccount/closing-account-reason.jsx +++ b/packages/account/src/Sections/Security/ClosingAccount/closing-account-reason.jsx @@ -4,7 +4,7 @@ import classNames from 'classnames'; import { routes, PlatformContext, WS } from '@deriv/shared'; import { localize } from '@deriv/translations'; import { FormSubmitButton, Modal, Icon, Loading, Text, Button } from '@deriv/components'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; import AccountHasPendingConditions from './account-has-balance.jsx'; import ClosingAccountReasonFrom from './closing-account-reason-form.jsx'; @@ -73,7 +73,9 @@ const GeneralErrorContent = ({ message, onClick }) => ( const character_limit_no = 110; const max_allowed_reasons = 3; -const ClosingAccountReason = ({ onBackClick, mt5_login_list, client_accounts, dxtrade_accounts_list }) => { +const ClosingAccountReason = observer(({ onBackClick }) => { + const { client } = useStore(); + const { dxtrade_accounts_list, mt5_login_list, account_list } = client; const { is_appstore } = React.useContext(PlatformContext); const [is_account_closed, setIsAccountClosed] = React.useState(false); const [is_loading, setIsLoading] = React.useState(false); @@ -228,7 +230,7 @@ const ClosingAccountReason = ({ onBackClick, mt5_login_list, client_accounts, dx @@ -239,10 +241,6 @@ const ClosingAccountReason = ({ onBackClick, mt5_login_list, client_accounts, dx
); -}; +}); -export default connect(({ client }) => ({ - client_accounts: client.account_list, - mt5_login_list: client.mt5_login_list, - dxtrade_accounts_list: client.dxtrade_accounts_list, -}))(ClosingAccountReason); +export default ClosingAccountReason; diff --git a/packages/account/src/Sections/Security/ClosingAccount/closing-account-steps.jsx b/packages/account/src/Sections/Security/ClosingAccount/closing-account-steps.jsx index fb138cfd3f5b..51a7215a66bc 100644 --- a/packages/account/src/Sections/Security/ClosingAccount/closing-account-steps.jsx +++ b/packages/account/src/Sections/Security/ClosingAccount/closing-account-steps.jsx @@ -1,12 +1,14 @@ import React from 'react'; import classNames from 'classnames'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; import { localize, Localize } from '@deriv/translations'; import { Link } from 'react-router-dom'; import { Button, Text, StaticUrl } from '@deriv/components'; import { PlatformContext } from '@deriv/shared'; -const ClosingAccountSteps = ({ redirectToReasons, is_from_derivgo }) => { +const ClosingAccountSteps = observer(({ redirectToReasons }) => { + const { common } = useStore(); + const { is_from_derivgo } = common; const { is_appstore } = React.useContext(PlatformContext); return ( @@ -84,5 +86,5 @@ const ClosingAccountSteps = ({ redirectToReasons, is_from_derivgo }) => { )} ); -}; -export default connect(({ common }) => ({ is_from_derivgo: common.is_from_derivgo }))(ClosingAccountSteps); +}); +export default ClosingAccountSteps; diff --git a/packages/account/src/Sections/Security/LoginHistory/login-history.jsx b/packages/account/src/Sections/Security/LoginHistory/login-history.jsx index 449c4e253e09..099b5c5d9139 100644 --- a/packages/account/src/Sections/Security/LoginHistory/login-history.jsx +++ b/packages/account/src/Sections/Security/LoginHistory/login-history.jsx @@ -1,11 +1,10 @@ -import PropTypes from 'prop-types'; import React from 'react'; import classNames from 'classnames'; import { Loading, Table, Text, ThemedScrollbars } from '@deriv/components'; import Bowser from 'bowser'; import { convertDateFormat, isMobile, isDesktop, PlatformContext, WS } from '@deriv/shared'; +import { observer, useStore } from '@deriv/stores'; import { localize } from '@deriv/translations'; -import { connect } from 'Stores/connect'; import LoadErrorMessage from 'Components/load-error-message'; const API_FETCH_LIMIT = 50; @@ -168,7 +167,9 @@ const ListCell = ({ title, text, className, right }) => ( ); -const LoginHistory = ({ is_switching }) => { +const LoginHistory = observer(() => { + const { client } = useStore(); + const { is_switching } = client; const [is_loading, setLoading] = React.useState(true); const [error, setError] = React.useState(''); const [data, setData] = React.useState([]); @@ -197,12 +198,6 @@ const LoginHistory = ({ is_switching }) => { {data.length ? : null} ); -}; - -LoginHistory.propTypes = { - is_switching: PropTypes.bool, -}; +}); -export default connect(({ client }) => ({ - is_switching: client.is_switching, -}))(LoginHistory); +export default LoginHistory; diff --git a/packages/account/src/Sections/Security/Passwords/deriv-email.jsx b/packages/account/src/Sections/Security/Passwords/deriv-email.jsx index c2c85c1492a9..a962f2526c33 100644 --- a/packages/account/src/Sections/Security/Passwords/deriv-email.jsx +++ b/packages/account/src/Sections/Security/Passwords/deriv-email.jsx @@ -8,9 +8,11 @@ import { Button, Text, Input } from '@deriv/components'; import FormSubHeader from 'Components/form-sub-header'; import SentEmailModal from 'Components/sent-email-modal'; import UnlinkAccountModal from 'Components/unlink-account-modal'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; -const DerivEmail = ({ email, social_identity_provider, is_social_signup, is_from_derivgo }) => { +const DerivEmail = observer(({ email, social_identity_provider, is_social_signup }) => { + const { common } = useStore(); + const { is_from_derivgo } = common; const [is_unlink_account_modal_open, setIsUnlinkAccountModalOpen] = React.useState(false); const [is_send_email_modal_open, setIsSendEmailModalOpen] = React.useState(false); @@ -88,18 +90,13 @@ const DerivEmail = ({ email, social_identity_provider, is_social_signup, is_from ); -}; +}); DerivEmail.propTypes = { email: PropTypes.string, is_dark_mode_on: PropTypes.bool, is_social_signup: PropTypes.bool, - is_from_derivgo: PropTypes.bool, social_identity_provider: PropTypes.string, }; -export default withRouter( - connect(({ common }) => ({ - is_from_derivgo: common.is_from_derivgo, - }))(DerivEmail) -); +export default withRouter(DerivEmail); diff --git a/packages/account/src/Sections/Security/Passwords/passwords.jsx b/packages/account/src/Sections/Security/Passwords/passwords.jsx index 86f6dbcb1f58..719d784a160c 100644 --- a/packages/account/src/Sections/Security/Passwords/passwords.jsx +++ b/packages/account/src/Sections/Security/Passwords/passwords.jsx @@ -1,32 +1,36 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { Loading } from '@deriv/components'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; import DerivPassword from './deriv-password.jsx'; import DerivEmail from './deriv-email.jsx'; import PasswordsPlatform from './passwords-platform.jsx'; -const Passwords = ({ - email, - is_dark_mode_on, - mt5_login_list, - is_social_signup, - dxtrade_accounts_list, - social_identity_provider, - is_eu_user, - financial_restricted_countries, - is_loading_dxtrade, - is_loading_mt5, - is_mt5_password_not_set, - is_dxtrade_password_not_set, - is_from_derivgo, -}) => { +const Passwords = observer(() => { const [is_loading, setIsLoading] = React.useState(true); + const { client, ui, common, traders_hub } = useStore(); + const { + is_populating_mt5_account_list, + is_populating_dxtrade_account_list, + is_social_signup, + email, + social_identity_provider, + mt5_login_list, + is_mt5_password_not_set, + dxtrade_accounts_list, + is_dxtrade_password_not_set, + } = client; + const { is_from_derivgo } = common; + const { is_eu_user, financial_restricted_countries } = traders_hub; + const { is_dark_mode_on } = ui; React.useEffect(() => { - if (is_loading_mt5 === false && is_loading_dxtrade === false && is_social_signup !== undefined) { + if ( + is_populating_mt5_account_list === false && + is_populating_dxtrade_account_list === false && + is_social_signup !== undefined + ) { setIsLoading(false); } - }, [is_loading_mt5, is_loading_dxtrade, is_social_signup]); + }, [is_populating_mt5_account_list, is_populating_dxtrade_account_list, is_social_signup]); if (is_loading) { return ; @@ -61,36 +65,6 @@ const Passwords = ({ )} ); -}; +}); -Passwords.propTypes = { - email: PropTypes.string, - is_dark_mode_on: PropTypes.bool, - dxtrade_accounts_list: PropTypes.array, - is_social_signup: PropTypes.bool, - mt5_login_list: PropTypes.array, - social_identity_provider: PropTypes.string, - is_loading_mt5: PropTypes.bool, - is_loading_dxtrade: PropTypes.bool, - is_eu_user: PropTypes.bool, - financial_restricted_countries: PropTypes.bool, - is_mt5_password_not_set: PropTypes.bool, - is_dxtrade_password_not_set: PropTypes.bool, - is_from_derivgo: PropTypes.bool, -}; - -export default connect(({ client, ui, common, traders_hub }) => ({ - email: client.email, - is_dark_mode_on: ui.is_dark_mode_on, - is_social_signup: client.is_social_signup, - mt5_login_list: client.mt5_login_list, - dxtrade_accounts_list: client.dxtrade_accounts_list, - social_identity_provider: client.social_identity_provider, - is_eu_user: traders_hub.is_eu_user, - financial_restricted_countries: traders_hub.financial_restricted_countries, - is_loading_mt5: client.is_populating_mt5_account_list, - is_loading_dxtrade: client.is_populating_dxtrade_account_list, - is_mt5_password_not_set: client.is_mt5_password_not_set, - is_dxtrade_password_not_set: client.is_dxtrade_password_not_set, - is_from_derivgo: common.is_from_derivgo, -}))(Passwords); +export default Passwords; diff --git a/packages/account/src/Sections/Security/SelfExclusion/self-exclusion.jsx b/packages/account/src/Sections/Security/SelfExclusion/self-exclusion.jsx index 76609ebb4e7b..e0f4928efa53 100644 --- a/packages/account/src/Sections/Security/SelfExclusion/self-exclusion.jsx +++ b/packages/account/src/Sections/Security/SelfExclusion/self-exclusion.jsx @@ -1,6 +1,5 @@ import React from 'react'; -import { PlatformContext, WS } from '@deriv/shared'; -import { connect } from 'Stores/connect'; +import { PlatformContext } from '@deriv/shared'; import SelfExclusionComponent from 'Components/self-exclusion/self-exclusion'; import 'Components/self-exclusion/self-exclusion.scss'; @@ -9,18 +8,4 @@ const SelfExclusion = props => { return ; }; -export default connect(({ client, ui }) => ({ - is_tablet: ui.is_tablet, - currency: client.currency, - is_virtual: client.is_virtual, - is_switching: client.is_switching, - is_cr: client.standpoint.svg, - is_eu: client.is_eu, - is_mlt: client.landing_company_shortcode === 'malta', - is_mf: client.landing_company_shortcode === 'maltainvest', - is_mx: client.landing_company_shortcode === 'iom', - is_uk: client.is_uk, - is_wrapper_bypassed: false, - logout: client.logout, - ws: WS, -}))(SelfExclusion); +export default SelfExclusion; diff --git a/packages/account/src/Sections/Security/TwoFactorAuthentication/two-factor-authentication.jsx b/packages/account/src/Sections/Security/TwoFactorAuthentication/two-factor-authentication.jsx index c18230f8aec6..4b805f37eec9 100644 --- a/packages/account/src/Sections/Security/TwoFactorAuthentication/two-factor-authentication.jsx +++ b/packages/account/src/Sections/Security/TwoFactorAuthentication/two-factor-authentication.jsx @@ -1,4 +1,3 @@ -import PropTypes from 'prop-types'; import classNames from 'classnames'; import React from 'react'; import QRCode from 'qrcode.react'; @@ -14,20 +13,16 @@ import { } from '@deriv/components'; import { getPropertyValue, isMobile, PlatformContext, WS } from '@deriv/shared'; import { localize, Localize } from '@deriv/translations'; -import { connect } from 'Stores/connect'; import LoadErrorMessage from 'Components/load-error-message'; import DigitForm from './digit-form.jsx'; import TwoFactorAuthenticationArticle from './two-factor-authentication-article.jsx'; +import { observer, useStore } from '@deriv/stores'; -const TwoFactorAuthentication = ({ - email_address, - is_switching, - setTwoFAStatus, - getTwoFAStatus, - has_enabled_two_fa, - Notifications, - setTwoFAChangedStatus, -}) => { +const TwoFactorAuthentication = observer(() => { + const { client, ui } = useStore(); + const { email_address, getTwoFAStatus, has_enabled_two_fa, is_switching, setTwoFAStatus, setTwoFAChangedStatus } = + client; + const { notification_messages_ui: Notifications } = ui; const [is_loading, setLoading] = React.useState(true); const [is_qr_loading, setQrLoading] = React.useState(false); const [error_message, setErrorMessage] = React.useState(''); @@ -205,24 +200,6 @@ const TwoFactorAuthentication = ({ ); -}; +}); -TwoFactorAuthentication.propTypes = { - email_address: PropTypes.string, - is_switching: PropTypes.bool, - setTwoFAStatus: PropTypes.func, - getTwoFAStatus: PropTypes.func, - has_enabled_two_fa: PropTypes.bool, - Notifications: PropTypes.node, - setTwoFAChangedStatus: PropTypes.func, -}; - -export default connect(({ client, ui }) => ({ - email_address: client.email_address, - is_switching: client.is_switching, - setTwoFAStatus: client.setTwoFAStatus, - getTwoFAStatus: client.getTwoFAStatus, - has_enabled_two_fa: client.has_enabled_two_fa, - Notifications: ui.notification_messages_ui, - setTwoFAChangedStatus: client.setTwoFAChangedStatus, -}))(TwoFactorAuthentication); +export default TwoFactorAuthentication; diff --git a/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address-form.jsx b/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address-form.jsx index aee2265a2ca7..b47e1d6190e6 100644 --- a/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address-form.jsx +++ b/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address-form.jsx @@ -24,7 +24,6 @@ import { getLocation, WS, } from '@deriv/shared'; -import { connect } from 'Stores/connect'; import FormFooter from 'Components/form-footer'; import FormBody from 'Components/form-body'; import FormBodySection from 'Components/form-body-section'; @@ -32,6 +31,7 @@ import FormSubHeader from 'Components/form-sub-header'; import LoadErrorMessage from 'Components/load-error-message'; import LeaveConfirm from 'Components/leave-confirm'; import FileUploaderContainer from 'Components/file-uploader-container'; +import { observer, useStore } from '@deriv/stores'; const validate = (errors, values) => (fn, arr, err_msg) => { arr.forEach(field => { @@ -53,18 +53,14 @@ const UploaderSideNote = () => ( ); -const ProofOfAddressForm = ({ - account_settings, - addNotificationByKey, - is_eu, - is_resubmit, - fetchResidenceList, - fetchStatesList, - onSubmit, - removeNotificationByKey, - removeNotificationMessage, - states_list, -}) => { +const ProofOfAddressForm = observer(({ is_resubmit, onSubmit }) => { + const { client, notifications } = useStore(); + const { account_settings, fetchResidenceList, fetchStatesList, is_eu, states_list } = client; + const { + addNotificationMessageByKey: addNotificationByKey, + removeNotificationMessage, + removeNotificationByKey, + } = notifications; const [document_file, setDocumentFile] = React.useState({ files: [], error_message: null }); const [is_loading, setIsLoading] = React.useState(true); const [form_values, setFormValues] = useStateCallback({}); @@ -458,28 +454,11 @@ const ProofOfAddressForm = ({ )} ); -}; +}); ProofOfAddressForm.propTypes = { - account_settings: PropTypes.object, - addNotificationByKey: PropTypes.func, - is_eu: PropTypes.bool, is_resubmit: PropTypes.bool, - fetchResidenceList: PropTypes.func, - fetchStatesList: PropTypes.func, onSubmit: PropTypes.func, - removeNotificationByKey: PropTypes.func, - removeNotificationMessage: PropTypes.func, - states_list: PropTypes.array, }; -export default connect(({ client, notifications }) => ({ - account_settings: client.account_settings, - is_eu: client.is_eu, - addNotificationByKey: notifications.addNotificationMessageByKey, - removeNotificationMessage: notifications.removeNotificationMessage, - removeNotificationByKey: notifications.removeNotificationByKey, - states_list: client.states_list, - fetchResidenceList: client.fetchResidenceList, - fetchStatesList: client.fetchStatesList, -}))(ProofOfAddressForm); +export default ProofOfAddressForm; diff --git a/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address.jsx b/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address.jsx index 7d558e882487..1b9e16ba3e4e 100644 --- a/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address.jsx +++ b/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address.jsx @@ -1,45 +1,26 @@ import DemoMessage from 'Components/demo-message'; import { PlatformContext } from '@deriv/shared'; import ProofOfAddressContainer from './proof-of-address-container.jsx'; -import { PropTypes } from 'prop-types'; import React from 'react'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; -const ProofOfAddress = ({ - is_virtual, - is_mx_mlt, - is_switching, - has_restricted_mt5_account, - refreshNotifications, - app_routing_history, -}) => { +const ProofOfAddress = observer(() => { + const { client, notifications, common } = useStore(); + const { app_routing_history } = common; + const { is_virtual, landing_company_shortcode, has_restricted_mt5_account, is_switching } = client; + const { refreshNotifications } = notifications; const { is_appstore } = React.useContext(PlatformContext); if (is_virtual) return ; return ( ); -}; +}); -ProofOfAddress.propTypes = { - is_mx_mlt: PropTypes.bool, - is_switching: PropTypes.bool, - is_virtual: PropTypes.bool, - refreshNotifications: PropTypes.func, - has_restricted_mt5_account: PropTypes.bool, -}; - -export default connect(({ client, notifications, common }) => ({ - is_mx_mlt: client.landing_company_shortcode === 'iom' || client.landing_company_shortcode === 'malta', - is_switching: client.is_switching, - is_virtual: client.is_virtual, - refreshNotifications: notifications.refreshNotifications, - has_restricted_mt5_account: client.has_restricted_mt5_account, - app_routing_history: common.app_routing_history, -}))(ProofOfAddress); +export default ProofOfAddress; diff --git a/packages/account/src/Sections/Verification/ProofOfIdentity/proof-of-identity.jsx b/packages/account/src/Sections/Verification/ProofOfIdentity/proof-of-identity.jsx index ed975b1a027b..ebcbd6f37dcf 100644 --- a/packages/account/src/Sections/Verification/ProofOfIdentity/proof-of-identity.jsx +++ b/packages/account/src/Sections/Verification/ProofOfIdentity/proof-of-identity.jsx @@ -2,26 +2,25 @@ import { AutoHeightWrapper } from '@deriv/components'; import ProofOfIdentityContainer from './proof-of-identity-container.jsx'; import React from 'react'; import { changeMetaTagWithOG } from '@deriv/shared'; -import { connect } from 'Stores/connect'; +import { observer, useStore } from '@deriv/stores'; import { withRouter } from 'react-router-dom'; -const ProofOfIdentity = ({ - account_settings, - account_status, - app_routing_history, - fetchResidenceList, - getChangeableFields, - is_from_external, - is_switching, - is_virtual, - is_high_risk, - is_withdrawal_lock, - onStateChange, - refreshNotifications, - routeBackInApp, - should_allow_authentication, - updateAccountStatus, -}) => { +const ProofOfIdentity = observer(({ is_from_external, onStateChange }) => { + const { client, common, notifications } = useStore(); + const { + account_status, + account_settings, + fetchResidenceList, + getChangeableFields, + is_switching, + is_high_risk, + is_withdrawal_lock, + should_allow_authentication, + is_virtual, + updateAccountStatus, + } = client; + const { refreshNotifications } = notifications; + const { app_routing_history, routeBackInApp } = common; // next useEffect implements seo requirements React.useEffect(() => { const description_content = 'Submit your proof of identity documents to verify your account and start trading'; @@ -65,20 +64,6 @@ const ProofOfIdentity = ({ )} ); -}; +}); -export default connect(({ client, common, notifications }) => ({ - account_settings: client.account_settings, - account_status: client.account_status, - app_routing_history: common.app_routing_history, - fetchResidenceList: client.fetchResidenceList, - getChangeableFields: client.getChangeableFields, - is_switching: client.is_switching, - is_virtual: client.is_virtual, - is_high_risk: client.is_high_risk, - is_withdrawal_lock: client.is_withdrawal_lock, - refreshNotifications: notifications.refreshNotifications, - routeBackInApp: common.routeBackInApp, - should_allow_authentication: client.should_allow_authentication, - updateAccountStatus: client.updateAccountStatus, -}))(withRouter(ProofOfIdentity)); +export default withRouter(ProofOfIdentity); diff --git a/packages/account/src/Sections/Verification/ProofOfOwnership/__test__/proof-of-ownership.spec.js b/packages/account/src/Sections/Verification/ProofOfOwnership/__test__/proof-of-ownership.spec.js index f79ea6d2e251..6bf1b94608e2 100644 --- a/packages/account/src/Sections/Verification/ProofOfOwnership/__test__/proof-of-ownership.spec.js +++ b/packages/account/src/Sections/Verification/ProofOfOwnership/__test__/proof-of-ownership.spec.js @@ -2,80 +2,93 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; import { ProofOfOwnership } from '../proof-of-ownership.jsx'; import test_data from './test-data'; +import { StoreProvider, mockStore } from '@deriv/stores'; describe('proof-of-ownership.jsx', () => { let ownership_temp; beforeAll(() => { ownership_temp = test_data; }); + const ProofOfOwnershipScreen = () => { + return ( + + + + ); + }; + let store = mockStore(); it('should render no poo required status page', () => { - render( - - ); + }, + }, + }); + render(); + const element = screen.getByText("Your proof of ownership isn't required.", { exact: true }); expect(element).toBeInTheDocument(); }); it('should render poo verified status page', () => { - render( - - ); + }, + }, + }); + render(); + const element = screen.getByText('Proof of ownership verification passed.', { exact: true }); expect(element).toBeInTheDocument(); }); it('should render poo submitted status page', () => { - render( - - ); + }, + }, + }); + render(); + const element = screen.getByText('We’ve received your proof of ownership.', { exact: true }); expect(element).toBeInTheDocument(); }); it('should render poo rejected status page', () => { - render( - - ); + }, + }, + }); + render(); + const element = screen.getByTestId('dt_try-again-button', { exact: true }); expect(element).toBeInTheDocument(); }); it('should render ProofOfOwnershipForm', () => { - render( - - ); + }, + }, + }); + render(); expect(screen.getByTestId('dt_poo_form', { exact: true })).toBeInTheDocument(); }); }); diff --git a/packages/account/src/Sections/Verification/ProofOfOwnership/proof-of-ownership.jsx b/packages/account/src/Sections/Verification/ProofOfOwnership/proof-of-ownership.jsx index e8c45c71728e..b0ce9a0cde8d 100644 --- a/packages/account/src/Sections/Verification/ProofOfOwnership/proof-of-ownership.jsx +++ b/packages/account/src/Sections/Verification/ProofOfOwnership/proof-of-ownership.jsx @@ -1,19 +1,17 @@ import React, { useEffect, useState } from 'react'; import { withRouter } from 'react-router-dom'; -import { connect } from 'Stores/connect'; import ProofOfOwnershipForm from './proof-of-ownership-form.jsx'; import { POONotRequired, POOVerified, POORejetced, POOSubmitted } from 'Components/poo/statuses'; import { Loading } from '@deriv/components'; import { POO_STATUSES } from './constants/constants'; import getPaymentMethodsConfig from './payment-method-config.js'; +import { observer, useStore } from '@deriv/stores'; -export const ProofOfOwnership = ({ - account_status, - client_email, - is_dark_mode, - refreshNotifications, - updateAccountStatus, -}) => { +export const ProofOfOwnership = observer(() => { + const { client, notifications, ui } = useStore(); + const { account_status, email: client_email, updateAccountStatus } = client; + const { refreshNotifications } = notifications; + const { is_dark_mode_on: is_dark_mode } = ui; const cards = account_status?.authentication?.ownership?.requests; const [status, setStatus] = useState(POO_STATUSES.none); const grouped_payment_method_data = React.useMemo(() => { @@ -68,12 +66,6 @@ export const ProofOfOwnership = ({ return ; // Proof of ownership rejected } return ; -}; +}); -export default connect(({ client, notifications, ui }) => ({ - account_status: client.account_status, - client_email: client.email, - is_dark_mode: ui.is_dark_mode_on, - refreshNotifications: notifications.refreshNotifications, - updateAccountStatus: client.updateAccountStatus, -}))(withRouter(ProofOfOwnership)); +export default withRouter(ProofOfOwnership); diff --git a/packages/account/src/Stores/connect.js b/packages/account/src/Stores/connect.js deleted file mode 100644 index 4ef42c8d18b6..000000000000 --- a/packages/account/src/Stores/connect.js +++ /dev/null @@ -1,31 +0,0 @@ -import { useObserver } from 'mobx-react'; -import React from 'react'; - -const isClassComponent = Component => - !!(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent); - -export const MobxContent = React.createContext(null); - -function injectStorePropsToComponent(propsToSelectFn, BaseComponent) { - const Component = own_props => { - const store = React.useContext(MobxContent); - - let ObservedComponent = BaseComponent; - - if (isClassComponent(BaseComponent)) { - const FunctionalWrapperComponent = props => ; - ObservedComponent = FunctionalWrapperComponent; - } - - return useObserver(() => ObservedComponent({ ...own_props, ...propsToSelectFn(store, own_props) })); - }; - - Component.displayName = BaseComponent.name; - return Component; -} - -export const MobxContentProvider = ({ store, children }) => { - return {children}; -}; - -export const connect = propsToSelectFn => Component => injectStorePropsToComponent(propsToSelectFn, Component); diff --git a/packages/account/src/Stores/index.ts b/packages/account/src/Stores/index.ts deleted file mode 100644 index 9797a63b3b03..000000000000 --- a/packages/account/src/Stores/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -export type TCoreStore = { - client: Record; - common: Record; - ui: Record; - gtm: Record; - rudderstack: Record; - pushwoosh: Record; -}; - -export default class RootStore { - public client: Record; - public common: Record; - public ui: Record; - public gtm: Record; - public rudderstack: Record; - public pushwoosh: Record; - - constructor(core_store: TCoreStore) { - this.client = core_store.client; - this.common = core_store.common; - this.ui = core_store.ui; - this.gtm = core_store.gtm; - this.rudderstack = core_store.rudderstack; - this.pushwoosh = core_store.pushwoosh; - } -} diff --git a/packages/account/src/Stores/init-store.js b/packages/account/src/Stores/init-store.js deleted file mode 100644 index 78df16195a36..000000000000 --- a/packages/account/src/Stores/init-store.js +++ /dev/null @@ -1,12 +0,0 @@ -import { configure } from 'mobx'; -import { setWebsocket } from '@deriv/shared'; -import RootStore from 'Stores'; - -configure({ enforceActions: 'observed' }); - -const initStore = (core_store, websocket) => { - setWebsocket(websocket); - return new RootStore(core_store); -}; - -export default initStore; diff --git a/packages/stores/src/mockStore.ts b/packages/stores/src/mockStore.ts index 5a4ae83af7a2..4183faa31f9a 100644 --- a/packages/stores/src/mockStore.ts +++ b/packages/stores/src/mockStore.ts @@ -5,11 +5,28 @@ const mock = (): TStores & { is_mock: boolean } => { return { is_mock: true, client: { + fetchResidenceList: jest.fn(), + fetchStatesList: jest.fn(), + getChangeableFields: jest.fn(), + residence_list: [ + { + text: 'Text', + value: 'value', + }, + ], + states_list: [ + { + text: 'Text', + value: 'value', + }, + ], account_settings: {}, accounts: {}, + is_social_signup: false, active_account_landing_company: '', trading_platform_available_accounts: [], account_limits: { + account_balance: 300000, daily_transfers: { dxtrade: { allowed: 0, @@ -24,6 +41,68 @@ const mock = (): TStores & { is_mock: boolean } => { available: 0, }, }, + lifetime_limit: 13907.43, + market_specific: { + commodities: [ + { + name: 'Commodities', + payout_limit: 5000, + profile_name: 'moderate_risk', + turnover_limit: 50000, + }, + ], + cryptocurrency: [ + { + name: 'Cryptocurrencies', + payout_limit: 100.0, + profile_name: 'extreme_risk', + turnover_limit: 1000.0, + }, + ], + forex: [ + { + name: 'Smart FX', + payout_limit: 5000, + profile_name: 'moderate_risk', + turnover_limit: 50000, + }, + { + name: 'Major Pairs', + payout_limit: 20000, + profile_name: 'medium_risk', + turnover_limit: 100000, + }, + { + name: 'Minor Pairs', + payout_limit: 5000, + profile_name: 'moderate_risk', + turnover_limit: 50000, + }, + ], + indices: [ + { + name: 'Stock Indices', + payout_limit: 20000, + profile_name: 'medium_risk', + turnover_limit: 100000, + }, + ], + synthetic_index: [ + { + name: 'Synthetic Indices', + payout_limit: 50000, + profile_name: 'low_risk', + turnover_limit: 500000, + }, + ], + }, + num_of_days: 30, + num_of_days_limit: 13907.43, + open_positions: 100, + payout: 50000, + remainder: 13907.43, + withdrawal_for_x_days_monetary: 0, + withdrawal_since_inception_monetary: 0, }, account_status: { authentication: { @@ -49,6 +128,7 @@ const mock = (): TStores & { is_mock: boolean } => { document: { status: 'verified', }, + identity: { services: { idv: { @@ -113,7 +193,8 @@ const mock = (): TStores & { is_mock: boolean } => { current_fiat_currency: '', cfd_score: 0, setCFDScore: jest.fn(), - getLimits: jest.fn(), + getLimits: jest.fn(() => Promise.resolve({ get_limits: {} })), + has_any_real_account: false, has_active_real_account: false, has_logged_out: false, has_maltainvest_account: false, @@ -123,6 +204,9 @@ const mock = (): TStores & { is_mock: boolean } => { is_deposit_lock: false, is_dxtrade_allowed: false, is_eu: false, + is_uk: false, + has_residence: false, + is_fully_authenticated: false, is_financial_account: false, is_financial_information_incomplete: false, is_low_risk: false, @@ -149,7 +233,11 @@ const mock = (): TStores & { is_mock: boolean } => { responseTradingPlatformAccountsList: jest.fn(), standpoint: { iom: '', + svg: '', malta: '', + maltainvest: '', + gaming_company: '', + financial_company: '', }, switchAccount: jest.fn(), verification_code: { @@ -194,7 +282,6 @@ const mock = (): TStores & { is_mock: boolean } => { setTwoFAStatus: jest.fn(), has_changed_two_fa: false, setTwoFAChangedStatus: jest.fn(), - has_any_real_account: false, real_account_creation_unlock_date: 0, setPrevAccountType: jest.fn(), }, @@ -211,6 +298,8 @@ const mock = (): TStores & { is_mock: boolean } => { redirectOnClick: jest.fn(), setError: jest.fn(), }, + current_language: 'EN', + isCurrentLanguage: jest.fn(), is_from_derivgo: false, has_error: false, platform: '', @@ -218,7 +307,6 @@ const mock = (): TStores & { is_mock: boolean } => { routeTo: jest.fn(), changeCurrentLanguage: jest.fn(), changeSelectedLanguage: jest.fn(), - current_language: 'EN', is_network_online: false, server_time: undefined, is_language_changing: false, @@ -258,7 +346,9 @@ const mock = (): TStores & { is_mock: boolean } => { toggleReports: jest.fn(), setSubSectionIndex: jest.fn(), sub_section_index: 0, + toggleShouldShowRealAccountsList: jest.fn(), toggleReadyToDepositModal: jest.fn(), + is_tablet: false, is_ready_to_deposit_modal_visible: false, is_real_acc_signup_on: false, is_need_real_account_for_cashier_modal_visible: false, @@ -308,6 +398,7 @@ const mock = (): TStores & { is_mock: boolean } => { setP2POrderProps: jest.fn(), showAccountSwitchToRealNotification: jest.fn(), setP2PRedirectTo: jest.fn(), + addNotificationMessageByKey: jest.fn(), }, portfolio: { active_positions: [], diff --git a/packages/stores/types.ts b/packages/stores/types.ts index 81c6c886a067..b79e405754ac 100644 --- a/packages/stores/types.ts +++ b/packages/stores/types.ts @@ -6,6 +6,8 @@ import type { GetLimits, GetSettings, LogOutResponse, + ResidenceList, + StatesList, ProposalOpenContract, } from '@deriv/api-types'; import type { Moment } from 'moment'; @@ -18,6 +20,33 @@ type TPopulateSettingsExtensionsMenuItem = { value: (props: T) => JSX.Element; }; +type TAccountLimitsCollection = { + level?: string; + name: string; + payout_limit: number; + profile_name: string; + turnover_limit: number; +}; +type TAccount_limits = { + api_initial_load_error?: string; + open_positions?: React.ReactNode; + account_balance: string | number; + daily_transfers?: object; + payout: string | number; + lifetime_limit?: number; + market_specific: { + commodities: TAccountLimitsCollection[]; + cryptocurrency: TAccountLimitsCollection[]; + forex: TAccountLimitsCollection[]; + indices: TAccountLimitsCollection[]; + synthetic_index: TAccountLimitsCollection[]; + }; + num_of_days?: number; + num_of_days_limit: string | number; + remainder: string | number; + withdrawal_for_x_days_monetary?: number; + withdrawal_since_inception_monetary: string | number; +}; type TAccount = NonNullable[0] & { balance?: number; }; @@ -128,6 +157,9 @@ type TNotification = | ((excluded_until: number) => TNotificationMessage); type TClientStore = { + fetchResidenceList: () => Promise; + fetchStatesList: () => Promise; + getChangeableFields: () => string[]; accounts: { [k: string]: TActiveAccount }; active_accounts: TActiveAccount[]; active_account_landing_company: string; @@ -145,8 +177,11 @@ type TClientStore = { cfd_score: number; setCFDScore: (score: number) => void; currency: string; + residence_list: ResidenceList; + states_list: StatesList; current_currency_type?: string; current_fiat_currency?: string; + has_any_real_account: boolean; getLimits: () => Promise<{ get_limits?: GetLimits }>; has_active_real_account: boolean; has_logged_out: boolean; @@ -156,6 +191,9 @@ type TClientStore = { is_deposit_lock: boolean; is_dxtrade_allowed: boolean; is_eu: boolean; + is_uk: boolean; + is_social_signup: boolean; + has_residence: boolean; is_authorize: boolean; is_financial_account: boolean; is_financial_information_incomplete: boolean; @@ -191,7 +229,11 @@ type TClientStore = { }) => DetailsOfEachMT5Loginid[]; standpoint: { iom: string; + svg: string; malta: string; + maltainvest: string; + gaming_company: string; + financial_company: string; }; setAccountStatus: (status?: GetAccountStatus) => void; setBalanceOtherAccounts: (balance: number) => void; @@ -230,7 +272,7 @@ type TClientStore = { setTwoFAStatus: (status: boolean) => void; has_changed_two_fa: boolean; setTwoFAChangedStatus: (status: boolean) => void; - has_any_real_account: boolean; + is_fully_authenticated: boolean; real_account_creation_unlock_date: number; setPrevAccountType: (account_type: string) => void; }; @@ -249,6 +291,7 @@ type TCommonStoreError = { }; type TCommonStore = { + isCurrentLanguage(language_code: string): boolean; error: TCommonStoreError; has_error: boolean; is_from_derivgo: boolean; @@ -276,6 +319,8 @@ type TUiStore = { is_reports_visible: boolean; is_language_settings_modal_on: boolean; is_mobile: boolean; + sub_section_index: number; + toggleShouldShowRealAccountsList: (value: boolean) => void; openRealAccountSignup: ( value: 'maltainvest' | 'svg' | 'add_crypto' | 'choose' | 'add_fiat' | 'set_currency' | 'manage' ) => void; @@ -285,7 +330,6 @@ type TUiStore = { setReportsTabIndex: (value: number) => void; setIsClosingCreateRealAccountModal: (value: boolean) => void; setRealAccountSignupEnd: (status: boolean) => void; - sub_section_index: number; setSubSectionIndex: (index: number) => void; shouldNavigateAfterChooseCrypto: (value: string) => void; toggleAccountsDialog: () => void; @@ -293,6 +337,7 @@ type TUiStore = { toggleLanguageSettingsModal: () => void; toggleReadyToDepositModal: () => void; toggleSetCurrencyModal: () => void; + is_tablet: boolean; removeToast: (key: string) => void; is_ready_to_deposit_modal_visible: boolean; reports_route_tab_index: number; @@ -331,12 +376,13 @@ type TMenuStore = { }; type TNotificationStore = { + addNotificationMessageByKey: (key: string) => void; addNotificationMessage: (message: TNotification) => void; client_notifications: object; filterNotificationMessages: () => void; refreshNotifications: () => void; - removeNotificationByKey: (obj: { key: string }) => void; - removeNotificationMessage: (obj: { key: string; should_show_again?: boolean }) => void; + removeNotificationByKey: (key: string) => void; + removeNotificationMessage: (key: string, should_show_again?: boolean) => void; setP2POrderProps: () => void; showAccountSwitchToRealNotification: (loginid: string, currency: string) => void; setP2PRedirectTo: () => void; From 67837a96f59803c48f2d674d2edc00eb8917f71e Mon Sep 17 00:00:00 2001 From: ameerul-deriv <103412909+ameerul-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 14:51:50 +0800 Subject: [PATCH 05/18] Ameerul /PRODQA-12 Change the content for 2FA email verification (#8722) * chore: changed the content for modal and changed scss file * chore: changed padding and margin * chore: fixed issue with under dispute check to not show verification link is invalid * chore: added test case for email verification modal * chore: removed unused imports --------- Co-authored-by: vinu-deriv <100689171+vinu-deriv@users.noreply.github.com> --- .../email-verification-modal.spec.js | 79 +++++++++++++++++++ .../email-verification-modal.jsx | 17 ++-- .../email-verification-modal.scss | 14 +++- .../order-details/order-details.jsx | 1 + 4 files changed, 98 insertions(+), 13 deletions(-) create mode 100644 packages/p2p/src/components/modal-manager/modals/email-verification-modal/__tests__/email-verification-modal.spec.js diff --git a/packages/p2p/src/components/modal-manager/modals/email-verification-modal/__tests__/email-verification-modal.spec.js b/packages/p2p/src/components/modal-manager/modals/email-verification-modal/__tests__/email-verification-modal.spec.js new file mode 100644 index 000000000000..f5ac738cd655 --- /dev/null +++ b/packages/p2p/src/components/modal-manager/modals/email-verification-modal/__tests__/email-verification-modal.spec.js @@ -0,0 +1,79 @@ +import React from 'react'; +import { screen, render } from '@testing-library/react'; +import EmailVerificationModal from '../email-verification-modal'; +import userEvent from '@testing-library/user-event'; + +let mock_store; + +const el_modal = document.createElement('div'); + +jest.mock('Stores', () => ({ + ...jest.requireActual('Stores'), + useStores: jest.fn(() => mock_store), +})); + +jest.mock('Components/modal-manager/modal-manager-context', () => ({ + ...jest.requireActual('Components/modal-manager/modal-manager-context'), + useModalManagerContext: jest.fn(() => ({ + hideModal: jest.fn(), + is_modal_open: true, + })), +})); + +describe('EmailVerificationModal />', () => { + beforeEach(() => { + mock_store = { + order_store: { + confirmOrderRequest: jest.fn(), + order_information: { + id: 1, + }, + }, + }; + }); + beforeAll(() => { + el_modal.setAttribute('id', 'modal_root'); + document.body.appendChild(el_modal); + }); + afterAll(() => { + document.body.removeChild(el_modal); + }); + + it('should render EmailVerificationModal', () => { + render(); + + expect(screen.getByText('Check your email')).toBeInTheDocument(); + expect( + screen.getByText('Hit the link in the email we sent you to authorise this transaction.') + ).toBeInTheDocument(); + expect(screen.getByText('The link will expire in 10 minutes.')).toBeInTheDocument(); + }); + + it('should be able to click on didn`t receive email and setShouldShowReasonsIfNoEmail should be passing true', () => { + const setShouldShowReasonsIfNoEmailMock = jest.spyOn(React, 'useState'); + setShouldShowReasonsIfNoEmailMock.mockImplementation(initialValue => [initialValue, jest.fn()]); + + render(); + + const didntReceiveEmailText = screen.getByText("Didn't receive the email?"); + + userEvent.click(didntReceiveEmailText); + + expect(setShouldShowReasonsIfNoEmailMock).toHaveBeenCalled(); + }); + + // TODO: Add other checks for hideModal and setShouldShowReasonsIfNoEmail to be called when refactoring this component + it('should call confirmOrderRequest when clicking on Resend Email button', () => { + jest.spyOn(React, 'useState').mockImplementationOnce(() => React.useState(true)); + + render(); + + const resendEmail = screen.getByRole('button', { name: 'Resend email' }); + + userEvent.click(resendEmail); + + expect(mock_store.order_store.confirmOrderRequest).toHaveBeenCalledWith( + mock_store.order_store.order_information.id + ); + }); +}); diff --git a/packages/p2p/src/components/modal-manager/modals/email-verification-modal/email-verification-modal.jsx b/packages/p2p/src/components/modal-manager/modals/email-verification-modal/email-verification-modal.jsx index 929b1be95175..78c7abf95d98 100644 --- a/packages/p2p/src/components/modal-manager/modals/email-verification-modal/email-verification-modal.jsx +++ b/packages/p2p/src/components/modal-manager/modals/email-verification-modal/email-verification-modal.jsx @@ -15,7 +15,7 @@ const EmailVerificationModal = ( const { order_store } = useStores(); const { hideModal, is_modal_open } = useModalManagerContext(); const [should_show_reasons_if_no_email, setShouldShowReasonsIfNoEmail] = React.useState(false); - const { confirmOrderRequest, order_information, user_email_address } = order_store; + const { confirmOrderRequest, order_information } = order_store; return ( - ]} - values={{ user_email_address }} - /> + + + + {/* TODO: Uncomment when time is available in BE response */} - + { verification_pending === 0 && !is_buy_order_for_user && status_string !== 'Expired' && + status_string !== 'Under dispute' && order_store.error_code !== api_error_codes.EXCESSIVE_VERIFICATION_REQUESTS ) { showModal({ key: 'EmailLinkExpiredModal' }, { should_stack_modal: isMobile() }); From 63cab3b8bc87b8fbaf73b49006056195e6713b73 Mon Sep 17 00:00:00 2001 From: Shayan Khaleghparast <100833613+shayan-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 10:24:08 +0330 Subject: [PATCH 06/18] Shayan/FEQ-172/fixed redirection popup not showing when clicking on hyperlinks inside popover component (#8897) * fix: fixed the bug * chore: use sass instead of node-sass * chore: Empty-Commit * ci: :green_heart: trigger build * ci: :green_heart: trigger build * fix: checking codecov error [WIP] * fix: checking codecov issue * docs: remove node-sass from readme file * docs: fix typo in readme file * fix: fix the redirect notic popup issue in mobile * revert: reverted sass to node-sass * fix: trigger codecov --------- Co-authored-by: Hamid Yaftian Co-authored-by: Hamid Co-authored-by: Ali(Ako) Hosseini --- packages/account/src/Components/forms/personal-details-form.jsx | 2 +- .../components/src/components/mobile-dialog/mobile-dialog.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/account/src/Components/forms/personal-details-form.jsx b/packages/account/src/Components/forms/personal-details-form.jsx index 6424e65f757b..bafdb0141ff8 100644 --- a/packages/account/src/Components/forms/personal-details-form.jsx +++ b/packages/account/src/Components/forms/personal-details-form.jsx @@ -424,7 +424,7 @@ const PersonalDetailsForm = ({ onClick={e => { setIsTaxResidencePopoverOpen(false); setIsTinPopoverOpen(true); - e.stopPropagation(); + if (e.target.tagName !== 'A') e.stopPropagation(); }} > ) => { // sometimes input is covered by virtual keyboard on mobile chrome, uc browser const handleClick = (e: React.MouseEvent) => { - e.stopPropagation(); const target = e.target as HTMLInputElement; + if (target.tagName !== 'A') e.stopPropagation(); if (target.tagName === 'INPUT' && target.type === 'number') { const scrollToTarget = () => scrollToElement(e.currentTarget, target); window.addEventListener('resize', scrollToTarget, false); From 40e8eebb82bcc97009c9850071bf5089ce306205 Mon Sep 17 00:00:00 2001 From: Aum Bhatt <125039206+aum-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 10:56:24 +0400 Subject: [PATCH 07/18] Aum / PRODQA-899 / Hide livechat hyper link in the deposit page when accessing cashier from DerivGO (#8830) * chore: remove live chat hyperlink when cashier is accessed from DerivGo * chore: fixed conflicts after merging master * fix: removed underline on hover * chore: empty-commit --------- Co-authored-by: Sandeep Rajput <90243468+sandeep-deriv@users.noreply.github.com> --- .../cashier-onboarding-side-note-fiat.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/cashier/src/modules/cashier-onboarding/components/cashier-onboarding-side-notes/cashier-onboarding-side-note-fiat.tsx b/packages/cashier/src/modules/cashier-onboarding/components/cashier-onboarding-side-notes/cashier-onboarding-side-note-fiat.tsx index 4b5d68af2d36..309197583ce4 100644 --- a/packages/cashier/src/modules/cashier-onboarding/components/cashier-onboarding-side-notes/cashier-onboarding-side-note-fiat.tsx +++ b/packages/cashier/src/modules/cashier-onboarding/components/cashier-onboarding-side-notes/cashier-onboarding-side-note-fiat.tsx @@ -6,9 +6,10 @@ import { Localize, localize } from '@deriv/translations'; import { SideNoteCard } from '../../../../components/side-note-card'; const CashierOnboardingSideNoteFiat: React.FC = observer(() => { - const { client, ui } = useStore(); + const { client, ui, common } = useStore(); const { currency, loginid, is_eu, is_low_risk } = client; const { is_mobile } = ui; + const { is_from_derivgo } = common; const currency_code = getCurrencyDisplayCode(currency); const regulation_text = is_eu ? 'EU' : 'non-EU'; @@ -30,10 +31,10 @@ const CashierOnboardingSideNoteFiat: React.FC = observer(() => { components={[ window.LC_API.open_chat_window()} + className={!is_from_derivgo && 'cashier-onboarding-side-notes__link'} + onClick={() => (!is_from_derivgo ? window.LC_API.open_chat_window() : null)} />, ]} /> From dd28ee8edbbc05d74ef39b362d1dd84e8f44fbf4 Mon Sep 17 00:00:00 2001 From: kate-deriv <121025168+kate-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 09:58:41 +0300 Subject: [PATCH 08/18] Kate/92424/To make steps of increasing/decreasing mobile barrier equal (#8157) * chore: test changes only for deploy and mobile check * chore: testing numeric keyboard * fix: bug with collapsed barriers * chore: revert changes as it break take profit * refactor: remove extra usage of format function * refactor: change getBarrierPipSize * chore: return styles to barrier input * chore: remove empty line --------- Co-authored-by: Sandeep Rajput <90243468+sandeep-deriv@users.noreply.github.com> --- .../components/src/components/input-field/input-field.jsx | 6 ++++-- packages/shared/src/utils/helpers/barrier.ts | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/components/src/components/input-field/input-field.jsx b/packages/components/src/components/input-field/input-field.jsx index 79eb76bf6430..f7019cca2928 100644 --- a/packages/components/src/components/input-field/input-field.jsx +++ b/packages/components/src/components/input-field/input-field.jsx @@ -133,7 +133,7 @@ const InputField = ({ if (max_is_disabled) return; let increment_value; - const current_value = +(local_value || value); + const current_value = local_value || value; const decimal_places = current_value ? getDecimals(current_value) : 0; const is_crypto = !!currency && isCryptocurrency(currency); @@ -149,8 +149,9 @@ const InputField = ({ parseFloat(current_value || 0) + parseFloat(1 * 10 ** (0 - (decimal_point_change || decimal_places))); increment_value = parseFloat(new_value).toFixed(decimal_point_change || decimal_places); } else { - increment_value = parseFloat((current_value || 0) + 1).toFixed(decimal_places); + increment_value = parseFloat((+current_value || 0) + 1).toFixed(decimal_places); } + updateValue(increment_value, !!long_press_step); }; @@ -185,6 +186,7 @@ const InputField = ({ if (is_negative_disabled && decrement_value < 0) { return; } + updateValue(decrement_value, !!long_press_step); }; diff --git a/packages/shared/src/utils/helpers/barrier.ts b/packages/shared/src/utils/helpers/barrier.ts index 079e7e7ccfe1..f5d7c5429a27 100644 --- a/packages/shared/src/utils/helpers/barrier.ts +++ b/packages/shared/src/utils/helpers/barrier.ts @@ -61,6 +61,6 @@ export const getAccumulatorBarriers = ( }; export const getBarrierPipSize = (barrier: string) => { - if (Math.floor(+barrier) === +barrier || barrier.length < 1 || +barrier % 1 === 0 || isNaN(+barrier)) return 0; - return barrier.toString().split('.')[1].length || 0; + if (barrier.length < 1 || isNaN(+barrier)) return 0; + return barrier.split('.')[1]?.length || 0; }; From 953d918f587f67bf43b09b9f06b9ca8f67baad09 Mon Sep 17 00:00:00 2001 From: Akmal Djumakhodjaev Date: Thu, 22 Jun 2023 15:00:59 +0800 Subject: [PATCH 09/18] Akmal / feat: change vanilla options decimals rounding (#8677) * feat: change vanilla options decimals rounding * chore: remove unused functions * chore: add test case * feat: trigger vercel * feat: trigger vercel * feat: trigger vercel * feat: trigger vercel --------- Co-authored-by: Sandeep Rajput <90243468+sandeep-deriv@users.noreply.github.com> Co-authored-by: vinu-deriv <100689171+vinu-deriv@users.noreply.github.com> --- .../__tests__/contract-details.spec.js | 80 +++++++++++++++++++ .../ContractAudit/contract-audit-item.jsx | 2 +- .../ContractAudit/contract-details.jsx | 8 +- .../Form/Purchase/contract-info.jsx | 1 + 4 files changed, 84 insertions(+), 7 deletions(-) create mode 100644 packages/trader/src/App/Components/Elements/ContractAudit/__tests__/contract-details.spec.js diff --git a/packages/trader/src/App/Components/Elements/ContractAudit/__tests__/contract-details.spec.js b/packages/trader/src/App/Components/Elements/ContractAudit/__tests__/contract-details.spec.js new file mode 100644 index 000000000000..5dc927b50738 --- /dev/null +++ b/packages/trader/src/App/Components/Elements/ContractAudit/__tests__/contract-details.spec.js @@ -0,0 +1,80 @@ +import React from 'react'; +import { screen, render } from '@testing-library/react'; +import ContractDetails from '../contract-details'; + +describe('ContractDetails', () => { + const contract_info = { + account_id: 73816028, + barrier: '1460.00', + barrier_count: 1, + bid_price: 1.9, + buy_price: 2, + contract_id: 210660718708, + contract_type: 'VANILLALONGCALL', + currency: 'USD', + current_spot: 1458.01, + current_spot_display_value: '1458.01', + current_spot_time: 1686895544, + date_expiry: 1687046399, + date_settlement: 1687046400, + date_start: 1686895542, + display_name: 'Volatility 100 (1s) Index', + entry_spot: 1458.17, + entry_spot_display_value: '1458.17', + entry_tick: 1458.17, + entry_tick_display_value: '1458.17', + entry_tick_time: 1686895541, + expiry_time: 1687046399, + id: '1c1fd73a-daeb-05df-47f3-f70aa09146e4', + is_expired: 0, + is_forward_starting: 0, + is_intraday: 0, + is_path_dependent: 0, + is_settleable: 0, + is_sold: 0, + is_valid_to_cancel: 0, + is_valid_to_sell: 1, + longcode: 'Your payout will be 0.04958 for each point above 1460.00 at expiry time', + number_of_contracts: 0.04958, + profit: -0.1, + profit_percentage: -5, + purchase_time: 1686895542, + shortcode: 'VANILLALONGCALL_1HZ100V_2.00_1686895542_1687046399_1460000000_0.04958_1686895541', + status: 'open', + transaction_ids: { buy: 420381262708 }, + underlying: '1HZ100V', + }; + + it('renders the ContractAuditItems specific to Vanilla component when is_vanilla is true', () => { + const wrapper = render( + + ); + expect(wrapper.queryAllByTestId('dt_bt_label')).toHaveLength(2); + }); + + it('renders the Payout per point label when is_vanilla is true', () => { + render( + + ); + + expect(screen.getByText('Payout per point')).toBeInTheDocument(); + }); +}); diff --git a/packages/trader/src/App/Components/Elements/ContractAudit/contract-audit-item.jsx b/packages/trader/src/App/Components/Elements/ContractAudit/contract-audit-item.jsx index 067b3883c65e..efd400b90269 100644 --- a/packages/trader/src/App/Components/Elements/ContractAudit/contract-audit-item.jsx +++ b/packages/trader/src/App/Components/Elements/ContractAudit/contract-audit-item.jsx @@ -4,7 +4,7 @@ import { formatDate, formatTime } from '@deriv/shared'; import { Text } from '@deriv/components'; const ContractAuditItem = ({ icon, id, label, timestamp, value, value2 }) => ( -
+
{icon &&
{icon}
}
diff --git a/packages/trader/src/App/Components/Elements/ContractAudit/contract-details.jsx b/packages/trader/src/App/Components/Elements/ContractAudit/contract-details.jsx index 9547a6725a85..d13461c7c3e4 100644 --- a/packages/trader/src/App/Components/Elements/ContractAudit/contract-details.jsx +++ b/packages/trader/src/App/Components/Elements/ContractAudit/contract-details.jsx @@ -4,7 +4,6 @@ import { Money, Icon, ThemedScrollbars } from '@deriv/components'; import { localize } from '@deriv/translations'; import { epochToMoment, - formatMoney, toGMTFormat, getCancellationPrice, isAccumulatorContract, @@ -103,11 +102,8 @@ const ContractDetails = ({ contract_end_time, contract_info, duration, duration_ id='dt_bt_label' icon={} label={localize('Payout per point')} - value={ - `${formatMoney(currency, number_of_contracts, true)} ${getCurrencyDisplayCode( - currency - )}` || ' - ' - } + value={`${number_of_contracts} ${getCurrencyDisplayCode(currency)}` || ' - '} + should_format={!is_vanilla} /> )} diff --git a/packages/trader/src/Modules/Trading/Components/Form/Purchase/contract-info.jsx b/packages/trader/src/Modules/Trading/Components/Form/Purchase/contract-info.jsx index fd0089c488a3..69ae2287e229 100644 --- a/packages/trader/src/Modules/Trading/Components/Form/Purchase/contract-info.jsx +++ b/packages/trader/src/Modules/Trading/Components/Form/Purchase/contract-info.jsx @@ -25,6 +25,7 @@ export const ValueMovement = ({ })} currency={currency} show_currency={show_currency} + should_format={!is_vanilla} /> )}
From 9d5033a66d4d721592fb1eb2c330b2241d6039bb Mon Sep 17 00:00:00 2001 From: maryia-matskevich-deriv <103181650+maryia-matskevich-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 10:03:06 +0300 Subject: [PATCH 10/18] Maryia/bot-159/feat: send data to datadog (#8989) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add flag bot is running or not & send to datadog all requests before & after run bot * feat: improve with help creating single timer, refactor the code * refactor: add forwardErrorsToLogs * feat: add env variables to webpack.config.js * feat: implem calc duration between user clicks the btn "run" & getting a response from proposal call * feat: add configuration for the jest tests for bot-skelethon package * feat: add jest tests for api middleware * refactor: remove unneсessary config definitions * refactor: config, defineMeasure() * chore: trigger codecov --- packages/bot-skeleton/jest.config.js | 19 +++ .../api/__tests__/datadog-middleware.spec.ts | 146 +++++++++++++++++ .../src/services/api/api-middleware.js | 149 ++++++++++++++++++ .../bot-skeleton/src/services/api/appId.js | 2 + packages/bot-web-ui/package.json | 1 + packages/bot-web-ui/src/stores/app-store.js | 13 +- .../bot-web-ui/src/stores/run-panel-store.js | 6 + packages/bot-web-ui/webpack.config.js | 8 + 8 files changed, 343 insertions(+), 1 deletion(-) create mode 100644 packages/bot-skeleton/jest.config.js create mode 100644 packages/bot-skeleton/src/services/api/__tests__/datadog-middleware.spec.ts create mode 100644 packages/bot-skeleton/src/services/api/api-middleware.js diff --git a/packages/bot-skeleton/jest.config.js b/packages/bot-skeleton/jest.config.js new file mode 100644 index 000000000000..26391d325ed4 --- /dev/null +++ b/packages/bot-skeleton/jest.config.js @@ -0,0 +1,19 @@ +const baseConfigForPackages = require('../../jest.config.base'); + +module.exports = { + ...baseConfigForPackages, + clearMocks: true, + moduleNameMapper: { + '\\.s(c|a)ss$': '/../../__mocks__/styleMock.js', + '^.+\\.svg$': '/../../__mocks__/styleMock.js', + '^Constants/(.*)$': '/src/constants/$1', + '^Scratch/(.*)$': '/src/scratch/$1', + '^Services/(.*)$': '/src/services/$1', + '^Utils/(.*)$': '/src/utils/$1', + }, + // remove later + testRegex: 'packages/bot-skeleton/src/services/api/__tests__/datadog-middleware.spec.ts', + globals: { + __webpack_public_path__: '/', + }, +}; diff --git a/packages/bot-skeleton/src/services/api/__tests__/datadog-middleware.spec.ts b/packages/bot-skeleton/src/services/api/__tests__/datadog-middleware.spec.ts new file mode 100644 index 000000000000..1a05a301c2c4 --- /dev/null +++ b/packages/bot-skeleton/src/services/api/__tests__/datadog-middleware.spec.ts @@ -0,0 +1,146 @@ +import APIMiddleware, { REQUESTS } from '../api-middleware'; +import { datadogLogs } from '@datadog/browser-logs'; + +jest.mock('@datadog/browser-logs', () => { + return { + ...jest.requireActual('@datadog/browser-logs'), + datadogLogs: { + init: jest.fn(), + logger: { + info: jest.fn(), + }, + }, + }; +}); + +describe('APIMiddleware', () => { + let api_middleware: APIMiddleware; + const info = jest.fn(); + const mockMeasure = jest.fn(() => ({ startTime: 0 })); + const clearMarks = jest.fn(); + const clearMeasures = jest.fn(); + const mockSendRequestsStatistic = jest.fn(); + + const measure_object = { + name: 'time', + startTime: 15288.20000004768, + duration: 133, + detail: null, + isBotRunning: false, + }; + + beforeEach(() => { + Object.defineProperty(window, 'performance', { + value: { + mark: jest.fn(), + measure: mockMeasure, + getEntriesByName: jest.fn().mockReturnValue([{ name: 'entry_name' }]), + logger: { + info: jest.fn().mockReturnValue([{ measure: 'measure_name' }, measure_object]), + }, + mockSendRequestsStatistic, + clearMeasures, + clearMarks, + }, + }); + + api_middleware = new APIMiddleware(); + }); + + it('Should get measure for each request, invoke method log(), clear measures', () => { + const spyLog = jest.spyOn(api_middleware, 'log'); + + api_middleware.sendRequestsStatistic(false); + + REQUESTS.forEach(request_name => { + expect(spyLog).toHaveBeenCalledWith([{ name: 'entry_name' }], false, request_name); + }); + expect(clearMeasures).toBeCalledTimes(1); + }); + + it('Should log info if measures are there', () => { + const datadog_logs = { + name: 'time', + startTimeDate: 15288.20000004768, + duration: 133, + detail: null, + isBotRunning: false, + }; + + const spyDatalogsInfo = jest.spyOn(datadogLogs.logger, 'info'); + + api_middleware.log([datadog_logs], false); + + expect(spyDatalogsInfo).toHaveBeenCalledWith(datadog_logs.name, { ...measure_object }); + }); + + it('Should not log info if measures are absent', () => { + api_middleware.log([], false); + expect(info).toBeCalledTimes(0); + }); + + it('GetRequestType', () => { + const spyGetRequestType = jest.spyOn(api_middleware, 'getRequestType'); + const request_type = { authorize: 1 }; + const result = api_middleware.getRequestType(request_type); + REQUESTS.forEach(type => { + if (type in request_type) { + expect(spyGetRequestType).toHaveBeenCalledWith(request_type); + expect(result).toBeDefined(); + } + }); + }); + + it('Should invoke the method defineMeasure()', async () => { + const spydefineMeasure = jest.spyOn(api_middleware, 'defineMeasure'); + const response_promise = new Promise((res, rej) => res({ authorize: 1 })); + + await api_middleware.sendIsCalled({ response_promise, args: [{ authorize: 1 }] }); + + expect(spydefineMeasure).toHaveBeenCalledWith('authorize'); + }); + + describe('Define measure', () => { + it('Should define measure of history API call', () => { + const spydefineMeasure = jest.spyOn(api_middleware, 'defineMeasure'); + const result = api_middleware.defineMeasure('history'); + + expect(spydefineMeasure).toHaveBeenCalledWith('history'); + expect(mockMeasure).toHaveBeenCalledWith('ticks_history', 'ticks_history_start', 'ticks_history_end'); + expect(result).toBeDefined(); + }); + + it('Should define measure of proposal API call', () => { + const spydefineMeasure = jest.spyOn(api_middleware, 'defineMeasure'); + + const result = api_middleware.defineMeasure('proposal'); + + expect(spydefineMeasure).toHaveBeenCalledWith('proposal'); + expect(mockMeasure).toHaveBeenCalledWith('run-proposal', 'bot-start', 'first_proposal_end'); + expect(clearMarks).toBeCalledTimes(1); + expect(result).toBeDefined(); + }); + + it('Should define measure for API calls except of proposal and history', () => { + const spydefineMeasure = jest.spyOn(api_middleware, 'defineMeasure'); + + REQUESTS.forEach(request_name => { + if (request_name !== 'proposal' && request_name !== 'history') { + const result = api_middleware.defineMeasure(request_name); + expect(spydefineMeasure).toHaveBeenCalledWith(request_name); + expect(mockMeasure).toHaveBeenCalledWith( + `${request_name}`, + `${request_name}_start`, + `${request_name}_end` + ); + expect(result).toBeDefined(); + } + }); + }); + }); + + it('Should be added the method sendRequestsStatistic to window', () => { + expect(window).not.toBeUndefined(); + expect(mockSendRequestsStatistic).not.toBeUndefined(); + }); +}); diff --git a/packages/bot-skeleton/src/services/api/api-middleware.js b/packages/bot-skeleton/src/services/api/api-middleware.js new file mode 100644 index 000000000000..595a2bf427ef --- /dev/null +++ b/packages/bot-skeleton/src/services/api/api-middleware.js @@ -0,0 +1,149 @@ +import { datadogLogs } from '@datadog/browser-logs'; +import { formatDate, formatTime } from '@deriv/shared'; + +const DATADOG_CLIENT_TOKEN = process.env.DATADOG_CLIENT_TOKEN ?? ''; +const isProduction = process.env.CIRCLE_JOB === 'release_production'; +const isStaging = process.env.CIRCLE_JOB === 'release_staging'; + +let dataDogSessionSampleRate = 0; +let dataDogVersion = ''; +let dataDogEnv = ''; + +if (isProduction) { + dataDogVersion = `deriv-app-${process.env.CIRCLE_TAG}`; + dataDogSessionSampleRate = +process.env.DATADOG_SESSION_SAMPLE_RATE ?? 10; + dataDogEnv = 'production'; +} else if (isStaging) { + dataDogVersion = `deriv-app-staging-v${formatDate(new Date(), 'YYYYMMDD')}-${formatTime(Date.now(), 'HH:mm')}`; + dataDogSessionSampleRate = 100; + dataDogEnv = 'staging'; +} + +datadogLogs.init({ + clientToken: DATADOG_CLIENT_TOKEN, + site: 'datadoghq.eu', + forwardErrorsToLogs: false, + service: 'Dbot', + sessionSampleRate: dataDogSessionSampleRate, + version: dataDogVersion, + env: dataDogEnv, +}); + +export const REQUESTS = [ + 'authorize', + 'balance', + 'active_symbols', + 'transaction', + 'ticks_history', + 'forget', + 'proposal_open_contract', + 'proposal', + 'buy', + 'exchange_rates', + 'trading_times', + 'time', + 'get_account_status', + 'get_settings', + 'payout_currencies', + 'website_status', + 'get_financial_assessment', + 'mt5_login_list', + 'get_self_exclusion', + 'landing_company', + 'get_limits', + 'paymentagent_list', + 'platform', + 'trading_platform_available_accounts', + 'trading_platform_accounts', + 'statement', + 'landing_company_details', + 'contracts_for', + 'residence_list', + 'account_security', + 'p2p_advertiser_info', + 'platform', + 'history', + 'amount', + 'run-proposal', +]; + +class APIMiddleware { + constructor(config) { + this.config = config; + this.debounced_calls = {}; + this.addGlobalMethod(); + } + + getRequestType = request => { + let req_type; + REQUESTS.forEach(type => { + if (type in request && !req_type) req_type = type; + }); + + return req_type; + }; + + log = (measures = [], is_bot_running) => { + if (measures && measures.length) { + measures.forEach(measure => { + datadogLogs.logger.info(measure.name, { + name: measure.name, + startTime: measure.startTimeDate, + duration: measure.duration, + detail: measure.detail, + isBotRunning: is_bot_running, + }); + }); + } + }; + + defineMeasure = res_type => { + if (res_type) { + let measure; + if (res_type === 'proposal') { + performance.mark('first_proposal_end'); + if (performance.getEntriesByName('bot-start', 'mark').length) { + measure = performance.measure('run-proposal', 'bot-start', 'first_proposal_end'); + performance.clearMarks('bot-start'); + } + } + if (res_type === 'history') { + performance.mark('ticks_history_end'); + measure = performance.measure('ticks_history', 'ticks_history_start', 'ticks_history_end'); + } else { + performance.mark(`${res_type}_end`); + measure = performance.measure(`${res_type}`, `${res_type}_start`, `${res_type}_end`); + } + return (measure.startTimeDate = new Date(Date.now() - measure.startTime)); + } + return false; + }; + + sendIsCalled = ({ response_promise, args: [request] }) => { + const req_type = this.getRequestType(request); + if (req_type) performance.mark(`${req_type}_start`); + response_promise.then(res => { + const res_type = this.getRequestType(res); + if (res_type) { + this.defineMeasure(res_type); + } + }); + return response_promise; + }; + + sendRequestsStatistic = is_bot_running => { + REQUESTS.forEach(req_type => { + const measure = performance.getEntriesByName(req_type); + if (measure && measure.length) { + this.log(measure, is_bot_running, req_type); + } + }); + performance.clearMeasures(); + }; + + addGlobalMethod() { + if (window) window.sendRequestsStatistic = this.sendRequestsStatistic; + } +} + +export default APIMiddleware; diff --git a/packages/bot-skeleton/src/services/api/appId.js b/packages/bot-skeleton/src/services/api/appId.js index e56a9931fbea..d745eaedda9f 100644 --- a/packages/bot-skeleton/src/services/api/appId.js +++ b/packages/bot-skeleton/src/services/api/appId.js @@ -1,12 +1,14 @@ import DerivAPIBasic from '@deriv/deriv-api/dist/DerivAPIBasic'; import { getAppId, getSocketURL, website_name } from '@deriv/shared'; import { getLanguage } from '@deriv/translations'; +import APIMiddleware from './api-middleware'; export const generateDerivApiInstance = () => { const socket_url = `wss://${getSocketURL()}/websockets/v3?app_id=${getAppId()}&l=${getLanguage()}&brand=${website_name.toLowerCase()}`; const deriv_socket = new WebSocket(socket_url); const deriv_api = new DerivAPIBasic({ connection: deriv_socket, + middleware: new APIMiddleware({}), }); return deriv_api; }; diff --git a/packages/bot-web-ui/package.json b/packages/bot-web-ui/package.json index c2e9dc401c09..6456cc12b46b 100644 --- a/packages/bot-web-ui/package.json +++ b/packages/bot-web-ui/package.json @@ -67,6 +67,7 @@ "webpack-cli": "^4.7.2" }, "dependencies": { + "@datadog/browser-logs": "^4.36.0", "@deriv/bot-skeleton": "^1.0.0", "@deriv/components": "^1.0.0", "@deriv/deriv-charts": "1.2.2", diff --git a/packages/bot-web-ui/src/stores/app-store.js b/packages/bot-web-ui/src/stores/app-store.js index 80f03c5e6e91..442359df96e9 100644 --- a/packages/bot-web-ui/src/stores/app-store.js +++ b/packages/bot-web-ui/src/stores/app-store.js @@ -23,11 +23,18 @@ export default class AppStore { this.core = core; this.dbot_store = null; this.api_helpers_store = null; + this.timer = null; } onMount() { - const { blockly_store } = this.root_store; + const { blockly_store, run_panel } = this.root_store; const { client, common } = this.core; + + this.timer = setInterval(() => { + window.sendRequestsStatistic(run_panel?.is_running); + performance.clearMeasures(); + }, 10000); + this.showDigitalOptionsMaltainvestError(client, common); blockly_store.setLoading(true); @@ -78,6 +85,10 @@ export default class AppStore { ui.setAccountSwitcherDisabledMessage(false); ui.setPromptHandler(false); + + if (this.timer) clearInterval(this.timer); + window.sendRequestsStatistic(false); + performance.clearMeasures(); } onBeforeUnload = event => { diff --git a/packages/bot-web-ui/src/stores/run-panel-store.js b/packages/bot-web-ui/src/stores/run-panel-store.js index 7f2902308324..e4f53be5f6da 100644 --- a/packages/bot-web-ui/src/stores/run-panel-store.js +++ b/packages/bot-web-ui/src/stores/run-panel-store.js @@ -147,6 +147,10 @@ export default class RunPanelStore { } async onRunButtonClick() { + performance.mark('bot-start'); + + window.sendRequestsStatistic(false); + performance.clearMeasures(); const { summary_card, route_prompt_dialog, self_exclusion } = this.root_store; const { client, ui } = this.core; const is_ios = mobileOSDetect() === 'iOS'; @@ -230,6 +234,8 @@ export default class RunPanelStore { if (this.error_type) { this.error_type = undefined; } + window.sendRequestsStatistic(true); + performance.clearMeasures(); } onClearStatClick() { diff --git a/packages/bot-web-ui/webpack.config.js b/packages/bot-web-ui/webpack.config.js index 4b25cddd325a..473580b22df5 100644 --- a/packages/bot-web-ui/webpack.config.js +++ b/packages/bot-web-ui/webpack.config.js @@ -119,6 +119,14 @@ module.exports = function (env) { 'process.env.GD_CLIENT_ID': JSON.stringify(process.env.GD_CLIENT_ID), 'process.env.GD_API_KEY': JSON.stringify(process.env.GD_API_KEY), 'process.env.GD_APP_ID': JSON.stringify(process.env.GD_APP_ID), + 'process.env.DATADOG_APPLICATION_ID': JSON.stringify(process.env.DATADOG_APPLICATION_ID), + 'process.env.DATADOG_CLIENT_TOKEN': JSON.stringify(process.env.DATADOG_CLIENT_TOKEN), + 'process.env.DATADOG_SESSION_REPLAY_SAMPLE_RATE': JSON.stringify( + process.env.DATADOG_SESSION_REPLAY_SAMPLE_RATE + ), + 'process.env.DATADOG_SESSION_SAMPLE_RATE': JSON.stringify(process.env.DATADOG_SESSION_SAMPLE_RATE), + 'process.env.CIRCLE_TAG': JSON.stringify(process.env.CIRCLE_TAG), + 'process.env.CIRCLE_JOB': JSON.stringify(process.env.CIRCLE_JOB), }), new CleanWebpackPlugin(), new MiniCssExtractPlugin({ From 1b9467a60eff853aa98736bdfe92a9d6ee8e193c Mon Sep 17 00:00:00 2001 From: Sui Sin <103026762+suisin-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:05:23 +0800 Subject: [PATCH 11/18] chore: solve broken page redirect from error msg (#8609) Co-authored-by: Jim Daniels Wasswa <104334373+jim-deriv@users.noreply.github.com> --- .../Containers/RealAccountSignup/real-account-signup.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/src/App/Containers/RealAccountSignup/real-account-signup.jsx b/packages/core/src/App/Containers/RealAccountSignup/real-account-signup.jsx index 125580a2ca35..51acaa22d6fe 100644 --- a/packages/core/src/App/Containers/RealAccountSignup/real-account-signup.jsx +++ b/packages/core/src/App/Containers/RealAccountSignup/real-account-signup.jsx @@ -213,7 +213,7 @@ const RealAccountSignup = ({ local_props.state_value.error_message || local_props.state_value.error_code?.message_to_client } code={local_props.state_value.error_code} - onConfirm={onErrorConfirm} + onConfirm={() => onErrorConfirm(local_props.state_value.error_code)} /> ), title: () => localize('Add a real account'), @@ -421,10 +421,10 @@ const RealAccountSignup = ({ redirectToLegacyPlatform(); }; - const onErrorConfirm = () => { + const onErrorConfirm = err_code => { setParams({ active_modal_index: - current_action === 'multi' + current_action === 'multi' || err_code === 'CurrencyTypeNotAllowed' ? modal_pages_indices.add_or_manage_account : modal_pages_indices.account_wizard, }); From 17da2ce819365bdd1b6aa492bb70ba0c5f40394a Mon Sep 17 00:00:00 2001 From: Akmal Djumakhodjaev Date: Thu, 22 Jun 2023 15:07:30 +0800 Subject: [PATCH 12/18] Akmal / feat: vanilla options content update and UI changes (#8941) * feat: vanilla options content update and UI changes * chore: remove console logs * fix: add missing expiry epoch * fix: update expiry date on mobile without proposal response * fix: circle ci warning * feat: remove vanilla stake tooltip from mobile * fix: resolve post merge issues * fix: remove unused variables * fix: containt tooltip within smaller screens * fix: change max width of content * fix: expiry date label bugs * fix: remove unused imports * feat: trigger vercel --- .../Form/Purchase/contract-info.jsx | 18 +----- .../Duration/advanced-duration.jsx | 18 ++++-- .../TradeParams/Duration/duration-mobile.jsx | 57 ++++++++++++++----- .../TradeParams/Duration/duration-wrapper.jsx | 24 ++++---- .../Form/TradeParams/Duration/duration.jsx | 18 +++--- .../Form/TradeParams/Duration/expiry-text.jsx | 22 +++++++ .../Components/Form/TradeParams/amount.jsx | 4 -- .../Components/Form/TradeParams/strike.jsx | 6 +- .../Trading/Containers/strike-param-modal.jsx | 6 +- .../Containers/trade-params-mobile.jsx | 33 ++--------- .../src/Stores/Modules/Trading/trade-store.js | 7 ++- .../src/sass/app/modules/trading-mobile.scss | 6 +- .../trader/src/sass/app/modules/trading.scss | 12 +++- 13 files changed, 136 insertions(+), 95 deletions(-) create mode 100644 packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/expiry-text.jsx diff --git a/packages/trader/src/Modules/Trading/Components/Form/Purchase/contract-info.jsx b/packages/trader/src/Modules/Trading/Components/Form/Purchase/contract-info.jsx index 69ae2287e229..b33394dea8b3 100644 --- a/packages/trader/src/Modules/Trading/Components/Form/Purchase/contract-info.jsx +++ b/packages/trader/src/Modules/Trading/Components/Form/Purchase/contract-info.jsx @@ -87,12 +87,7 @@ const ContractInfo = ({ if (['VANILLALONGCALL', 'VANILLALONGPUT'].includes(type)) { return ( ]} - values={{ - trade_type: type === 'VANILLALONGCALL' ? localize('above') : localize('below'), - title: type === 'VANILLALONGCALL' ? localize('Call') : localize('Put'), - }} + i18n_default_text='The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.' /> ); } @@ -163,16 +158,7 @@ const ContractInfo = ({ zIndex={9999} message={ ]} - values={{ - trade_type: - type === 'VANILLALONGCALL' - ? localize('above') - : localize('below'), - title: - type === 'VANILLALONGCALL' ? localize('Call') : localize('Put'), - }} + i18n_default_text='The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.' /> } /> diff --git a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/advanced-duration.jsx b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/advanced-duration.jsx index 1fea7a11d937..2d52cecf4291 100644 --- a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/advanced-duration.jsx +++ b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/advanced-duration.jsx @@ -7,6 +7,7 @@ import { toMoment, hasIntradayDurationUnit } from '@deriv/shared'; import RangeSlider from 'App/Components/Form/RangeSlider'; import TradingDatePicker from '../../DatePicker'; import TradingTimePicker from '../../TimePicker'; +import ExpiryText from './expiry-text.jsx'; import { observer, useStore } from '@deriv/stores'; import { useTraderStore } from 'Stores/useTraderStores'; @@ -14,13 +15,14 @@ const AdvancedDuration = observer( ({ advanced_duration_unit, advanced_expiry_type, - duration_units_list, - duration_t, changeDurationUnit, - getDurationFromUnit, + duration_t, + duration_units_list, expiry_date, + expiry_epoch, expiry_list, expiry_type, + getDurationFromUnit, number_input_props, onChange, onChangeUiStore, @@ -30,7 +32,7 @@ const AdvancedDuration = observer( }) => { const { ui } = useStore(); const { current_focus, setCurrentFocus } = ui; - const { contract_expiry_type, validation_errors } = useTraderStore(); + const { contract_expiry_type, is_vanilla, validation_errors } = useTraderStore(); let is_24_hours_contract = false; @@ -52,6 +54,8 @@ const AdvancedDuration = observer( onChangeUiStore({ name, value }); }; + const has_error = !!validation_errors?.duration?.length; + return ( <> {expiry_list.length > 1 && ( @@ -92,6 +96,9 @@ const AdvancedDuration = observer( is_24_hours_contract={is_24_hours_contract} /> )} + {advanced_duration_unit === 'd' && is_vanilla && ( + + )} {advanced_duration_unit !== 't' && advanced_duration_unit !== 'd' && ( // validation_errors={validation_errors.end_time} TODO: add validation_errors for end time } + {!is_24_hours_contract && is_vanilla && ( + + )}
)} diff --git a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/duration-mobile.jsx b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/duration-mobile.jsx index d6622b27a3ad..c53ae8a02a1c 100644 --- a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/duration-mobile.jsx +++ b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/duration-mobile.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Tabs, TickPicker, Numpad, RelativeDatepicker } from '@deriv/components'; +import { Tabs, TickPicker, Numpad, RelativeDatepicker, Text } from '@deriv/components'; import { isEmptyObject, addComma, getDurationMinMaxValues } from '@deriv/shared'; import { Localize, localize } from '@deriv/translations'; @@ -90,16 +90,19 @@ const Ticks = observer( const Numbers = observer( ({ - setDurationError, basis_option, - toggleModal, + contract_expiry = 'intraday', duration_unit_option, + duration_values, + expiry_epoch, has_amount_error, - contract_expiry = 'intraday', + is_vanilla, payout_value, - stake_value, selected_duration, + setDurationError, setSelectedDuration, + stake_value, + toggleModal, }) => { const { ui } = useStore(); const { addToast } = ui; @@ -113,6 +116,7 @@ const Numbers = observer( } = useTraderStore(); const { value: duration_unit } = duration_unit_option; const [min, max] = getDurationMinMaxValues(duration_min_max, contract_expiry, duration_unit); + const [has_error, setHasError] = React.useState(false); const validateDuration = value => { const localized_message = ( @@ -127,17 +131,21 @@ const Numbers = observer( if (parseInt(value) < min || parseInt(selected_duration) > max) { addToast({ key: 'duration_error', content: localized_message, type: 'error', timeout: 2000 }); setDurationError(true); + setHasError(true); return 'error'; } else if (parseInt(value) > max) { addToast({ key: 'duration_error', content: localized_message, type: 'error', timeout: 2000 }); + setHasError(true); return 'error'; } else if (value.toString().length < 1) { addToast({ key: 'duration_error', content: localized_message, type: 'error', timeout: 2000 }); setDurationError(true); + setHasError(true); return false; } setDurationError(false); + setHasError(false); return true; }; @@ -158,6 +166,16 @@ const Numbers = observer( toggleModal(); }; + const setExpiryDate = (epoch, duration) => { + let expiry_date = new Date((epoch - (trade_duration * 24 * 60 * 60)) * 1000); + + if (duration) { + expiry_date = new Date(expiry_date.getTime() + (duration) * 24 * 60 * 60 * 1000); + } + + return expiry_date.toUTCString().replace('GMT', 'GMT +0').substring(5).replace(/(\d{2}) (\w{3} \d{4})/, '$1 $2,'); + } + const onNumberChange = num => { setSelectedDuration(duration_unit, num); validateDuration(num); @@ -165,6 +183,14 @@ const Numbers = observer( return (
+ {is_vanilla && ( + + + + )} { const { duration_units_list, duration_min_max, duration_unit, basis: trade_basis } = useTraderStore(); const duration_values = { @@ -315,6 +343,9 @@ const Duration = observer( setSelectedDuration={setSelectedDuration} stake_value={stake_value} payout_value={payout_value} + expiry_epoch={expiry_epoch} + is_vanilla={is_vanilla} + duration_values={duration_values} /> { duration_min_max, expiry_type, expiry_date, + expiry_epoch, expiry_time, start_date, market_open_times, @@ -34,26 +35,27 @@ const DurationWrapper = observer(() => { } = useTraderStore(); const duration_props = { - advanced_expiry_type, advanced_duration_unit, - getDurationFromUnit, - is_advanced_duration, - onChangeUiStore, - simple_duration_unit, + advanced_expiry_type, contract_expiry_type, - duration, - duration_unit, + contract_type, + duration_min_max, duration_t, + duration_unit, duration_units_list, - duration_min_max, - expiry_type, + duration, expiry_date, + expiry_epoch, expiry_time, - start_date, + expiry_type, + getDurationFromUnit, + is_advanced_duration, market_open_times, onChange, onChangeMultiple, - contract_type, + onChangeUiStore, + simple_duration_unit, + start_date, }; const hasDurationUnit = (duration_type, is_advanced) => { diff --git a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/duration.jsx b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/duration.jsx index 3cac13bb55ac..82eec441f0a0 100644 --- a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/duration.jsx +++ b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/Duration/duration.jsx @@ -14,27 +14,28 @@ import SimpleDuration from './simple-duration.jsx'; const Duration = ({ advanced_duration_unit, advanced_expiry_type, - duration, + contract_type, + duration_t, duration_unit, duration_units_list, - duration_t, + duration, expiry_date, + expiry_epoch, expiry_time, expiry_type, getDurationFromUnit, hasDurationUnit, is_advanced_duration, is_minimized, - min_value, + market_open_times, max_value, + min_value, onChange, - onChangeUiStore, onChangeMultiple, - simple_duration_unit, + onChangeUiStore, server_time, + simple_duration_unit, start_date, - market_open_times, - contract_type, }) => { React.useEffect(() => { if (contract_type === 'vanilla') { @@ -163,12 +164,13 @@ const Duration = ({ <> {is_advanced_duration && ( { + const formatted_date = + expiry_epoch && !has_error + ? new Date(expiry_epoch * 1000) + .toUTCString() + .replace('GMT', 'GMT +0') + .substring(5) + .replace(/(\d{2}) (\w{3} \d{4})/, '$1 $2,') + : ''; + + return ( + + + + ); +}; + +export default ExpiryText; diff --git a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/amount.jsx b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/amount.jsx index 8432a61225e1..978d26394d8d 100644 --- a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/amount.jsx +++ b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/amount.jsx @@ -99,10 +99,6 @@ const Amount = observer(({ is_minimized, is_nativepicker }) => { return ( ); - } else if (contract_type === 'vanilla') { - return ( - - ); } return null; }; diff --git a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/strike.jsx b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/strike.jsx index e7a894956939..3190606654e9 100644 --- a/packages/trader/src/Modules/Trading/Components/Form/TradeParams/strike.jsx +++ b/packages/trader/src/Modules/Trading/Components/Form/TradeParams/strike.jsx @@ -75,13 +75,13 @@ const Strike = observer(() => { header={localize('Strike price')} header_tooltip={ ]} values={{ trade_type: vanilla_trade_type === 'VANILLALONGCALL' - ? localize('For Call') - : localize('For Put'), + ? localize('Call') + : localize('Put'), payout_status: vanilla_trade_type === 'VANILLALONGCALL' ? localize('above') : localize('below'), }} diff --git a/packages/trader/src/Modules/Trading/Containers/strike-param-modal.jsx b/packages/trader/src/Modules/Trading/Containers/strike-param-modal.jsx index a83225974255..435dc5a80bda 100644 --- a/packages/trader/src/Modules/Trading/Containers/strike-param-modal.jsx +++ b/packages/trader/src/Modules/Trading/Containers/strike-param-modal.jsx @@ -24,13 +24,13 @@ const StrikeParamModal = ({ is_open, toggleModal, strike, onChange, name, strike is_bubble_hover_enabled message={ ]} values={{ trade_type: vanilla_trade_type === 'VANILLALONGCALL' - ? localize('For Call') - : localize('For Put'), + ? localize('Call') + : localize('Put'), payout_status: vanilla_trade_type === 'VANILLALONGCALL' ? localize('above') : localize('below'), }} diff --git a/packages/trader/src/Modules/Trading/Containers/trade-params-mobile.jsx b/packages/trader/src/Modules/Trading/Containers/trade-params-mobile.jsx index 382cb95b7e0b..8a5873c816a9 100644 --- a/packages/trader/src/Modules/Trading/Containers/trade-params-mobile.jsx +++ b/packages/trader/src/Modules/Trading/Containers/trade-params-mobile.jsx @@ -1,6 +1,6 @@ import 'Sass/app/modules/trading-mobile.scss'; -import { Div100vhContainer, Modal, Money, Tabs, ThemedScrollbars, usePreventIOSZoom, Popover } from '@deriv/components'; +import { Div100vhContainer, Modal, Money, Tabs, ThemedScrollbars, usePreventIOSZoom } from '@deriv/components'; import AmountMobile from 'Modules/Trading/Components/Form/TradeParams/amount-mobile.jsx'; import Barrier from 'Modules/Trading/Components/Form/TradeParams/barrier.jsx'; @@ -10,7 +10,7 @@ import { observer, useStore } from '@deriv/stores'; import { useTraderStore } from 'Stores/useTraderStores'; import React from 'react'; import classNames from 'classnames'; -import { localize, Localize } from '@deriv/translations'; +import { localize } from '@deriv/translations'; const DEFAULT_DURATION = Object.freeze({ t: 5, @@ -34,7 +34,7 @@ const TradeParamsModal = observer(({ is_open, toggleModal }) => { const { client, ui } = useStore(); const { currency } = client; const { enableApp, disableApp } = ui; - const { amount, form_components, duration, duration_unit, duration_units_list, is_vanilla } = useTraderStore(); + const { amount, form_components, duration, duration_unit, duration_units_list } = useTraderStore(); // eslint-disable-next-line react-hooks/exhaustive-deps const getDefaultDuration = React.useCallback(makeGetDefaultDuration(duration, duration_unit), []); @@ -91,28 +91,6 @@ const TradeParamsModal = observer(({ is_open, toggleModal }) => { const isVisible = component_key => form_components.includes(component_key); - const setTooltipContent = () => { - if (is_vanilla && state.trade_param_tab_idx === 1) - return ( -
- - } - classNameWrapper='trade-params--modal-wrapper' - classNameBubble='trade-params--modal-wrapper__content--vanilla' - /> -
- ); - return null; - }; - return ( { toggleModal={toggleModal} height='auto' width='calc(100vw - 32px)' - renderTitle={setTooltipContent} > @@ -197,7 +174,7 @@ const TradeParamsMobile = observer( h_duration, d_duration, }) => { - const { basis_list, basis, is_vanilla } = useTraderStore(); + const { basis_list, basis, is_vanilla, expiry_epoch } = useTraderStore(); const getDurationText = () => { const duration = duration_units_list.find(d => d.value === duration_unit); return `${duration_value} ${ @@ -270,6 +247,8 @@ const TradeParamsMobile = observer( d_duration={d_duration} stake_value={stake_value} payout_value={payout_value} + is_vanilla={is_vanilla} + expiry_epoch={expiry_epoch} />
)} diff --git a/packages/trader/src/Stores/Modules/Trading/trade-store.js b/packages/trader/src/Stores/Modules/Trading/trade-store.js index 96d4fa4a9086..ca21fb40b129 100644 --- a/packages/trader/src/Stores/Modules/Trading/trade-store.js +++ b/packages/trader/src/Stores/Modules/Trading/trade-store.js @@ -78,10 +78,11 @@ export default class TradeStore extends BaseStore { // Duration duration = 5; + duration_min_max = {}; duration_unit = ''; duration_units_list = []; - duration_min_max = {}; expiry_date = ''; + expiry_epoch = ''; expiry_time = ''; expiry_type = 'duration'; @@ -223,6 +224,7 @@ export default class TradeStore extends BaseStore { duration: observable, expiration: observable, expiry_date: observable, + expiry_epoch: observable, expiry_time: observable, expiry_type: observable, form_components: observable, @@ -265,8 +267,8 @@ export default class TradeStore extends BaseStore { strike_price_choices: observable, symbol: observable, take_profit: observable, - ticks_history_stats: observable, tick_size_barrier: observable, + ticks_history_stats: observable, trade_types: observable, accountSwitcherListener: action.bound, barrier_pipsize: computed, @@ -1130,6 +1132,7 @@ export default class TradeStore extends BaseStore { // add/update expiration or date_expiry for crypto indices from proposal const date_expiry = response.proposal?.date_expiry; + this.expiry_epoch = date_expiry || this.expiry_epoch; if (!response.error && !!date_expiry && this.is_crypto_multiplier) { this.expiration = date_expiry; diff --git a/packages/trader/src/sass/app/modules/trading-mobile.scss b/packages/trader/src/sass/app/modules/trading-mobile.scss index a587d08e0e5c..ffa70084d1fc 100644 --- a/packages/trader/src/sass/app/modules/trading-mobile.scss +++ b/packages/trader/src/sass/app/modules/trading-mobile.scss @@ -256,11 +256,11 @@ &__amount { &-keypad { width: 100%; - padding: 1.6rem; + padding: 2.4rem 1.6rem 1.6rem; height: auto; - margin-top: 0.8rem; margin-bottom: 0.8rem; display: flex; + flex-direction: column; align-items: center; justify-content: center; @@ -511,7 +511,7 @@ left: 2.4rem !important; &__content { - max-width: 32.8rem; + max-width: calc(min(32.8rem, 85vw)); left: 2.5rem; &--vanilla { top: -0.9rem; diff --git a/packages/trader/src/sass/app/modules/trading.scss b/packages/trader/src/sass/app/modules/trading.scss index 94070d4292cd..7aaaaec72b4a 100644 --- a/packages/trader/src/sass/app/modules/trading.scss +++ b/packages/trader/src/sass/app/modules/trading.scss @@ -342,7 +342,7 @@ &-modal { @include mobile { &--vanilla { - max-width: 33rem; + max-width: calc(min(33rem, 85vw)); } } } @@ -781,6 +781,16 @@ } } +.expiry-text-container { + margin-top: 0.4rem; + + &--mobile { + margin: 0 0 0.8rem; + position: relative; + top: -0.8rem; + } +} + /** @define dc-collapsible */ @include mobile { .dc-collapsible { From 3f65a9ff17628c0e31e5dbb15be3dc7cb824deda Mon Sep 17 00:00:00 2001 From: henry-deriv <118344354+henry-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:09:47 +0800 Subject: [PATCH 13/18] henry/85290/fix: accumulators enabled for real trading in DTrader (#8108) * fix: accumulators enabled for real trading in DTrader * fix: empty-commit * chore: remove unnecessary comment * fix: empty * empty commit * empty commit --- .../src/Modules/Trading/Containers/trade.jsx | 8 ++---- .../src/Stores/Modules/Trading/trade-store.js | 26 +++---------------- 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/packages/trader/src/Modules/Trading/Containers/trade.jsx b/packages/trader/src/Modules/Trading/Containers/trade.jsx index ef6c38c08555..1f9d85ea068a 100644 --- a/packages/trader/src/Modules/Trading/Containers/trade.jsx +++ b/packages/trader/src/Modules/Trading/Containers/trade.jsx @@ -57,7 +57,7 @@ const Trade = observer(() => { should_show_multipliers_onboarding, is_dark_mode_on: is_dark_theme, } = ui; - const { is_eu, is_virtual } = client; + const { is_eu } = client; const { network_status } = common; const [digits, setDigits] = React.useState([]); @@ -224,11 +224,7 @@ const Trade = observer(() => { 0 && - network_status.class === 'online' && - // TODO: delete the below line for releasing ACCU trade for real - (is_virtual || !form_components.includes('accumulator')) + is_trade_enabled && form_components.length > 0 && network_status.class === 'online' } />
diff --git a/packages/trader/src/Stores/Modules/Trading/trade-store.js b/packages/trader/src/Stores/Modules/Trading/trade-store.js index ca21fb40b129..9988ef8bef74 100644 --- a/packages/trader/src/Stores/Modules/Trading/trade-store.js +++ b/packages/trader/src/Stores/Modules/Trading/trade-store.js @@ -552,23 +552,10 @@ export default class TradeStore extends BaseStore { await Symbol.onChangeSymbolAsync(this.symbol); runInAction(() => { const contract_categories = ContractType.getContractCategories(); - //TODO yauheni, maryia - delete this 'if' statement when accumulators are allowed for real account, should leave 'else' box - if ( - this.is_accumulator && - !this.root_store.client.is_virtual && - contract_categories.contract_types_list.Accumulators - ) { - delete contract_categories.contract_types_list.Accumulators; - this.processNewValuesAsync({ - ...contract_categories, - ...ContractType.getContractType(contract_categories.contract_types_list), - }); - } else { - this.processNewValuesAsync({ - ...contract_categories, - ...ContractType.getContractType(contract_categories.contract_types_list, this.contract_type), - }); - } + this.processNewValuesAsync({ + ...contract_categories, + ...ContractType.getContractType(contract_categories.contract_types_list, this.contract_type), + }); this.processNewValuesAsync(ContractType.getContractValues(this)); }); } @@ -1033,11 +1020,6 @@ export default class TradeStore extends BaseStore { } this.debouncedProposal(); } - - //TODO yauheni, maryia - delete this 'if' statement when accumulators are allowed for real account - if (!this.root_store.client.is_virtual) { - delete this.contract_types_list.Accumulators; - } } get is_synthetics_available() { From 0472364605671c891c25861af2a8c10c67044a37 Mon Sep 17 00:00:00 2001 From: Muhammad Hamza <120543468+hamza-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:12:04 +0800 Subject: [PATCH 14/18] fix: css broken for philipine japan norway (#8801) * fix: css broken for philipine japan norway * fix: sub task * fix: indonesia css compare * fix: financial labuan platform missing * fix: Australian client showing labuan platform * chore: Australian client showing labuan platform check --- .../src/components/cfds-listing/cfds-listing.scss | 14 ++++++++++++-- .../src/Containers/mt5-compare-table-content.tsx | 14 +++++++++++++- packages/cfd/src/Containers/props.types.ts | 2 ++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/packages/appstore/src/components/cfds-listing/cfds-listing.scss b/packages/appstore/src/components/cfds-listing/cfds-listing.scss index 67ba01a6d30a..f8e0fb77bd50 100644 --- a/packages/appstore/src/components/cfds-listing/cfds-listing.scss +++ b/packages/appstore/src/components/cfds-listing/cfds-listing.scss @@ -1324,11 +1324,18 @@ @for $column_count from 1 through 7 { .cfd-accounts-compare-modal__row-with-columns-count-#{$column_count} { - grid-template-columns: repeat($column_count, 1fr); + @if $column_count != 5 { + grid-template-columns: repeat($column_count, 1fr); + } @else if $column_count == 5 { + grid-template-columns: repeat($column_count - 1, 1fr); + @include mobile { + grid-template-columns: repeat($column_count, 1fr); + } + } } } &__table-header { - grid-template-columns: 0.9fr 1.39fr 2.74fr; + grid-template-columns: 1fr 2fr; &__pre-appstore { grid-template-columns: 11rem 36rem 46rem 13.5rem; } @@ -1527,6 +1534,9 @@ width: unset; height: unset; } + &__table-header { + width: calc(250vw / 7 * 3); + } } @for $column_count from 1 through 7 { .cfd-accounts-compare-modal__row-with-columns-count-#{$column_count} { diff --git a/packages/cfd/src/Containers/mt5-compare-table-content.tsx b/packages/cfd/src/Containers/mt5-compare-table-content.tsx index 40ab17dff174..95d2865eccf6 100644 --- a/packages/cfd/src/Containers/mt5-compare-table-content.tsx +++ b/packages/cfd/src/Containers/mt5-compare-table-content.tsx @@ -35,6 +35,7 @@ const Row = ({ content_flag, is_high_risk_for_mt5, CFDs_restricted_countries, + financial_restricted_countries, is_preappstore_restricted_cr_demo_account, }: TCompareAccountRowProps) => { const is_leverage_row = id === 'leverage'; @@ -53,10 +54,18 @@ const Row = ({ if (is_platform_row && is_pre_appstore_setting && CFDs_restricted_countries) { values.synthetic_bvi = { text: 'MT5' }; } - if (CFDs_restricted_countries) { + if (is_leverage_row) values.synthetic_bvi = { text: localize('Up to 1:1000') }; delete values.derivx; } + if (is_platform_row && financial_restricted_countries) { + values.financial_svg = { text: localize('MT5') }; + if ('financial_labuan' in values) values.financial_labuan = { text: localize('MT5') }; + } + // As we only show one account for Demo + if (content_flag === ContentFlag.CR_DEMO) { + delete values.financial_labuan; + } if (is_pre_appstore_setting && is_preappstore_restricted_cr_demo_account) { delete values.synthetic_bvi; @@ -183,6 +192,7 @@ const DMT5CompareModalContent = ({ is_eu_user, no_MF_account, CFDs_restricted_countries, + financial_restricted_countries, }: TDMT5CompareModalContentProps) => { const [has_submitted_personal_details, setHasSubmittedPersonalDetails] = React.useState(false); @@ -510,6 +520,7 @@ const DMT5CompareModalContent = ({ content_flag={content_flag} is_high_risk_for_mt5={is_high_risk_for_mt5} CFDs_restricted_countries={CFDs_restricted_countries} + financial_restricted_countries={financial_restricted_countries} is_preappstore_restricted_cr_demo_account={ is_preappstore_restricted_cr_demo_account } @@ -598,4 +609,5 @@ export default connect(({ modules, client, common, ui, traders_hub }: RootStore) is_eu_user: traders_hub.is_eu_user, no_MF_account: traders_hub.no_MF_account, CFDs_restricted_countries: traders_hub.CFDs_restricted_countries, + financial_restricted_countries: traders_hub.financial_restricted_countries, }))(DMT5CompareModalContent); diff --git a/packages/cfd/src/Containers/props.types.ts b/packages/cfd/src/Containers/props.types.ts index bddf68a8dc58..dee5ea971e20 100644 --- a/packages/cfd/src/Containers/props.types.ts +++ b/packages/cfd/src/Containers/props.types.ts @@ -327,6 +327,7 @@ export type TCompareAccountRowProps = TCompareAccountContentProps & { pre_appstore_class: string; is_high_risk_for_mt5: boolean; CFDs_restricted_countries: string[]; + financial_restricted_countries: string[]; is_preappstore_restricted_cr_demo_account: boolean; }; @@ -377,6 +378,7 @@ export type TDMT5CompareModalContentProps = { is_eu_user: boolean; no_MF_account: boolean; CFDs_restricted_countries: string[]; + financial_restricted_countries: string[]; }; export type TCFDDbviOnboardingProps = { From 197682c5d77086979042c49e2c7f27e7c5410365 Mon Sep 17 00:00:00 2001 From: Muhammad Hamza <120543468+hamza-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:14:22 +0800 Subject: [PATCH 15/18] chore: Renaming of Basket Indices to Baskets (#8995) --- .../jurisdiction-contents/jurisdiction-bvi-contents.ts | 2 +- .../jurisdiction-contents/jurisdiction-svg-contents.ts | 2 +- .../jurisdiction-contents/jurisdiction-vanuatu-contents.ts | 2 +- .../jurisdiction-modal/__test__/jurisdiction-card.spec.tsx | 2 +- .../__test__/jurisdiction-modal-content.spec.tsx | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-bvi-contents.ts b/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-bvi-contents.ts index 546b1f32420c..ec8472c84c21 100644 --- a/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-bvi-contents.ts +++ b/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-bvi-contents.ts @@ -8,7 +8,7 @@ export const getJurisdictionBviContents = (): TJurisdictionCardItems => ({ { key: 'assets', title: localize('Assets'), - description: localize('Synthetics, Basket indices and Derived FX'), + description: localize('Synthetics, Baskets and Derived FX'), title_indicators: { type: 'displayText', display_text: localize('40+'), diff --git a/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-svg-contents.ts b/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-svg-contents.ts index d854b6a1e0ed..c264d4e1ce26 100644 --- a/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-svg-contents.ts +++ b/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-svg-contents.ts @@ -8,7 +8,7 @@ export const getJurisdictionSvgContents = (): TJurisdictionCardItems => ({ { key: 'assets', title: localize('Assets'), - description: localize('Synthetics, Basket indices and Derived FX'), + description: localize('Synthetics, Baskets and Derived FX'), title_indicators: { type: 'displayText', display_text: localize('40+'), diff --git a/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-vanuatu-contents.ts b/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-vanuatu-contents.ts index 282d1dbc987c..72684d4eb236 100644 --- a/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-vanuatu-contents.ts +++ b/packages/cfd/src/Constants/jurisdiction-contents/jurisdiction-vanuatu-contents.ts @@ -8,7 +8,7 @@ export const getJurisdictionVanuatuContents = (): TJurisdictionCardItems => ({ { key: 'assets', title: localize('Assets'), - description: localize('Synthetics, Basket indices and Derived FX'), + description: localize('Synthetics, Baskets and Derived FX'), title_indicators: { type: 'displayText', display_text: localize('40+'), diff --git a/packages/cfd/src/Containers/jurisdiction-modal/__test__/jurisdiction-card.spec.tsx b/packages/cfd/src/Containers/jurisdiction-modal/__test__/jurisdiction-card.spec.tsx index 3f5a83307187..331130b1010d 100644 --- a/packages/cfd/src/Containers/jurisdiction-modal/__test__/jurisdiction-card.spec.tsx +++ b/packages/cfd/src/Containers/jurisdiction-modal/__test__/jurisdiction-card.spec.tsx @@ -185,7 +185,7 @@ describe('JurisdictionCard', () => { expect(screen.getByText('St. Vincent & Grenadines')).toBeInTheDocument(); expect(screen.getByText('Assets')).toBeInTheDocument(); expect(screen.getByText('40+')).toBeInTheDocument(); - expect(screen.getByText('Synthetics, Basket indices and Derived FX')).toBeInTheDocument(); + expect(screen.getByText('Synthetics, Baskets and Derived FX')).toBeInTheDocument(); expect(screen.getByText('Leverage')).toBeInTheDocument(); expect(screen.getByText('1:1000')).toBeInTheDocument(); expect(screen.getByText('Verifications')).toBeInTheDocument(); diff --git a/packages/cfd/src/Containers/jurisdiction-modal/__test__/jurisdiction-modal-content.spec.tsx b/packages/cfd/src/Containers/jurisdiction-modal/__test__/jurisdiction-modal-content.spec.tsx index a4c14c36278c..4caaf5f558bc 100644 --- a/packages/cfd/src/Containers/jurisdiction-modal/__test__/jurisdiction-modal-content.spec.tsx +++ b/packages/cfd/src/Containers/jurisdiction-modal/__test__/jurisdiction-modal-content.spec.tsx @@ -182,7 +182,7 @@ describe('JurisdictionModalContent', () => { it('should display content of 3 types of jurisdiction correctly for synthetics account', () => { render(); expect(screen.getAllByText('Assets')).toHaveLength(3); - expect(screen.getAllByText('Synthetics, Basket indices and Derived FX')).toHaveLength(3); + expect(screen.getAllByText('Synthetics, Baskets and Derived FX')).toHaveLength(3); expect(screen.getAllByText('40+')).toHaveLength(3); expect(screen.getAllByText('Leverage')).toHaveLength(3); expect(screen.getAllByText('1:1000')).toHaveLength(3); @@ -327,7 +327,7 @@ describe('JurisdictionModalContent', () => { expect(screen.getByText('Regulator/EDR')).toBeInTheDocument(); expect(screen.getByText('Deriv (SVG) LLC (company no. 273 LLC 2020)')).toBeInTheDocument(); expect(screen.getByText('40+')).toBeInTheDocument(); - expect(screen.getByText('Synthetics, Basket indices and Derived FX')).toBeInTheDocument(); + expect(screen.getByText('Synthetics, Baskets and Derived FX')).toBeInTheDocument(); }); it('should display cfd-jurisdiction-card--all__wrapper in class name', () => { From 6c0eb46f79b9fdfb8f321efe408670b531043c31 Mon Sep 17 00:00:00 2001 From: shontzu <108507236+shontzu-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:16:39 +0800 Subject: [PATCH 16/18] shontzu/WALL-823/inaccurate-jurisdictions-displayed-when-language-is-non-English (#8919) * fix: fixed defaulted switch case caused by translated arg * fix: add-back code that is accidentally removed * Update account-type-modal.tsx * refactor: switch statement expects a constant expression * Update account-type-modal.tsx * refactor: set swapfree as default in switchcase --- .../account-type-modal/account-type-modal.tsx | 14 ++++++++------ .../jurisdiction-modal/jurisdiction-modal.tsx | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/appstore/src/components/modals/account-type-modal/account-type-modal.tsx b/packages/appstore/src/components/modals/account-type-modal/account-type-modal.tsx index cf3a99bfc425..bd10965f0c96 100644 --- a/packages/appstore/src/components/modals/account-type-modal/account-type-modal.tsx +++ b/packages/appstore/src/components/modals/account-type-modal/account-type-modal.tsx @@ -109,19 +109,21 @@ const MT5AccountTypeModal = () => { const is_swapfree_available = useHasSwapFreeAccount(); const set_account_type = () => { - switch (account_type_card) { - case 'Derived': + const localizedAccountType = localize(account_type_card); + + switch (localizedAccountType) { + case localize('Derived'): setAccountType({ category: 'real', type: 'synthetic' }); break; - case 'Swap-Free': - setAccountType({ category: 'real', type: 'all' }); + case localize('Financial'): + setAccountType({ category: 'real', type: 'financial' }); break; - case 'Financial': default: - setAccountType({ category: 'real', type: 'financial' }); + setAccountType({ category: 'real', type: 'all' }); break; } }; + return (
}> diff --git a/packages/cfd/src/Containers/jurisdiction-modal/jurisdiction-modal.tsx b/packages/cfd/src/Containers/jurisdiction-modal/jurisdiction-modal.tsx index 317868656e5a..54405437302e 100644 --- a/packages/cfd/src/Containers/jurisdiction-modal/jurisdiction-modal.tsx +++ b/packages/cfd/src/Containers/jurisdiction-modal/jurisdiction-modal.tsx @@ -20,7 +20,7 @@ const JurisdictionModal = ({ const modal_title = show_eu_related_content ? localize('Choose a jurisdiction for your Deriv MT5 CFDs account') : localize('Choose a jurisdiction for your Deriv MT5 {{account_type}} account', { - account_type: getMT5Title(account_type.type), + account_type: localize(getMT5Title(account_type.type)), }); return ( From f3990bb84e091ac45cfad5211b065e8b529da616 Mon Sep 17 00:00:00 2001 From: shontzu <108507236+shontzu-deriv@users.noreply.github.com> Date: Thu, 22 Jun 2023 18:29:32 +0800 Subject: [PATCH 17/18] shontzu/93860/add-derivez-to-tradershub (#8352) * feat: added derivez demo/real/static to tradershub/onboarding * fix: call success modal instead of logging out * fix: roundup patch #1 based on reviews * fix: move consts to Helpers/constants file * fix: roundup patch #2 based on reviews * Revert "fix: roundup patch #2 based on reviews" This reverts commit f0cf7f5bdc53717b0e65a59834644ee71fe17ddb. * fix: round up patch#2 based on review * fix: clean up * fix: outdated icons after merging * fix: fixed derivx testcase error * fix: update derivx icon * fix: fixed conflicts * fix: roundup patch #3 based on code reviews * fix: round up patch#3 based on code reviews * chore: unit test for derivez static * fix: asdf * feat: token implementation for derivez (todo: pandats error) * fix: qrcode, download links, and download options * fix: round-up-patch 1 * fix: round-up-patch 2 - Description Text below the Deriv EZ header on Onboarding page is different from Design - Text format is incorrect in DerivEZ Account creation success modal - Multiple discrepancies in Trade modal (fixed in round-up-patch 1) * fix: round-up-patch 3 - use instead ov <> - remove unintentional {' '} whitespaces * fix: code smells * fix: asdf * feat: disable derivez real flow * fix: added top up for DerivEz * fix: qr code for derivez and derivx * fix: hide qr box if isMobile * fix: derivez fund topup text * fix: derivx fund topup text * fix: onboarding demo title * fix: Deriv Ez -> Deriv EZ * fix: Go -> GO * fix: Description Text below the Deriv EZ header on Onboarding page * fix: revert changes on tradershub * fix: updated to latest description (derivez onboarding/tradershub) * fix: hide derivez and dxtrade in cfd_restricted countries (japan, norway) * fix: corrected the time in server maintenance notice on derivez trade modal * fix: Server maintenance notice time * fix: DerivEZ icon redirect to https://deriv.com/derivez/ * fix: derivez topupVirtual * revert: undo changes in cfd-dashboard.tsx (deprecated file) * remove unnecesary parameter * fix: fixed derivX top up and trade button in onboarding page * fix: disable button while getting account creating * fix: disable GET button while account is being created * fix: disable GET button while account is being created * fix: setIsAccountBeingCreated(false) after account creation to reenable get buttons * fix: remove redundant use of await * fix: server maintenance time TEXT (not time) for derivez * fix: reenable button when error is triggered too * fix: blur derivez icon on onboarding 5th page * fix: remove function call that trigger token error * Update cfd-store.js * fix: pull upstream * fix: hide derivez from oboarding page * fix: show derivez on onboarding and remove "Demo" from appname * fix: empty commit * fix: total asset included derivez balance * fix: updated mockstore * fix: separate dxtrade and derivez token loader into two reactions * fix: rerunning all of our tests * chore: empty commit * fix: capitalization on module import * chore: empty commit --------- Co-authored-by: hirad-deriv Co-authored-by: Ali(Ako) Hosseini --- .../ic-branding-derivez-dashboard.svg | 1 + ....svg => ic-branding-dxtrade-dashboard.svg} | 0 .../assets/svgs/trading-platform/index.tsx | 4 +- .../components/cfds-listing/cfds-listing.scss | 12 +- .../src/components/cfds-listing/index.tsx | 84 +++++- .../containers/trading-app-card-actions.tsx | 4 +- .../containers/trading-app-card.tsx | 9 +- .../src/components/modals/modal-manager.tsx | 2 + .../__tests__/static-dashboard.spec.tsx | 56 ++++ .../static-cfd-account-manager.tsx | 16 +- .../onboarding-new/static-dashboard.tsx | 64 +++-- packages/appstore/src/types/common.types.ts | 5 +- packages/cfd/build/webpack.config.js | 2 + .../trading-platform/ic-appstore-derivez.svg | 1 + .../Assets/svgs/trading-platform/index.tsx | 2 + .../cfd/src/Components/cfd-account-card.tsx | 26 +- packages/cfd/src/Components/passwordbox.tsx | 47 ++++ packages/cfd/src/Components/props.types.ts | 19 +- packages/cfd/src/Components/specbox.tsx | 19 ++ .../__tests__/cfd-password-modal.spec.js | 2 +- packages/cfd/src/Containers/cfd-dashboard.tsx | 7 + .../cfd/src/Containers/cfd-password-modal.tsx | 49 +++- .../src/Containers/cfd-top-up-demo-modal.tsx | 18 +- .../cfd/src/Containers/derivx-trade-modal.tsx | 2 +- .../cfd/src/Containers/dmt5-trade-modal.tsx | 1 + .../cfd/src/Containers/mt5-trade-modal.tsx | 14 +- packages/cfd/src/Containers/props.types.ts | 4 + packages/cfd/src/Containers/trade-modal.tsx | 240 ++++++++++++++++++ packages/cfd/src/Helpers/config.tsx | 89 +++++++ packages/cfd/src/Helpers/constants.ts | 81 +++++- .../Stores/Modules/CFD/Helpers/cfd-config.ts | 41 ++- .../cfd/src/Stores/Modules/CFD/cfd-store.js | 135 ++++++++-- packages/cfd/src/sass/cfd-dashboard.scss | 12 +- .../icon/brand/ic-brand-deriv-ez-wordmark.svg | 1 + .../icon/brand/ic-brand-deriv-ez.svg | 1 + .../icon/brand/ic-brand-dxtrade-wordmark.svg | 1 + .../components/src/components/icon/icons.js | 8 +- .../ic-rebranding-deriv-ez-wordmark.svg | 1 + .../rebranding/ic-rebranding-deriv-ez.svg | 1 + .../ic-rebranding-derivez-dashboard.svg | 1 + ...svg => ic-rebranding-dxtrade-wordmark.svg} | 0 packages/components/stories/icon/icons.js | 8 +- packages/core/src/Stores/client-store.js | 41 ++- packages/core/src/Stores/traders-hub-store.js | 47 +++- packages/core/src/_common/base/socket_base.js | 9 +- packages/hooks/src/useCFDAllAccounts.ts | 5 +- .../src/utils/cfd/available-cfd-accounts.ts | 8 + packages/shared/src/utils/cfd/cfd.ts | 7 +- .../src/utils/config/platform-config.ts | 2 +- packages/stores/src/mockStore.ts | 5 +- packages/stores/types.ts | 5 +- 51 files changed, 1111 insertions(+), 108 deletions(-) create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-derivez-dashboard.svg rename packages/appstore/src/assets/svgs/trading-platform/branding/{ic-branding-derivx-dashboard.svg => ic-branding-dxtrade-dashboard.svg} (100%) create mode 100644 packages/appstore/src/components/onboarding-new/__tests__/static-dashboard.spec.tsx create mode 100644 packages/cfd/src/Assets/svgs/trading-platform/ic-appstore-derivez.svg create mode 100644 packages/cfd/src/Components/passwordbox.tsx create mode 100644 packages/cfd/src/Components/specbox.tsx create mode 100644 packages/cfd/src/Containers/trade-modal.tsx create mode 100644 packages/cfd/src/Helpers/config.tsx create mode 100644 packages/components/src/components/icon/brand/ic-brand-deriv-ez-wordmark.svg create mode 100644 packages/components/src/components/icon/brand/ic-brand-deriv-ez.svg create mode 100644 packages/components/src/components/icon/brand/ic-brand-dxtrade-wordmark.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-deriv-ez-wordmark.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-deriv-ez.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-derivez-dashboard.svg rename packages/components/src/components/icon/rebranding/{ic-rebranding-derivx-wordmark.svg => ic-rebranding-dxtrade-wordmark.svg} (100%) diff --git a/packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-derivez-dashboard.svg b/packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-derivez-dashboard.svg new file mode 100644 index 000000000000..6173fbf60c24 --- /dev/null +++ b/packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-derivez-dashboard.svg @@ -0,0 +1 @@ + diff --git a/packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-derivx-dashboard.svg b/packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-dxtrade-dashboard.svg similarity index 100% rename from packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-derivx-dashboard.svg rename to packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-dxtrade-dashboard.svg diff --git a/packages/appstore/src/assets/svgs/trading-platform/index.tsx b/packages/appstore/src/assets/svgs/trading-platform/index.tsx index 560dfa830f9d..6a4d77989224 100644 --- a/packages/appstore/src/assets/svgs/trading-platform/index.tsx +++ b/packages/appstore/src/assets/svgs/trading-platform/index.tsx @@ -5,11 +5,12 @@ import CFDs from 'Assets/svgs/trading-platform/branding/ic-branding-mt5-cfds.svg import DBot from 'Assets/svgs/trading-platform/branding/ic-branding-dbot-dashboard.svg'; import Demo from 'Assets/svgs/trading-platform/ic-brand-demo.svg'; import Derived from 'Assets/svgs/trading-platform/branding/ic-branding-mt5-derived-dashboard.svg'; +import DerivEz from 'Assets/svgs/trading-platform/branding/ic-branding-derivez-dashboard.svg'; import DerivGo from 'Assets/svgs/trading-platform/branding/ic-branding-derivgo-dashboard.svg'; import DerivGoBlack from 'Assets/svgs/trading-platform/ic-appstore-derivgo-black.svg'; import DerivLogo from 'Assets/svgs/trading-platform/branding/ic-branding-deriv-logo.svg'; import DerivTradingLogo from 'Assets/svgs/trading-platform/ic-appstore-deriv-trading-logo.svg'; -import DerivX from 'Assets/svgs/trading-platform/branding/ic-branding-derivx-dashboard.svg'; +import DerivX from 'Assets/svgs/trading-platform/branding/ic-branding-dxtrade-dashboard.svg'; import DropDown from 'Assets/svgs/trading-platform/drop-down.svg'; import DTrader from 'Assets/svgs/trading-platform/branding/ic-branding-dtrader-dashboard.svg'; import Financial from 'Assets/svgs/trading-platform/branding/ic-branding-mt5-financial-dashboard.svg'; @@ -26,6 +27,7 @@ export const PlatformIcons = { DBot, Demo, Derived, + DerivEz, DerivGo, DerivGoBlack, DerivLogo, diff --git a/packages/appstore/src/components/cfds-listing/cfds-listing.scss b/packages/appstore/src/components/cfds-listing/cfds-listing.scss index f8e0fb77bd50..b2335c6e8bdd 100644 --- a/packages/appstore/src/components/cfds-listing/cfds-listing.scss +++ b/packages/appstore/src/components/cfds-listing/cfds-listing.scss @@ -391,7 +391,6 @@ background: var(--brand-dark-grey); align-items: center; text-decoration: none; - padding: 0.2rem; border-radius: $BORDER_RADIUS; &-text { @@ -402,6 +401,9 @@ white-space: nowrap; } } + &-icon { + margin-left: 0.6rem; + } } &__specs { padding: 1.6rem; @@ -453,6 +455,12 @@ padding-top: 2rem; padding-bottom: 5.8rem; + &-description { + display: flex; + justify-content: center; + margin-top: 1.4rem; + } + &-app { display: flex; flex-direction: column; @@ -524,7 +532,7 @@ display: flex; flex-direction: column; width: 13.6rem; - height: 14rem; + height: auto; padding: 0.8rem; align-items: center; border: 1px solid var(--border-disabled); diff --git a/packages/appstore/src/components/cfds-listing/index.tsx b/packages/appstore/src/components/cfds-listing/index.tsx index ab42f5260e01..37265d011887 100644 --- a/packages/appstore/src/components/cfds-listing/index.tsx +++ b/packages/appstore/src/components/cfds-listing/index.tsx @@ -30,6 +30,7 @@ const CFDsListing = () => { } = useStores(); const { available_dxtrade_accounts, + available_derivez_accounts, combined_cfd_mt5_accounts, selected_region, has_any_real_account, @@ -206,16 +207,17 @@ const CFDsListing = () => { )} {!is_eu_user && !CFDs_restricted_countries && !financial_restricted_countries && ( -
-
-
- )} - {available_dxtrade_accounts?.length > 0 && ( -
- - {localize('Other CFD Platforms')} - -
+ +
+
+
+ +
+ + {localize('Other CFDs')} + +
+
)} {is_landing_company_loaded ? ( available_dxtrade_accounts?.map((account: AvailableAccount) => { @@ -279,6 +281,68 @@ const CFDsListing = () => { ) : ( )} + + {/* TODO: remove is_real flag to unblock the flow for derivez real account creation */} + {is_landing_company_loaded && !is_real + ? available_derivez_accounts?.map((account: AvailableAccount) => { + const existing_accounts = getExistingAccounts(account.platform, account.market_type); + const has_existing_accounts = existing_accounts.length > 0; + return has_existing_accounts ? ( + existing_accounts.map((existing_account: TDetailsOfEachMT5Loginid) => ( + ) => { + const button_name = e?.currentTarget?.name; + if (button_name === 'transfer-btn') { + toggleAccountTransferModal(); + setSelectedAccount(existing_account); + } else if (button_name === 'topup-btn') { + showTopUpModal(existing_account); + setAppstorePlatform(account.platform); + } else { + startTrade(account.platform, existing_account); + } + }} + /> + )) + ) : ( + { + if ((has_no_real_account || no_CR_account) && is_real) { + openDerivRealAccountNeededModal(); + } else { + setAccountType({ + category: selected_account_type, + type: account.market_type, + }); + setAppstorePlatform(account.platform); + getAccount(); + } + }} + key={`trading_app_card_${account.name}`} + /> + ); + }) + : !is_real && } ); }; diff --git a/packages/appstore/src/components/containers/trading-app-card-actions.tsx b/packages/appstore/src/components/containers/trading-app-card-actions.tsx index b82fc602f9b9..bb4899f1f5c7 100644 --- a/packages/appstore/src/components/containers/trading-app-card-actions.tsx +++ b/packages/appstore/src/components/containers/trading-app-card-actions.tsx @@ -14,6 +14,7 @@ export type Actions = { is_external?: boolean; new_tab?: boolean; is_buttons_disabled?: boolean; + is_account_being_created?: boolean; is_real?: boolean; }; @@ -23,13 +24,14 @@ const TradingAppCardActions = ({ onAction, is_external, new_tab, + is_account_being_created, is_buttons_disabled, is_real, }: Actions) => { switch (action_type) { case 'get': return ( - ); diff --git a/packages/appstore/src/components/containers/trading-app-card.tsx b/packages/appstore/src/components/containers/trading-app-card.tsx index 272e7027bbb7..46d2a31b29e3 100644 --- a/packages/appstore/src/components/containers/trading-app-card.tsx +++ b/packages/appstore/src/components/containers/trading-app-card.tsx @@ -29,9 +29,14 @@ const TradingAppCard = ({ selected_mt5_jurisdiction, openFailedVerificationModal, }: Actions & BrandConfig & AvailableAccount & TDetailsOfEachMT5Loginid) => { - const { common, traders_hub } = useStores(); + const { + common, + traders_hub, + modules: { cfd }, + } = useStores(); const { is_eu_user, is_demo_low_risk, content_flag, is_real } = traders_hub; const { current_language } = common; + const { is_account_being_created } = cfd; const low_risk_cr_non_eu = content_flag === ContentFlag.LOW_RISK_CR_NON_EU; @@ -54,6 +59,7 @@ const TradingAppCard = ({ window.open(getStaticUrl(`/dmt5`, {}, false, true)); else if (platform === CFD_PLATFORMS.MT5 && availability !== 'EU') window.open(getStaticUrl(`/dmt5`)); else if (platform === CFD_PLATFORMS.DXTRADE) window.open(getStaticUrl(`/derivx`)); + else if (platform === CFD_PLATFORMS.DERIVEZ) window.open(getStaticUrl(`/derivez`)); else if (icon === 'Options' && !is_eu_user) window.open(getStaticUrl(`/trade-types/options/`)); else; }; @@ -113,6 +119,7 @@ const TradingAppCard = ({ is_external={is_external} new_tab={new_tab} is_buttons_disabled={!!mt5_acc_auth_status} + is_account_being_created={!!is_account_being_created} is_real={is_real} />
diff --git a/packages/appstore/src/components/modals/modal-manager.tsx b/packages/appstore/src/components/modals/modal-manager.tsx index 92bdf0e00a6e..f630834a6127 100644 --- a/packages/appstore/src/components/modals/modal-manager.tsx +++ b/packages/appstore/src/components/modals/modal-manager.tsx @@ -49,6 +49,7 @@ const ModalManager = () => { getRealSwapfreeAccountsExistingData, current_account, dxtrade_companies, + derivez_companies, mt5_companies, topUpVirtual, } = modules.cfd; @@ -137,6 +138,7 @@ const ModalManager = () => { ', () => { + const is_blurry = { + icon: true, + item: false, + text: false, + get: false, + topup: false, + trade: false, + cfd_item: false, + cfd_text: false, + options_item: false, + options_text: false, + cfd_description: false, + options_description: false, + platformlauncher: false, + }; + + const is_onboarding_animated = { + text: false, + trade: false, + topup: false, + button: false, + get: false, + }; + + test('should render derivez in page if !CFDs_restricted_countries (non-eu countries)', () => { + const mock = mockStore({}); + + render( + + + + ); + expect(screen.queryByText('Deriv EZ')).toBeInTheDocument(); + }); + + test('should not render derivez if CFDs_restricted_countries: true (eu countries)', () => { + const mock = mockStore({ + traders_hub: { + CFDs_restricted_countries: true, + }, + }); + + render( + + + + ); + expect(screen.queryByText('Deriv Ez')).not.toBeInTheDocument(); + }); +}); diff --git a/packages/appstore/src/components/onboarding-new/static-cfd-account-manager.tsx b/packages/appstore/src/components/onboarding-new/static-cfd-account-manager.tsx index 4416ddf67fd9..773820c69506 100644 --- a/packages/appstore/src/components/onboarding-new/static-cfd-account-manager.tsx +++ b/packages/appstore/src/components/onboarding-new/static-cfd-account-manager.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { Button, Text } from '@deriv/components'; import { formatMoney, CFD_PLATFORMS } from '@deriv/shared'; +import { useStore } from '@deriv/stores'; import { Localize, localize } from '@deriv/translations'; import TradigPlatformIconProps from 'Assets/svgs/trading-platform'; import { TPlatform } from 'Types'; @@ -67,6 +68,8 @@ const StaticCFDAccountManager = ({ }: TStaticCFDAccountManager) => { const icon_size = 48; const platform_color = platform === 'options' ? 'prominent' : 'general'; + const { traders_hub } = useStore(); + const { is_demo } = traders_hub; return (
))} + {platform === CFD_PLATFORMS.DERIVEZ && ( + + )} + {platform === CFD_PLATFORMS.DXTRADE && (
- {has_account && platform !== CFD_PLATFORMS.DXTRADE ? ( + {has_account ? (
)} - {!is_eu_user && !CFDs_restricted_countries && !financial_restricted_countries && ( - + {!is_eu_user && !CFDs_restricted_countries && ( +
+ + +
)}
)} diff --git a/packages/appstore/src/types/common.types.ts b/packages/appstore/src/types/common.types.ts index 4b6eabb1d0ae..d0ed899ca233 100644 --- a/packages/appstore/src/types/common.types.ts +++ b/packages/appstore/src/types/common.types.ts @@ -12,7 +12,7 @@ export type RequiredAndNotNull = { export type TRegionAvailability = 'Non-EU' | 'EU' | 'All'; export type TAccountCategory = 'real' | 'demo'; -export type TPlatform = 'dxtrade' | 'mt5' | 'trader' | 'dbot' | 'smarttrader' | 'bbot' | 'go'; +export type TPlatform = 'dxtrade' | 'mt5' | 'trader' | 'dbot' | 'smarttrader' | 'bbot' | 'go' | 'derivez'; export type TBrandData = { name: string; icon?: string; @@ -119,7 +119,8 @@ export type TIconTypes = | 'Options' | 'SmartTrader' | 'SmartTraderBlue' - | 'CFDs'; + | 'CFDs' + | 'DerivEz'; export interface AvailableAccount { name: string; diff --git a/packages/cfd/build/webpack.config.js b/packages/cfd/build/webpack.config.js index 078493b40060..83625342aa01 100644 --- a/packages/cfd/build/webpack.config.js +++ b/packages/cfd/build/webpack.config.js @@ -18,9 +18,11 @@ module.exports = function (env) { CFDServerErrorDialog: 'Containers/cfd-server-error-dialog.tsx', CFDTopUpDemoModal: 'Containers/cfd-top-up-demo-modal.tsx', MT5TradeModal: 'Containers/mt5-trade-modal.tsx', + TradeModal: 'Containers/trade-modal.tsx', CFDPasswordManagerModal: 'Containers/cfd-password-manager-modal.tsx', CFDFinancialStpRealAccountSignup: 'Containers/cfd-financial-stp-real-account-signup.tsx', getDXTradeWebTerminalLink: 'Helpers/constants.ts', + getDerivEzWebTerminalLink: 'Helpers/constants.ts', }, mode: IS_RELEASE ? 'production' : 'development', module: { diff --git a/packages/cfd/src/Assets/svgs/trading-platform/ic-appstore-derivez.svg b/packages/cfd/src/Assets/svgs/trading-platform/ic-appstore-derivez.svg new file mode 100644 index 000000000000..aba5315db1a0 --- /dev/null +++ b/packages/cfd/src/Assets/svgs/trading-platform/ic-appstore-derivez.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/cfd/src/Assets/svgs/trading-platform/index.tsx b/packages/cfd/src/Assets/svgs/trading-platform/index.tsx index b589a9ebb1f9..3f6e42f96452 100644 --- a/packages/cfd/src/Assets/svgs/trading-platform/index.tsx +++ b/packages/cfd/src/Assets/svgs/trading-platform/index.tsx @@ -2,6 +2,7 @@ import React from 'react'; import Derived from './ic-appstore-derived.svg'; import Financial from './ic-appstore-financial.svg'; import CFDs from './ic-appstore-cfds.svg'; +import DerivEz from './ic-appstore-derivez.svg'; import SwapFree from './ic-appstore-swap-free.svg'; export interface IconProps { @@ -15,6 +16,7 @@ export const PlatformIcons = { Derived, Financial, CFDs, + DerivEz, SwapFree, }; diff --git a/packages/cfd/src/Components/cfd-account-card.tsx b/packages/cfd/src/Components/cfd-account-card.tsx index 2f405bd00c97..588d9761547b 100644 --- a/packages/cfd/src/Components/cfd-account-card.tsx +++ b/packages/cfd/src/Components/cfd-account-card.tsx @@ -7,7 +7,11 @@ import { localize, Localize } from '@deriv/translations'; import { connect } from '../Stores/connect'; import RootStore from '../Stores/index'; import { CFDAccountCopy } from './cfd-account-copy'; -import { getDXTradeWebTerminalLink, getPlatformDXTradeDownloadLink } from '../Helpers/constants'; +import { + getDXTradeWebTerminalLink, + getDerivEzWebTerminalLink, + getPlatformDXTradeDownloadLink, +} from '../Helpers/constants'; import { TAccountIconValues, TSpecBoxProps, @@ -174,6 +178,7 @@ const CFDAccountCardComponent = ({ commission_message, descriptor, dxtrade_tokens, + derivez_tokens, existing_accounts_data, has_banner, has_cfd_account_error, @@ -181,7 +186,6 @@ const CFDAccountCardComponent = ({ is_accounts_switcher_on, is_button_primary, is_disabled, - is_eu, is_logged_in, is_virtual, isEligibleForMoreDemoMt5Svg, @@ -715,6 +719,23 @@ const CFDAccountCardComponent = ({ )} + {existing_data && + is_logged_in && + !is_web_terminal_unsupported && + platform === CFD_PLATFORMS.DERIVEZ && ( + + + + )} {!existing_data && is_logged_in && ( ({ dxtrade_tokens: cfd.dxtrade_tokens, + derivez_tokens: cfd.derivez_tokens, isEligibleForMoreDemoMt5Svg: client.isEligibleForMoreDemoMt5Svg, isEligibleForMoreRealMt5: client.isEligibleForMoreRealMt5, setAccountType: cfd.setAccountType, diff --git a/packages/cfd/src/Components/passwordbox.tsx b/packages/cfd/src/Components/passwordbox.tsx new file mode 100644 index 000000000000..70e0e1023125 --- /dev/null +++ b/packages/cfd/src/Components/passwordbox.tsx @@ -0,0 +1,47 @@ +import React from 'react'; +import { getCFDPlatformLabel } from '@deriv/shared'; +import { Text, Button, Icon, Popover } from '@deriv/components'; +import { TPasswordBoxProps } from './props.types'; +import { localize } from '@deriv/translations'; + +const PasswordBox = ({ platform, onClick }: TPasswordBoxProps) => ( +
+
+ + *************** + +
+ +
+); + +export default PasswordBox; diff --git a/packages/cfd/src/Components/props.types.ts b/packages/cfd/src/Components/props.types.ts index 311bab8d4f29..5592f22479fd 100644 --- a/packages/cfd/src/Components/props.types.ts +++ b/packages/cfd/src/Components/props.types.ts @@ -2,11 +2,18 @@ import { DetailsOfEachMT5Loginid } from '@deriv/api-types'; export type TCFDPlatform = 'dxtrade' | 'mt5'; +export type TCFDsPlatformType = 'dxtrade' | 'derivez' | 'ctrader'; + export type TCFDAccountCopy = { text: string | undefined; className: string; }; +export type TDxtradeDesktopDownloadProps = { + dxtrade_tokens: TCFDDashboardContainer['dxtrade_tokens']; + is_demo: string; +}; + export type TAccountIconValues = { [key: string]: string }; export type TSpecBoxProps = { @@ -33,6 +40,10 @@ export type TCFDDashboardContainer = { demo: string; real: string; }; + derivez_tokens: { + demo: string; + real: string; + }; }; export type TCFDAccountCardActionProps = { @@ -64,8 +75,10 @@ export type TTradingPlatformAvailableAccount = { }; signup: string[]; }; - shortcode: 'bvi' | 'labuan' | 'svg' | 'vanuatu' | 'maltainvest'; + shortcode: 'bvi' | 'labuan' | 'maltainvest' | 'svg' | 'vanuatu'; sub_account_type: string; + account_type?: 'real' | 'demo'; + landing_company_short?: 'bvi' | 'labuan' | 'svg' | 'vanuatu'; }; export type TCardFlipStatus = { @@ -148,6 +161,10 @@ export type TCFDAccountCard = { demo: string; real: string; }; + derivez_tokens: { + demo: string; + real: string; + }; is_hovered?: boolean; isEligibleForMoreDemoMt5Svg: ( market_type: TTradingPlatformAvailableAccount['market_type'] | 'synthetic' diff --git a/packages/cfd/src/Components/specbox.tsx b/packages/cfd/src/Components/specbox.tsx new file mode 100644 index 000000000000..249d47cd0ce2 --- /dev/null +++ b/packages/cfd/src/Components/specbox.tsx @@ -0,0 +1,19 @@ +import React from 'react'; +import { Text } from '@deriv/components'; +import { CFDAccountCopy } from './cfd-account-copy'; + +export type TSpecBoxProps = { + value?: string; + is_bold?: boolean; +}; + +const SpecBox = ({ value, is_bold }: TSpecBoxProps) => ( +
+ + {value} + + +
+); + +export default SpecBox; diff --git a/packages/cfd/src/Containers/__tests__/cfd-password-modal.spec.js b/packages/cfd/src/Containers/__tests__/cfd-password-modal.spec.js index d4741dbd08fb..3d0dd9b41ca2 100644 --- a/packages/cfd/src/Containers/__tests__/cfd-password-modal.spec.js +++ b/packages/cfd/src/Containers/__tests__/cfd-password-modal.spec.js @@ -341,7 +341,7 @@ describe('', () => { ); - expect(await screen.findByText('IcRebrandingDerivx')).toBeInTheDocument(); + expect(await screen.findByText('IcRebrandingDxtradeDashboard')).toBeInTheDocument(); }); it('should display IcCfds icon in Success Dialog', async () => { diff --git a/packages/cfd/src/Containers/cfd-dashboard.tsx b/packages/cfd/src/Containers/cfd-dashboard.tsx index bc2e24421588..eacb9fe9dc93 100644 --- a/packages/cfd/src/Containers/cfd-dashboard.tsx +++ b/packages/cfd/src/Containers/cfd-dashboard.tsx @@ -137,6 +137,10 @@ export type TCFDDashboardProps = RouteComponentProps & { demo: string; real: string; }; + derivez_tokens: { + demo: string; + real: string; + }; has_real_account: boolean; NotificationMessages: ({ ...props }) => JSX.Element; platform: 'mt5' | 'dxtrade'; @@ -425,6 +429,7 @@ const CFDDashboard = (props: TCFDDashboardProps) => { createCFDAccount, current_list, dxtrade_tokens, + derivez_tokens, dxtrade_accounts_list_error, isAccountOfTypeDisabled, is_accounts_switcher_on, @@ -719,6 +724,7 @@ const CFDDashboard = (props: TCFDDashboardProps) => { active_index={active_index} is_dark_mode_on={is_dark_mode_on} dxtrade_tokens={dxtrade_tokens} + derivez_tokens={derivez_tokens} /> @@ -781,6 +787,7 @@ export default withRouter( createCFDAccount: modules.cfd.createCFDAccount, current_list: modules.cfd.current_list, dxtrade_tokens: modules.cfd.dxtrade_tokens, + derivez_tokens: modules.cfd.derivez_tokens, landing_companies: client.landing_companies, isAccountOfTypeDisabled: client.isAccountOfTypeDisabled, is_logged_in: client.is_logged_in, diff --git a/packages/cfd/src/Containers/cfd-password-modal.tsx b/packages/cfd/src/Containers/cfd-password-modal.tsx index 0e0429dc44c9..6fc19ab61316 100644 --- a/packages/cfd/src/Containers/cfd-password-modal.tsx +++ b/packages/cfd/src/Containers/cfd-password-modal.tsx @@ -222,7 +222,9 @@ const ReviewMessageForMT5 = ({ const IconType = React.memo(({ platform, type, show_eu_related_content }: TIconTypeProps) => { const traders_hub = window.location.pathname === routes.traders_hub; if (platform === CFD_PLATFORMS.DXTRADE) { - return ; + return ; + } else if (platform === CFD_PLATFORMS.DERIVEZ) { + return ; } else if (traders_hub) { switch (type) { case 'synthetic': @@ -556,7 +558,9 @@ const CFDPasswordForm = ({ i18n_default_text='Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.' values={{ platform: getCFDPlatformLabel(platform), - platform_name: platform === CFD_PLATFORMS.MT5 ? 'MT5' : 'Deriv X', + // account: !show_eu_related_content ? account_title : '', + platform_name: + platform === CFD_PLATFORMS.MT5 ? 'MT5' : getCFDPlatformLabel(platform), account: !show_eu_related_content ? getAccountTitle(platform, account_type, account_title) : '', @@ -569,7 +573,9 @@ const CFDPasswordForm = ({ i18n_default_text='Enter your {{platform}} password to add a {{platform_name}} {{account}} account.' values={{ platform: getCFDPlatformLabel(platform), - platform_name: platform === CFD_PLATFORMS.MT5 ? 'MT5' : 'Deriv X', + // account: account_title, + platform_name: + platform === CFD_PLATFORMS.MT5 ? 'MT5' : getCFDPlatformLabel(platform), account: getAccountTitle(platform, account_type, account_title), }} /> @@ -844,26 +850,44 @@ const CFDPasswordModal = ({ const mt5_platform_label = jurisdiction_selected_shortcode !== Jurisdiction.MALTA_INVEST ? 'MT5' : ''; if (category === 'real') { + let platformName = ''; + switch (platform) { + case CFD_PLATFORMS.MT5: + platformName = mt5_platform_label; + break; + case CFD_PLATFORMS.DERIVEZ: + platformName = 'Deriv Ez'; + break; + default: + platformName = 'Deriv X'; + break; + } + return ( , ]} + components={[, ]} /> {platform === CFD_PLATFORMS.DXTRADE ? ( ) : ( )} @@ -876,11 +900,16 @@ const CFDPasswordModal = ({ i18n_default_text='Congratulations, you have successfully created your {{category}} {{deriv_keyword}} <0>{{platform}} <1>{{type}} account.' values={{ deriv_keyword: platform === CFD_PLATFORMS.MT5 ? 'Deriv' : '', - type: platform === CFD_PLATFORMS.DXTRADE ? deriv_x_type_label : type_label, + type: + platform === CFD_PLATFORMS.DERIVEZ + ? 'CFDs' + : platform === CFD_PLATFORMS.DXTRADE + ? deriv_x_type_label + : type_label, platform: platform === CFD_PLATFORMS.MT5 ? 'MT5' : getCFDPlatformLabel(platform), category: category_label, }} - components={[, ]} + components={[, ]} /> ); }; diff --git a/packages/cfd/src/Containers/cfd-top-up-demo-modal.tsx b/packages/cfd/src/Containers/cfd-top-up-demo-modal.tsx index 1bd8a101bd64..136efc99b972 100644 --- a/packages/cfd/src/Containers/cfd-top-up-demo-modal.tsx +++ b/packages/cfd/src/Containers/cfd-top-up-demo-modal.tsx @@ -6,7 +6,7 @@ import { localize, Localize } from '@deriv/translations'; import { DetailsOfEachMT5Loginid } from '@deriv/api-types'; import RootStore from '../Stores/index'; import { connect } from '../Stores/connect'; -import { TDxCompanies, TMtCompanies } from '../Stores/Modules/CFD/Helpers/cfd-config'; +import { TDxCompanies, TMtCompanies, TDerivezCompanies } from '../Stores/Modules/CFD/Helpers/cfd-config'; import { getTopUpConfig } from '../Helpers/constants'; type TExtendedCurrentAccount = DetailsOfEachMT5Loginid & { @@ -17,6 +17,7 @@ type TExtendedCurrentAccount = DetailsOfEachMT5Loginid & { type TCFDTopUpDemoModalProps = { dxtrade_companies: TDxCompanies; + derivez_companies: TDerivezCompanies; mt5_companies: TMtCompanies; current_account?: TExtendedCurrentAccount; closeSuccessTopUpModal: () => void; @@ -31,6 +32,7 @@ type TCFDTopUpDemoModalProps = { const CFDTopUpDemoModal = ({ dxtrade_companies, + derivez_companies, mt5_companies, current_account, closeSuccessTopUpModal, @@ -44,7 +46,7 @@ const CFDTopUpDemoModal = ({ }: TCFDTopUpDemoModalProps) => { const getAccountTitle = React.useCallback(() => { let title = ''; - if ((!mt5_companies && !dxtrade_companies) || !current_account) return ''; + if ((!mt5_companies && !dxtrade_companies && !derivez_companies) || !current_account) return ''; switch (platform) { case CFD_PLATFORMS.MT5: @@ -53,6 +55,12 @@ const CFDTopUpDemoModal = ({ current_account.type as keyof TMtCompanies['demo' | 'real'] ].title; break; + case CFD_PLATFORMS.DERIVEZ: + title = + derivez_companies[current_account.category as keyof TDerivezCompanies][ + current_account.type as keyof TDerivezCompanies['demo' | 'real'] + ].title; + break; case CFD_PLATFORMS.DXTRADE: title = dxtrade_companies[current_account.category as keyof TDxCompanies][ @@ -64,7 +72,7 @@ const CFDTopUpDemoModal = ({ } return title; - }, [mt5_companies, dxtrade_companies, current_account]); + }, [mt5_companies, dxtrade_companies, current_account, derivez_companies]); const onCloseSuccess = () => { closeSuccessTopUpModal(); @@ -72,8 +80,7 @@ const CFDTopUpDemoModal = ({ const platform_title = getCFDPlatformLabel(platform); - if ((!mt5_companies && !dxtrade_companies) || !current_account) return null; - + if ((!mt5_companies && !dxtrade_companies && !derivez_companies) || !current_account) return null; const { minimum_amount, additional_amount } = getTopUpConfig(); return ( @@ -210,5 +217,6 @@ export default connect(({ ui, modules }: RootStore) => ({ current_account: modules.cfd.current_account, dxtrade_companies: modules.cfd.dxtrade_companies, mt5_companies: modules.cfd.mt5_companies, + derivez_companies: modules.cfd.derivez_companies, topUpVirtual: modules.cfd.topUpVirtual, }))(CFDTopUpDemoModal); diff --git a/packages/cfd/src/Containers/derivx-trade-modal.tsx b/packages/cfd/src/Containers/derivx-trade-modal.tsx index 58e8d32e98db..cc8ff412423f 100644 --- a/packages/cfd/src/Containers/derivx-trade-modal.tsx +++ b/packages/cfd/src/Containers/derivx-trade-modal.tsx @@ -117,7 +117,7 @@ const DxtradeDesktopDownload = ({ dxtrade_tokens, is_demo }: TDxtradeDesktopDown > } diff --git a/packages/cfd/src/Containers/dmt5-trade-modal.tsx b/packages/cfd/src/Containers/dmt5-trade-modal.tsx index 6dc38fa4985d..b4e95931b8ee 100644 --- a/packages/cfd/src/Containers/dmt5-trade-modal.tsx +++ b/packages/cfd/src/Containers/dmt5-trade-modal.tsx @@ -28,6 +28,7 @@ type TMT5TradeModalProps = { ) => void; toggleModal: () => void; dxtrade_tokens: TCFDDashboardContainer['dxtrade_tokens']; + derivez_tokens: TCFDDashboardContainer['derivez_tokens']; }; export type TSpecBoxProps = { diff --git a/packages/cfd/src/Containers/mt5-trade-modal.tsx b/packages/cfd/src/Containers/mt5-trade-modal.tsx index 55378ff4e374..35cea86a5a05 100644 --- a/packages/cfd/src/Containers/mt5-trade-modal.tsx +++ b/packages/cfd/src/Containers/mt5-trade-modal.tsx @@ -6,8 +6,8 @@ import { localize } from '@deriv/translations'; import { DetailsOfEachMT5Loginid } from '@deriv/api-types'; import { TTradingPlatformAvailableAccount } from '../../types'; import { TCFDDashboardContainer } from '../Components/props.types'; +import TradeModal from './trade-modal'; import DMT5TradeModal from './dmt5-trade-modal'; -import DerivXTradeModal from './derivx-trade-modal'; type TMT5TradeModalProps = { mt5_trade_account: Required< @@ -23,12 +23,12 @@ type TMT5TradeModalProps = { arg5: string | undefined ) => void; toggleModal: () => void; - platform: 'mt5' | 'dxtrade'; + platform: 'mt5' | 'dxtrade' | 'derivez'; dxtrade_tokens: TCFDDashboardContainer['dxtrade_tokens']; + derivez_tokens: TCFDDashboardContainer['derivez_tokens']; is_demo: string; show_eu_related_content: boolean; }; - const MT5TradeModal = ({ mt5_trade_account, is_eu_user, @@ -36,6 +36,7 @@ const MT5TradeModal = ({ onPasswordManager, toggleModal, dxtrade_tokens, + derivez_tokens, platform, is_demo, show_eu_related_content, @@ -49,17 +50,20 @@ const MT5TradeModal = ({ onPasswordManager={onPasswordManager} toggleModal={toggleModal} dxtrade_tokens={dxtrade_tokens} + derivez_tokens={derivez_tokens} /> ); } return ( - ); }; @@ -94,9 +98,9 @@ const MT5TradeModal = ({ ); }; - export default connect(({ modules: { cfd }, modules, common, traders_hub }: RootStore) => ({ dxtrade_tokens: cfd.dxtrade_tokens, + derivez_tokens: cfd.derivez_tokens, platform: common.platform, mt5_trade_account: modules.cfd.mt5_trade_account, show_eu_related_content: traders_hub.show_eu_related_content, diff --git a/packages/cfd/src/Containers/props.types.ts b/packages/cfd/src/Containers/props.types.ts index dee5ea971e20..01840e99884b 100644 --- a/packages/cfd/src/Containers/props.types.ts +++ b/packages/cfd/src/Containers/props.types.ts @@ -49,6 +49,10 @@ export type TCFDDashboardContainer = { demo: string; real: string; }; + derivez_tokens: { + demo: string; + real: string; + }; }; export type TMT5AccountOpeningRealFinancialStpModal = { diff --git a/packages/cfd/src/Containers/trade-modal.tsx b/packages/cfd/src/Containers/trade-modal.tsx new file mode 100644 index 000000000000..cb4d419d3b3c --- /dev/null +++ b/packages/cfd/src/Containers/trade-modal.tsx @@ -0,0 +1,240 @@ +import React from 'react'; +import { Text, Icon, Money } from '@deriv/components'; +import { TTradingPlatformAccounts, TCFDDashboardContainer, TCFDsPlatformType } from 'Components/props.types'; +import { DetailsOfEachMT5Loginid } from '@deriv/api-types'; +import { CFD_PLATFORMS, getCFDAccountKey, isMobile } from '@deriv/shared'; +import { localize, Localize } from '@deriv/translations'; +import { getPlatformQRCode, PlatformsDesktopDownload } from '../Helpers/config'; +import { getTitle, platformsText, mobileDownloadLink } from '../Helpers/constants'; +import SpecBox from 'Components/specbox'; +import PasswordBox from 'Components/passwordbox'; + +type TTradeModalProps = { + mt5_trade_account: Required; + is_eu_user: boolean; + onPasswordManager: ( + arg1: string | undefined, + arg2: string, + arg3: string, + arg4: string, + arg5: string | undefined + ) => void; + toggleModal: () => void; + dxtrade_tokens: TCFDDashboardContainer['dxtrade_tokens']; + derivez_tokens: TCFDDashboardContainer['derivez_tokens']; + is_demo: string; + platform: TCFDsPlatformType; +}; + +const PlatformIconsAndDescriptions = (platform: TCFDsPlatformType, is_demo: string) => { + return ( + + +
+ + + +
+
+ ); +}; + +const TradeModal = ({ + mt5_trade_account, + is_eu_user, + onPasswordManager, + toggleModal, + dxtrade_tokens, + derivez_tokens, + is_demo, + platform, +}: TTradeModalProps) => { + const CTraderAndDerivEZDescription = () => { + const platform_name = platform === 'derivez' ? 'Deriv EZ' : 'cTrader'; + return ( +
+ + + +
+ ); + }; + const downloadCenterDescription = () => { + switch (platform) { + case 'dxtrade': + return ( + + {localize('Download Deriv X on your phone to trade with the Deriv X account')} + + ); + case 'derivez': + return ( + + {localize('Download Deriv GO on your phone to trade with the Deriv EZ account')} + + ); + case 'ctrader': + return ( + + {localize('Download Deriv cTrader on your phone to trade with the Deriv cTrader account')} + + ); + default: + return ''; + } + }; + + const downloadCenterAppOption = (platform_type: TCFDsPlatformType) => { + let appTitle = ''; + if (platform_type === 'dxtrade') { + appTitle = 'Run Deriv X on your browser'; + } else if (platform_type === 'derivez') { + appTitle = 'Run Deriv EZ on your browser'; + } else if (platform_type === 'ctrader') { + appTitle = 'Run Deriv cTrader on your browser'; + } else { + return null; + } + + return ( + +
+ + {localize(appTitle)} + + +
+
+ ); + }; + + return ( +
+
+ {PlatformIconsAndDescriptions(platform, is_demo)} + {mt5_trade_account?.display_balance && ( + + + + )} +
+
+ {platform !== 'dxtrade' && } + {platform === 'dxtrade' && ( + +
+ {localize('Username')} + +
+
+ {localize('Password')} +
+ { + const account_type = getCFDAccountKey({ + market_type: mt5_trade_account.market_type, + sub_account_type: mt5_trade_account.sub_account_type, + platform: CFD_PLATFORMS.DMT5, + shortcode: mt5_trade_account.landing_company_short, + }); + onPasswordManager( + mt5_trade_account?.login, + getTitle(mt5_trade_account.market_type, is_eu_user), + mt5_trade_account.account_type, + account_type, + (mt5_trade_account as DetailsOfEachMT5Loginid)?.server + ); + toggleModal(); + }} + /> +
+
+
+ )} + +
+ +
+ + {platform === CFD_PLATFORMS.DXTRADE && ( + + )} + {platform === CFD_PLATFORMS.MT5 && ( + + )} + {platform === CFD_PLATFORMS.DERIVEZ && ( + + )} + +
+
+
+
{downloadCenterAppOption(platform)}
+
{downloadCenterDescription()}
+
+
+
+ + + +
+ + + + + + +
+ {!isMobile() && ( +
+ {getPlatformQRCode(platform)} +
+ )} +
+
+ ); +}; + +export default TradeModal; diff --git a/packages/cfd/src/Helpers/config.tsx b/packages/cfd/src/Helpers/config.tsx new file mode 100644 index 000000000000..f955b624f06f --- /dev/null +++ b/packages/cfd/src/Helpers/config.tsx @@ -0,0 +1,89 @@ +import React from 'react'; +import { QRCode } from 'react-qrcode'; +import { TCFDsPlatformType } from 'Components/props.types'; +import { + getDXTradeWebTerminalLink, + getDerivEzWebTerminalLink, + platformsText, + platformsIcons, + mobileDownloadLink, +} from './constants'; +import { Text, Icon } from '@deriv/components'; +import { Localize } from '@deriv/translations'; +import { isMobile, OSDetect, isDesktopOs } from '@deriv/shared'; +import { TCFDDashboardContainer } from 'Containers/props.types'; + +export const getPlatformQRCode = (acc_type: TCFDsPlatformType) => { + const qr_code_width = isMobile() ? '100%' : '80%'; + const os = OSDetect(); + const checkForDesktop = isDesktopOs() ? (os === 'mac' ? 'ios' : 'android') : os; + + return ( + + + + + + + ); +}; + +type TPlatformsDesktopDownload = { + platform: TCFDsPlatformType; + dxtrade_tokens: TCFDDashboardContainer['dxtrade_tokens']; + derivez_tokens: TCFDDashboardContainer['derivez_tokens']; + is_demo: string; +}; + +export const PlatformsDesktopDownload = ({ + platform, + dxtrade_tokens, + derivez_tokens, + is_demo, +}: TPlatformsDesktopDownload) => { + const PlatformsDesktopDownloadLinks = () => { + switch (platform) { + case 'derivez': + return getDerivEzWebTerminalLink( + is_demo ? 'demo' : 'real', + derivez_tokens && derivez_tokens[is_demo ? 'demo' : 'real'] + ); + case 'dxtrade': + return getDXTradeWebTerminalLink( + is_demo ? 'demo' : 'real', + dxtrade_tokens && dxtrade_tokens[is_demo ? 'demo' : 'real'] + ); + default: + return ''; + } + }; + + return ( + + + +
+ + + +
+
+
+ ); +}; diff --git a/packages/cfd/src/Helpers/constants.ts b/packages/cfd/src/Helpers/constants.ts index 691457505789..fdad551a2643 100644 --- a/packages/cfd/src/Helpers/constants.ts +++ b/packages/cfd/src/Helpers/constants.ts @@ -1,8 +1,53 @@ import { OSDetect } from '@deriv/shared'; +import { localize } from '@deriv/translations'; +import { TCFDsPlatformType } from 'Components/props.types'; + +const platformsText = (platform: TCFDsPlatformType) => { + switch (platform) { + case 'derivez': + return 'EZ'; + case 'dxtrade': + return 'X'; + default: + return ''; + } +}; + +const platformsIcons = (platform: TCFDsPlatformType) => { + switch (platform) { + case 'derivez': + return 'DerivEz'; + case 'dxtrade': + return 'Dxtrade'; + default: + return ''; + } +}; + +const mobileDownloadLink = (platform: TCFDsPlatformType, type: 'ios' | 'android' | 'huawei') => { + switch (platform) { + case 'dxtrade': + return getPlatformDXTradeDownloadLink(type); + case 'derivez': + return getPlatformDerivEZDownloadLink(type); + default: + return ''; + } +}; + +const getTitle = (market_type: string, is_eu_user: boolean) => { + if (is_eu_user) localize('MT5 CFDs'); + return market_type; +}; const REAL_DXTRADE_URL = 'https://dx.deriv.com'; const DEMO_DXTRADE_URL = 'https://dx-demo.deriv.com'; +const DERIVEZ_URL = 'https://dqwsqxuu0r6t9.cloudfront.net/'; +const DERIVEZ_IOS_APP_URL = 'https://apps.apple.com/my/app/deriv-go/id1550561298'; +const DERIVEZ_ANDROID_APP_URL = 'https://play.google.com/store/apps/details?id=com.deriv.app&pli=1'; +const DERIVEZ_HUAWEI_APP_URL = 'https://appgallery.huawei.com/#/app/C103801913'; + const DXTRADE_IOS_APP_URL = 'https://apps.apple.com/us/app/deriv-x/id1563337503'; const DXTRADE_ANDROID_APP_URL = 'https://play.google.com/store/apps/details?id=com.deriv.dx'; const DXTRADE_HUAWEI_APP_URL = 'https://appgallery.huawei.com/app/C104633219'; @@ -16,14 +61,29 @@ const getTopUpConfig = () => { }; }; -const getPlatformDXTradeDownloadLink = (platform: 'ios' | 'android' | 'huawei') => { +const getPlatformDXTradeDownloadLink = (platform?: 'ios' | 'android' | 'huawei') => { switch (platform) { case 'ios': return DXTRADE_IOS_APP_URL; case 'huawei': return DXTRADE_HUAWEI_APP_URL; - default: + case 'android': return DXTRADE_ANDROID_APP_URL; + default: + return ''; + } +}; + +const getPlatformDerivEZDownloadLink = (platform: 'ios' | 'android' | 'huawei') => { + switch (platform) { + case 'ios': + return DERIVEZ_IOS_APP_URL; + case 'android': + return DERIVEZ_ANDROID_APP_URL; + case 'huawei': + return DERIVEZ_HUAWEI_APP_URL; + default: + return ''; } }; @@ -56,6 +116,16 @@ const getDXTradeWebTerminalLink = (category: string, token?: string) => { return url; }; +const getDerivEzWebTerminalLink = (category: string, token?: string) => { + let url = DERIVEZ_URL; + + if (token) { + url += `?token=${token}`; + } + + return url; +}; + const getMT5WebTerminalLink = ({ category, loginid, @@ -75,10 +145,17 @@ const getMT5WebTerminalLink = ({ export { REAL_DXTRADE_URL, DEMO_DXTRADE_URL, + DERIVEZ_URL, getBrokerName, + platformsText, + platformsIcons, + getTitle, + mobileDownloadLink, getPlatformDXTradeDownloadLink, + getPlatformDerivEZDownloadLink, getPlatformMt5DownloadLink, getDXTradeWebTerminalLink, + getDerivEzWebTerminalLink, getMT5WebTerminalLink, getTopUpConfig, }; diff --git a/packages/cfd/src/Stores/Modules/CFD/Helpers/cfd-config.ts b/packages/cfd/src/Stores/Modules/CFD/Helpers/cfd-config.ts index 0ba47eb40d3f..337c33a84e9e 100644 --- a/packages/cfd/src/Stores/Modules/CFD/Helpers/cfd-config.ts +++ b/packages/cfd/src/Stores/Modules/CFD/Helpers/cfd-config.ts @@ -3,6 +3,7 @@ import { Jurisdiction } from '@deriv/shared'; export type TDxCompanies = ReturnType; export type TMtCompanies = ReturnType; +export type TDerivezCompanies = ReturnType; export const getDxCompanies = () => { const all_config = { @@ -75,7 +76,7 @@ export const getMtCompanies = (is_eu: boolean) => { const all_config = { account_type: '', leverage: 100, - short_title: localize('Swap-Free'), + short_title: localize('Demo'), }; const synthetic_config = { account_type: '', @@ -107,6 +108,12 @@ export const getMtCompanies = (is_eu: boolean) => { title: localize('Demo Swap-Free SVG'), short_title: all_config.short_title, }, + derivez: { + mt5_account_type: all_config.account_type, + leverage: all_config.leverage, + title: localize('Demo'), + short_title: all_config.short_title, + }, synthetic: { mt5_account_type: synthetic_config.account_type, leverage: synthetic_config.leverage, @@ -158,6 +165,12 @@ export const getMtCompanies = (is_eu: boolean) => { title: localize('Real'), short_title: all_config.short_title, }, + derivez: { + mt5_account_type: all_config.account_type, + leverage: all_config.leverage, + title: localize('Real'), + short_title: all_config.short_title, + }, synthetic: { mt5_account_type: synthetic_config.account_type, leverage: synthetic_config.leverage, @@ -216,6 +229,32 @@ export const getMtCompanies = (is_eu: boolean) => { }; }; +export const getDerivezCompanies = () => { + const all_config = { + account_type: '', + leverage: 1000, + short_title: localize('CFDs'), + }; + return { + demo: { + all: { + derivez_account_type: all_config.account_type, + leverage: all_config.leverage, + title: localize('Demo'), + short_title: all_config.short_title, + }, + }, + real: { + all: { + derivez_account_type: all_config.account_type, + leverage: all_config.leverage, + title: localize('Real'), + short_title: all_config.short_title, + }, + }, + }; +}; + export const getFormattedJurisdictionCode = (jurisdiction_code: string) => { let formatted_label = ''; diff --git a/packages/cfd/src/Stores/Modules/CFD/cfd-store.js b/packages/cfd/src/Stores/Modules/CFD/cfd-store.js index ae9771796202..bd38722f3b7d 100644 --- a/packages/cfd/src/Stores/Modules/CFD/cfd-store.js +++ b/packages/cfd/src/Stores/Modules/CFD/cfd-store.js @@ -1,7 +1,7 @@ import { action, computed, observable, reaction, runInAction, makeObservable, override } from 'mobx'; import { getAccountListKey, getAccountTypeFields, CFD_PLATFORMS, WS, Jurisdiction } from '@deriv/shared'; import BaseStore from 'Stores/base-store'; -import { getDxCompanies, getMtCompanies } from './Helpers/cfd-config'; +import { getDxCompanies, getMtCompanies, getDerivezCompanies } from './Helpers/cfd-config'; export default class CFDStore extends BaseStore { is_compare_accounts_visible = false; @@ -21,6 +21,7 @@ export default class CFDStore extends BaseStore { has_cfd_error = false; error_message = ''; + is_account_being_created = false; is_cfd_success_dialog_enabled = false; is_mt5_financial_stp_modal_open = false; is_cfd_password_modal_enabled = false; @@ -34,6 +35,10 @@ export default class CFDStore extends BaseStore { demo: '', real: '', }; + derivez_tokens = { + demo: '', + real: '', + }; real_synthetic_accounts_existing_data = []; real_financial_accounts_existing_data = []; @@ -54,6 +59,7 @@ export default class CFDStore extends BaseStore { map_type: observable, has_cfd_error: observable, error_message: observable, + is_account_being_created: observable, is_cfd_success_dialog_enabled: observable, is_mt5_financial_stp_modal_open: observable, is_cfd_password_modal_enabled: observable, @@ -61,6 +67,7 @@ export default class CFDStore extends BaseStore { is_cfd_verification_modal_visible: observable, error_type: observable, dxtrade_tokens: observable, + derivez_tokens: observable, account_title: computed, current_list: computed, has_created_account_for_selected_jurisdiction: computed, @@ -83,6 +90,7 @@ export default class CFDStore extends BaseStore { setAccountType: action.bound, setCurrentAccount: action.bound, setMT5TradeAccount: action.bound, + setIsAccountBeingCreated: action.bound, setError: action.bound, setCFDNewAccount: action.bound, setCFDSuccessDialog: action.bound, @@ -104,7 +112,9 @@ export default class CFDStore extends BaseStore { setJurisdictionSelectedShortcode: action.bound, toggleCFDVerificationModal: action.bound, setDxtradeToken: action.bound, + setDerivezToken: action.bound, loadDxtradeTokens: action.bound, + loadDerivezTokens: action.bound, }); reaction( @@ -115,6 +125,16 @@ export default class CFDStore extends BaseStore { } } ); + + // todo: uncomment this once derivez tokens are ready + // reaction( + // () => [this.root_store.client.derivez_accounts_list], + // () => { + // if (this.root_store.client.derivez_accounts_list.length > 0) { + // this.loadDerivezTokens(); + // } + // } + // ); } get account_title() { @@ -154,6 +174,13 @@ export default class CFDStore extends BaseStore { }; }); + this.root_store.client.derivez_accounts_list.forEach(account => { + // e.g. derivez.real.financial_stp + list[getAccountListKey(account, CFD_PLATFORMS.DERIVEZ)] = { + ...account, + }; + }); + return list; } @@ -166,6 +193,12 @@ export default class CFDStore extends BaseStore { get dxtrade_companies() { return getDxCompanies(); } + + // eslint-disable-next-line class-methods-use-this + get derivez_companies() { + return getDerivezCompanies(); + } + get has_created_account_for_selected_jurisdiction() { switch (this.account_type.type) { case 'synthetic': @@ -205,6 +238,10 @@ export default class CFDStore extends BaseStore { } } + setIsAccountBeingCreated(is_account_being_created) { + this.is_account_being_created = is_account_being_created; + } + realAccountSignupEndListener() { const post_signup = JSON.parse(sessionStorage.getItem('post_real_account_signup')); if (post_signup && post_signup.category && post_signup.type) { @@ -225,8 +262,9 @@ export default class CFDStore extends BaseStore { this.is_cfd_password_modal_enabled = false; } - createCFDAccount({ category, platform, type, set_password }) { + async createCFDAccount({ category, platform, type, set_password }) { this.clearCFDError(); + this.setIsAccountBeingCreated(true); this.setAccountType({ category, type, @@ -246,6 +284,26 @@ export default class CFDStore extends BaseStore { } else this.setJurisdictionSelectedShortcode(Jurisdiction.SVG); this.demoCFDSignup(); } + } else if (platform === CFD_PLATFORMS.DERIVEZ) { + this.setJurisdictionSelectedShortcode('svg'); + const values = { + platform, + account_type: this.account_type.category, + market_type: this.account_type.type, + company: this.jurisdiction_selected_shortcode, + }; + const response = await this.openCFDAccount(values); + if (!response.error) { + this.enableCFDPasswordModal(); + this.setCFDSuccessDialog(true); + const trading_platform_accounts_list_response = await WS.tradingPlatformAccountsList(values.platform); + this.root_store.client.responseTradingPlatformAccountsList(trading_platform_accounts_list_response); + this.setCFDNewAccount(response.trading_platform_new_account); + this.setIsAccountBeingCreated(false); + } else { + this.setError(true, response.error); + this.setIsAccountBeingCreated(false); + } } } @@ -301,10 +359,14 @@ export default class CFDStore extends BaseStore { openCFDAccount(values) { return WS.tradingPlatformNewAccount({ - password: values.password, + password: CFD_PLATFORMS.DXTRADE ? values.password : '', platform: values.platform, account_type: this.account_type.category, - market_type: this.account_type.type === 'dxtrade' ? 'all' : this.account_type.type, + market_type: + this.account_type.type === 'dxtrade' || this.account_type.type === 'derivez' + ? 'all' + : this.account_type.type, + company: CFD_PLATFORMS.DERIVEZ ? this.jurisdiction_selected_shortcode : '', }); } @@ -475,31 +537,32 @@ export default class CFDStore extends BaseStore { } async submitCFDPassword(values, actions) { - if (this.root_store.client.is_dxtrade_password_not_set) { + if (CFD_PLATFORMS.DXTRADE && this.root_store.client.is_dxtrade_password_not_set) { const has_error = await this.createCFDPassword(values, actions); if (has_error) return; } const response = await this.openCFDAccount(values); - if (!response.error) { - actions.setStatus({ success: true }); - actions.setSubmitting(false); - this.setError(false); - this.setCFDSuccessDialog(true); - await this.getAccountStatus(CFD_PLATFORMS.DXTRADE); - - const trading_platform_accounts_list_response = await WS.tradingPlatformAccountsList(values.platform); - this.root_store.client.responseTradingPlatformAccountsList(trading_platform_accounts_list_response); - WS.transferBetweenAccounts(); // get the list of updated accounts for transfer in cashier - this.setCFDNewAccount(response.trading_platform_new_account); - } else { + if (response.error) { await this.getAccountStatus(CFD_PLATFORMS.DXTRADE); this.setError(true, response.error); actions.resetForm({}); actions.setSubmitting(false); actions.setStatus({ success: false }); } + + actions.setStatus({ success: true }); + actions.setSubmitting(false); + this.setError(false); + this.setCFDSuccessDialog(true); + await this.getAccountStatus(CFD_PLATFORMS.DXTRADE); + + const trading_platform_accounts_list_response = await WS.tradingPlatformAccountsList(values.platform); + this.root_store.client.responseTradingPlatformAccountsList(trading_platform_accounts_list_response); + + WS.transferBetweenAccounts(); // get the list of updated accounts for transfer in cashier + this.setCFDNewAccount(response.trading_platform_new_account); } toggleCompareAccountsModal() { @@ -549,6 +612,14 @@ export default class CFDStore extends BaseStore { }); break; } + case CFD_PLATFORMS.DERIVEZ: { + response = await WS.authorized.send({ + trading_platform_deposit: 1, + platform: CFD_PLATFORMS.DERIVEZ, + to_account: this.current_account.login, + }); + break; + } default: { response.error = 'Invalid platform'; break; @@ -575,6 +646,15 @@ export default class CFDStore extends BaseStore { )?.balance; break; } + case CFD_PLATFORMS.DERIVEZ: { + await WS.authorized + .tradingPlatformAccountsList(CFD_PLATFORMS.DERIVEZ) + .then(this.root_store.client.responseTradingPlatformAccountsList); + new_balance = this.root_store.client.derivez_accounts_list.find( + item => item.account_id === this.current_account.account_id + )?.balance; + break; + } default: { break; } @@ -621,6 +701,27 @@ export default class CFDStore extends BaseStore { }); } + setDerivezToken(response, server) { + if (!response.error) { + const { derivez } = response.service_token; + this.derivez_tokens[server] = derivez.token; + } + } + + loadDerivezTokens() { + ['demo', 'real'].forEach(account_type => { + const has_existing_account = this.root_store.client.derivez_accounts_list.some( + account => account.account_type === account_type + ); + + if (!this.derivez_tokens[account_type] && has_existing_account) { + WS.getServiceToken(CFD_PLATFORMS.DERIVEZ, account_type).then(response => + this.setDerivezToken(response, account_type) + ); + } + }); + } + static async changePassword({ login, old_password, new_password, password_type }) { let response; diff --git a/packages/cfd/src/sass/cfd-dashboard.scss b/packages/cfd/src/sass/cfd-dashboard.scss index 5665ff780c70..813626c1348e 100644 --- a/packages/cfd/src/sass/cfd-dashboard.scss +++ b/packages/cfd/src/sass/cfd-dashboard.scss @@ -236,7 +236,7 @@ } } - &-dxtrade-button { + &__dxtrade-button { background: $color-black-7; border-radius: $BORDER_RADIUS; text-decoration: none; @@ -255,7 +255,7 @@ padding: 0.4rem 0rem 0.4rem 0.2rem; } &-icon { - margin-left: 0.6rem; + padding-left: 0.6rem; } } @@ -1389,6 +1389,12 @@ padding-top: 2rem; padding-bottom: 5.8rem; + &-description { + display: flex; + justify-content: center; + margin-top: 1.4rem; + } + &-app { display: flex; flex-direction: column; @@ -1493,7 +1499,7 @@ display: flex; flex-direction: column; width: 13.6rem; - height: 14rem; + height: auto; padding: 0.8rem; align-items: center; justify-content: center; diff --git a/packages/components/src/components/icon/brand/ic-brand-deriv-ez-wordmark.svg b/packages/components/src/components/icon/brand/ic-brand-deriv-ez-wordmark.svg new file mode 100644 index 000000000000..6bd214a6945e --- /dev/null +++ b/packages/components/src/components/icon/brand/ic-brand-deriv-ez-wordmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/brand/ic-brand-deriv-ez.svg b/packages/components/src/components/icon/brand/ic-brand-deriv-ez.svg new file mode 100644 index 000000000000..aba5315db1a0 --- /dev/null +++ b/packages/components/src/components/icon/brand/ic-brand-deriv-ez.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/brand/ic-brand-dxtrade-wordmark.svg b/packages/components/src/components/icon/brand/ic-brand-dxtrade-wordmark.svg new file mode 100644 index 000000000000..891328871501 --- /dev/null +++ b/packages/components/src/components/icon/brand/ic-brand-dxtrade-wordmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/icons.js b/packages/components/src/components/icon/icons.js index 75787a4e3f2e..9269474c823a 100644 --- a/packages/components/src/components/icon/icons.js +++ b/packages/components/src/components/icon/icons.js @@ -52,11 +52,14 @@ import './appstore/ic-appstore-wallet-usd-light.svg'; import './appstore/ic-appstore-wallet-usdc-light.svg'; import './appstore/ic-appstore-wallet-usdt-light.svg'; import './appstore/ic-appstore-warning.svg'; +import './brand/ic-brand-deriv-ez-wordmark.svg'; +import './brand/ic-brand-deriv-ez.svg'; import './brand/ic-brand-deriv.svg'; import './brand/ic-brand-derivgo.svg'; import './brand/ic-brand-dmt5-financial-stp.svg'; import './brand/ic-brand-dmt5-financial.svg'; import './brand/ic-brand-dmt5-synthetics.svg'; +import './brand/ic-brand-dxtrade-wordmark.svg'; import './cashier/ic-cashier-add.svg'; import './cashier/ic-cashier-air-tm-dark.svg'; import './cashier/ic-cashier-air-tm-light.svg'; @@ -712,15 +715,18 @@ import './option/ic-option-up-down-asian.svg'; import './rebranding/ic-rebranding-binary-bot.svg'; import './rebranding/ic-rebranding-deriv-bot-dashboard.svg'; import './rebranding/ic-rebranding-deriv-bot.svg'; +import './rebranding/ic-rebranding-deriv-ez-wordmark.svg'; +import './rebranding/ic-rebranding-deriv-ez.svg'; import './rebranding/ic-rebranding-deriv-go-dashboard.svg'; import './rebranding/ic-rebranding-deriv-trader-dashboard.svg'; import './rebranding/ic-rebranding-deriv-trader.svg'; import './rebranding/ic-rebranding-deriv-x.svg'; -import './rebranding/ic-rebranding-derivx-wordmark.svg'; +import './rebranding/ic-rebranding-derivez-dashboard.svg'; import './rebranding/ic-rebranding-derivx.svg'; import './rebranding/ic-rebranding-dmt5-dashboard.svg'; import './rebranding/ic-rebranding-dmt5.svg'; import './rebranding/ic-rebranding-dxtrade-dashboard.svg'; +import './rebranding/ic-rebranding-dxtrade-wordmark.svg'; import './rebranding/ic-rebranding-dxtrade.svg'; import './rebranding/ic-rebranding-mt5-logo.svg'; import './rebranding/ic-rebranding-smarttrader-dashboard.svg'; diff --git a/packages/components/src/components/icon/rebranding/ic-rebranding-deriv-ez-wordmark.svg b/packages/components/src/components/icon/rebranding/ic-rebranding-deriv-ez-wordmark.svg new file mode 100644 index 000000000000..6bd214a6945e --- /dev/null +++ b/packages/components/src/components/icon/rebranding/ic-rebranding-deriv-ez-wordmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/rebranding/ic-rebranding-deriv-ez.svg b/packages/components/src/components/icon/rebranding/ic-rebranding-deriv-ez.svg new file mode 100644 index 000000000000..aba5315db1a0 --- /dev/null +++ b/packages/components/src/components/icon/rebranding/ic-rebranding-deriv-ez.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/rebranding/ic-rebranding-derivez-dashboard.svg b/packages/components/src/components/icon/rebranding/ic-rebranding-derivez-dashboard.svg new file mode 100644 index 000000000000..aba5315db1a0 --- /dev/null +++ b/packages/components/src/components/icon/rebranding/ic-rebranding-derivez-dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/rebranding/ic-rebranding-derivx-wordmark.svg b/packages/components/src/components/icon/rebranding/ic-rebranding-dxtrade-wordmark.svg similarity index 100% rename from packages/components/src/components/icon/rebranding/ic-rebranding-derivx-wordmark.svg rename to packages/components/src/components/icon/rebranding/ic-rebranding-dxtrade-wordmark.svg diff --git a/packages/components/stories/icon/icons.js b/packages/components/stories/icon/icons.js index a0b968597776..4f05c5bf3aa7 100644 --- a/packages/components/stories/icon/icons.js +++ b/packages/components/stories/icon/icons.js @@ -57,11 +57,14 @@ export const icons = 'IcAppstoreWarning', ], 'brand': [ + 'IcBrandDerivEzWordmark', + 'IcBrandDerivEz', 'IcBrandDeriv', 'IcBrandDerivgo', 'IcBrandDmt5FinancialStp', 'IcBrandDmt5Financial', 'IcBrandDmt5Synthetics', + 'IcBrandDxtradeWordmark', ], 'cashier': [ 'IcCashierAdd', @@ -737,15 +740,18 @@ export const icons = 'IcRebrandingBinaryBot', 'IcRebrandingDerivBotDashboard', 'IcRebrandingDerivBot', + 'IcRebrandingDerivEzWordmark', + 'IcRebrandingDerivEz', 'IcRebrandingDerivGoDashboard', 'IcRebrandingDerivTraderDashboard', 'IcRebrandingDerivTrader', 'IcRebrandingDerivX', - 'IcRebrandingDerivxWordmark', + 'IcRebrandingDerivezDashboard', 'IcRebrandingDerivx', 'IcRebrandingDmt5Dashboard', 'IcRebrandingDmt5', 'IcRebrandingDxtradeDashboard', + 'IcRebrandingDxtradeWordmark', 'IcRebrandingDxtrade', 'IcRebrandingMt5Logo', 'IcRebrandingSmarttraderDashboard', diff --git a/packages/core/src/Stores/client-store.js b/packages/core/src/Stores/client-store.js index d52a1fd5a7a9..02e5deb1ccbd 100644 --- a/packages/core/src/Stores/client-store.js +++ b/packages/core/src/Stores/client-store.js @@ -52,6 +52,7 @@ export default class ClientStore extends BaseStore { email; accounts = {}; trading_platform_available_accounts = []; + derivez_available_accounts = []; pre_switch_broadcast = false; switched = ''; is_switching = false; @@ -102,6 +103,7 @@ export default class ClientStore extends BaseStore { mt5_login_list = []; mt5_login_list_error = null; dxtrade_accounts_list = []; + derivez_accounts_list = []; dxtrade_accounts_list_error = null; dxtrade_disabled_signup_types = { real: false, demo: false }; statement = []; @@ -167,6 +169,7 @@ export default class ClientStore extends BaseStore { email: observable, accounts: observable, trading_platform_available_accounts: observable, + derivez_available_accounts: observable, pre_switch_broadcast: observable, switched: observable, is_switching: observable, @@ -202,6 +205,7 @@ export default class ClientStore extends BaseStore { mt5_login_list: observable, mt5_login_list_error: observable, dxtrade_accounts_list: observable, + derivez_accounts_list: observable, dxtrade_accounts_list_error: observable, dxtrade_disabled_signup_types: observable, statement: observable, @@ -379,6 +383,7 @@ export default class ClientStore extends BaseStore { responseMt5LoginList: action.bound, responseDxtradeTradingServers: action.bound, responseTradingPlatformAvailableAccounts: action.bound, + responseDerivezAvailableAccounts: action.bound, responseTradingPlatformAccountsList: action.bound, responseStatement: action.bound, getChangeableFields: action.bound, @@ -621,10 +626,26 @@ export default class ClientStore extends BaseStore { return this.dxtrade_accounts_list.some(account => account.account_type === 'real'); } + get has_real_derivez_login() { + return this.derivez_accounts_list.some(account => account.account_type === 'real'); + } + hasAccountErrorInCFDList = (platform, account_type) => { if (!this.is_logged_in) return false; - - const list = platform === CFD_PLATFORMS.MT5 ? this.mt5_login_list : this.dxtrade_accounts_list; + let list; + switch (platform) { + case CFD_PLATFORMS.MT5: + list = this.mt5_login_list; + break; + case CFD_PLATFORMS.DXTRADE: + list = this.dxtrade_accounts_list; + break; + case CFD_PLATFORMS.DERIVEZ: + list = this.derivez_accounts_list; + break; + default: + return false; + } return list?.some(account => !!account.has_error && account.account_type === account_type); }; @@ -1299,7 +1320,6 @@ export default class ClientStore extends BaseStore { return new Promise(resolve => { let client_accounts; const has_client_accounts = !!LocalStore.get(storage_key); - const { oauth_token, client_id } = response.new_account_real ?? response.new_account_maltainvest; runInAction(() => { this.is_populating_account_list = true; @@ -1318,6 +1338,7 @@ export default class ClientStore extends BaseStore { console.error('JSON parse failed, invalid value (client.accounts): ', error); } + const { oauth_token, client_id } = response.new_account_real ?? response.new_account_maltainvest; BinarySocket.authorize(oauth_token) .then(authorize_response => { const new_data = {}; @@ -1673,6 +1694,8 @@ export default class ClientStore extends BaseStore { WS.tradingPlatformAvailableAccounts(CFD_PLATFORMS.MT5).then(this.responseTradingPlatformAvailableAccounts); WS.tradingPlatformAccountsList(CFD_PLATFORMS.DXTRADE).then(this.responseTradingPlatformAccountsList); WS.tradingServers(CFD_PLATFORMS.DXTRADE).then(this.responseDxtradeTradingServers); + WS.tradingPlatformAccountsList(CFD_PLATFORMS.DERIVEZ).then(this.responseTradingPlatformAccountsList); + WS.tradingPlatformAccountsList(CFD_PLATFORMS.DERIVEZ).then(this.responseDerivezAvailableAccounts); this.responseStatement( await BinarySocket.send({ @@ -2069,6 +2092,7 @@ export default class ClientStore extends BaseStore { this.accounts = {}; this.mt5_login_list = []; this.dxtrade_accounts_list = []; + this.derivez_accounts_list = []; this.landing_companies = {}; localStorage.removeItem('readScamMessage'); localStorage.removeItem('isNewAccount'); @@ -2456,6 +2480,11 @@ export default class ClientStore extends BaseStore { this.setMT5DisabledSignupTypes({ [account_type]: true, }); + if (platform === CFD_PLATFORMS.DERIVEZ) { + this.setCFDDisabledSignupTypes(platform, { + [account_type]: true, + }); + } return { account_type, display_login, @@ -2496,6 +2525,12 @@ export default class ClientStore extends BaseStore { } } + responseDerivezAvailableAccounts(response) { + if (!response.error) { + this.derivez_available_accounts = response.trading_platform_accounts; + } + } + responseTradingPlatformAccountsList(response) { const { platform } = response.echo_req || {}; diff --git a/packages/core/src/Stores/traders-hub-store.js b/packages/core/src/Stores/traders-hub-store.js index c6066f132b10..906d1a1c390f 100644 --- a/packages/core/src/Stores/traders-hub-store.js +++ b/packages/core/src/Stores/traders-hub-store.js @@ -10,6 +10,7 @@ export default class TradersHubStore extends BaseStore { available_cfd_accounts = []; available_mt5_accounts = []; available_dxtrade_accounts = []; + available_derivez_accounts = []; combined_cfd_mt5_accounts = []; selected_account_type; selected_region; @@ -20,7 +21,6 @@ export default class TradersHubStore extends BaseStore { is_account_type_modal_visible = false; account_type_card = ''; selected_platform_type = 'options'; - active_index = 0; open_failed_verification_for = ''; modal_data = { active_modal: '', @@ -36,6 +36,7 @@ export default class TradersHubStore extends BaseStore { account_type_card: observable, available_cfd_accounts: observable, available_dxtrade_accounts: observable, + available_derivez_accounts: observable, available_mt5_accounts: observable, available_platforms: observable, combined_cfd_mt5_accounts: observable, @@ -57,6 +58,7 @@ export default class TradersHubStore extends BaseStore { getAccount: action.bound, getAvailableCFDAccounts: action.bound, getAvailableDxtradeAccounts: action.bound, + getAvailableDerivEzAccounts: action.bound, getExistingAccounts: action.bound, handleTabItemClick: action.bound, has_any_real_account: computed, @@ -101,6 +103,7 @@ export default class TradersHubStore extends BaseStore { this.root_store.client.is_switching, this.root_store.client.mt5_login_list, this.root_store.client.dxtrade_accounts_list, + this.root_store.client.derivez_accounts_list, this.is_demo_low_risk, this.root_store.modules?.cfd?.current_list, this.root_store.client.landing_companies, @@ -383,6 +386,7 @@ export default class TradersHubStore extends BaseStore { }; }); this.getAvailableDxtradeAccounts(); + this.getAvailableDerivEzAccounts(); this.getAvailableMt5Accounts(); this.setCombinedCFDMT5Accounts(); } @@ -448,6 +452,26 @@ export default class TradersHubStore extends BaseStore { account => account.platform === CFD_PLATFORMS.DXTRADE ); } + + getAvailableDerivEzAccounts() { + if (this.CFDs_restricted_countries || this.financial_restricted_countries) { + this.available_derivez_accounts = []; + return; + } + + if (this.is_eu_user && !this.is_demo_low_risk) { + this.available_derivez_accounts = this.available_cfd_accounts.filter( + account => + ['EU', 'All'].some(region => region === account.availability) && + account.platform === CFD_PLATFORMS.DERIVEZ + ); + return; + } + this.available_derivez_accounts = this.available_cfd_accounts.filter( + account => account.platform === CFD_PLATFORMS.DERIVEZ + ); + } + hasCFDAccount(platform, category, type) { const current_list_keys = Object.keys(this.root_store.modules.cfd.current_list); return current_list_keys.some(key => key.startsWith(`${platform}.${category}.${type}`)); @@ -471,6 +495,9 @@ export default class TradersHubStore extends BaseStore { if (platform === CFD_PLATFORMS.DXTRADE && market_type === 'all') { return key.startsWith(`${platform}.${selected_account_type}.${platform}@${market_type}`); } + if (platform === CFD_PLATFORMS.DERIVEZ && market_type === 'all') { + return key.startsWith(`${platform}.${selected_account_type}.${platform}@${market_type}`); + } if ( platform === CFD_PLATFORMS.MT5 && (this.is_eu_user || isEuCountry(residence)) && @@ -527,29 +554,33 @@ export default class TradersHubStore extends BaseStore { } } - openDemoCFDAccount(account_type, platform) { + async openDemoCFDAccount(account_type, platform) { const { client, modules, ui } = this.root_store; const { standpoint, createCFDAccount, enableCFDPasswordModal, has_maltainvest_account } = modules.cfd; const { openAccountNeededModal } = ui; const { is_eu } = client; + if (is_eu && !has_maltainvest_account && standpoint?.iom) { openAccountNeededModal('maltainvest', localize('Deriv Multipliers'), localize('demo CFDs')); - return; + } else if (platform !== CFD_PLATFORMS.DERIVEZ) { + enableCFDPasswordModal(); + } else { + await createCFDAccount({ ...account_type, platform }); } - createCFDAccount({ ...account_type, platform }); - enableCFDPasswordModal(); } - openRealAccount(account_type, platform) { + async openRealAccount(account_type, platform) { const { client, modules } = this.root_store; const { has_active_real_account } = client; const { createCFDAccount, enableCFDPasswordModal, toggleJurisdictionModal } = modules.cfd; + if (has_active_real_account && platform === CFD_PLATFORMS.MT5) { toggleJurisdictionModal(); - } else { - createCFDAccount({ ...account_type, platform }); + } else if (platform !== CFD_PLATFORMS.DERIVEZ) { enableCFDPasswordModal(); + } else { + await createCFDAccount({ ...account_type, platform }); } } diff --git a/packages/core/src/_common/base/socket_base.js b/packages/core/src/_common/base/socket_base.js index fa77222da03b..3ddae7da8e7d 100644 --- a/packages/core/src/_common/base/socket_base.js +++ b/packages/core/src/_common/base/socket_base.js @@ -8,6 +8,7 @@ const { getLanguage } = require('@deriv/translations'); const website_name = require('@deriv/shared').website_name; const SocketCache = require('./socket_cache'); const APIMiddleware = require('./api_middleware'); +const { CFD_PLATFORMS } = require('@deriv/shared'); /* * An abstraction layer over native javascript WebSocket, @@ -379,12 +380,16 @@ const BinarySocketBase = (() => { name: 'test real labuan financial stp', }); - const getServiceToken = (platform, server) => + const getServiceToken = (platform, server) => { + let temp_service = platform; + if (platform === CFD_PLATFORMS.DERIVEZ) temp_service = 'pandats'; + deriv_api.send({ service_token: 1, - service: platform, + service: temp_service, server, }); + }; const changeEmail = api_request => deriv_api.send(api_request); diff --git a/packages/hooks/src/useCFDAllAccounts.ts b/packages/hooks/src/useCFDAllAccounts.ts index 0366ae893763..0c14923eb571 100644 --- a/packages/hooks/src/useCFDAllAccounts.ts +++ b/packages/hooks/src/useCFDAllAccounts.ts @@ -7,7 +7,7 @@ import { useStore } from '@deriv/stores'; */ const useCFDAllAccounts = () => { const { client } = useStore(); - const { dxtrade_accounts_list, mt5_login_list } = client; + const { dxtrade_accounts_list, mt5_login_list, derivez_accounts_list } = client; let cfd_accounts: typeof mt5_login_list = []; if (Array.isArray(mt5_login_list)) { @@ -16,6 +16,9 @@ const useCFDAllAccounts = () => { if (Array.isArray(dxtrade_accounts_list)) { cfd_accounts = [...cfd_accounts, ...dxtrade_accounts_list]; } + if (Array.isArray(derivez_accounts_list)) { + cfd_accounts = [...cfd_accounts, ...derivez_accounts_list]; + } return cfd_accounts; }; diff --git a/packages/shared/src/utils/cfd/available-cfd-accounts.ts b/packages/shared/src/utils/cfd/available-cfd-accounts.ts index ed42b829faaa..ff635cf58cb9 100644 --- a/packages/shared/src/utils/cfd/available-cfd-accounts.ts +++ b/packages/shared/src/utils/cfd/available-cfd-accounts.ts @@ -30,4 +30,12 @@ export const getCFDAvailableAccount = () => [ icon: 'DerivX', availability: 'Non-EU', }, + { + name: 'Deriv EZ', + description: localize('Trade CFDs on an easy-to-get-started platform with all your favourite assets.'), + platform: CFD_PLATFORMS.DERIVEZ, + market_type: 'all', + icon: 'DerivEz', + availability: 'Non-EU', + }, ]; diff --git a/packages/shared/src/utils/cfd/cfd.ts b/packages/shared/src/utils/cfd/cfd.ts index f18ac1be205d..e1393316bec2 100644 --- a/packages/shared/src/utils/cfd/cfd.ts +++ b/packages/shared/src/utils/cfd/cfd.ts @@ -9,6 +9,7 @@ export const CFD_text: { [key: string]: string } = { mt5: 'MT5', mt5_cfds: 'MT5 CFDs', cfd: 'CFDs', + derivez: 'DerivEz', synthetic: 'Derived', synthetic_demo: 'Derived Demo', synthetic_bvi: 'Derived BVI', @@ -217,7 +218,9 @@ export const getAccountListKey = (account: TAccount, platform: TPlatform, shortc sub_account_type: account.sub_account_type, platform, shortcode, - })}@${platform === CFD_PLATFORMS.DXTRADE ? account.market_type : account.server}`; + })}@${ + platform === CFD_PLATFORMS.DXTRADE || platform === CFD_PLATFORMS.DERIVEZ ? account.market_type : account.server + }`; }; export const getCFDPlatformLabel = (platform: TPlatform) => { @@ -226,6 +229,8 @@ export const getCFDPlatformLabel = (platform: TPlatform) => { return 'Deriv MT5'; case CFD_PLATFORMS.DXTRADE: return 'Deriv X'; + case CFD_PLATFORMS.DERIVEZ: + return 'Deriv EZ'; default: return ''; } diff --git a/packages/shared/src/utils/config/platform-config.ts b/packages/shared/src/utils/config/platform-config.ts index f683ebda478e..1590d048fa42 100644 --- a/packages/shared/src/utils/config/platform-config.ts +++ b/packages/shared/src/utils/config/platform-config.ts @@ -26,7 +26,7 @@ export const platforms: TPlatforms = { derivgo: { icon_text: undefined, is_hard_redirect: true, - platform_name: 'Deriv Go', + platform_name: 'Deriv GO', route_to_path: '', url: 'https://app.deriv.com/redirect/derivgo', }, diff --git a/packages/stores/src/mockStore.ts b/packages/stores/src/mockStore.ts index 4183faa31f9a..ce2e1965a666 100644 --- a/packages/stores/src/mockStore.ts +++ b/packages/stores/src/mockStore.ts @@ -204,6 +204,7 @@ const mock = (): TStores & { is_mock: boolean } => { is_deposit_lock: false, is_dxtrade_allowed: false, is_eu: false, + is_eu_country: false, is_uk: false, has_residence: false, is_fully_authenticated: false, @@ -276,6 +277,7 @@ const mock = (): TStores & { is_mock: boolean } => { switchEndSignal: jest.fn(), is_crypto: jest.fn(), dxtrade_accounts_list: [], + derivez_accounts_list: [], default_currency: 'USD', resetVirtualBalance: jest.fn(), has_enabled_two_fa: false, @@ -361,6 +363,7 @@ const mock = (): TStores & { is_mock: boolean } => { closeModal: jest.fn(), combined_cfd_mt5_accounts: [], content_flag: '', + CFDs_restricted_countries: false, openModal: jest.fn(), selected_account: { login: '', @@ -369,6 +372,7 @@ const mock = (): TStores & { is_mock: boolean } => { is_eu_user: false, is_real: false, selectRegion: jest.fn(), + setSelectedAccount: jest.fn(), is_low_risk_cr_eu_real: false, toggleRegulatorsCompareModal: jest.fn(), selected_region: '', @@ -380,7 +384,6 @@ const mock = (): TStores & { is_mock: boolean } => { multipliers_account_status: '', openFailedVerificationModal: jest.fn(), setTogglePlatformType: jest.fn(), - setSelectedAccount: jest.fn(), toggleAccountTransferModal: jest.fn(), selectAccountType: jest.fn(), }, diff --git a/packages/stores/types.ts b/packages/stores/types.ts index b79e405754ac..b95da3267e84 100644 --- a/packages/stores/types.ts +++ b/packages/stores/types.ts @@ -191,6 +191,7 @@ type TClientStore = { is_deposit_lock: boolean; is_dxtrade_allowed: boolean; is_eu: boolean; + is_eu_country: boolean; is_uk: boolean; is_social_signup: boolean; has_residence: boolean; @@ -266,6 +267,7 @@ type TClientStore = { should_allow_authentication: boolean; is_crypto: (currency?: string) => boolean; dxtrade_accounts_list: DetailsOfEachMT5Loginid[]; + derivez_accounts_list: DetailsOfEachMT5Loginid[]; default_currency: string; resetVirtualBalance: () => Promise; has_enabled_two_fa: boolean; @@ -414,9 +416,10 @@ type TTradersHubStore = { multipliers_account_status: string; financial_restricted_countries: boolean; selected_account_type: string; + setSelectedAccount: (account: { login?: string; account_id?: string }) => void; no_CR_account: boolean; no_MF_account: boolean; - setSelectedAccount: (account: { login?: string; account_id?: string }) => void; + CFDs_restricted_countries: boolean; toggleAccountTransferModal: () => void; is_demo: boolean; selectAccountType: (account_type: string) => void; From 9315d8a06c656be0541fcd0b2f367ba1ac1b75ac Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 22 Jun 2023 14:46:48 +0400 Subject: [PATCH 18/18] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#9107)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com> --- packages/p2p/crowdin/messages.json | 2 +- packages/p2p/src/translations/ar.json | 5 +- packages/p2p/src/translations/bn.json | 5 +- packages/p2p/src/translations/de.json | 5 +- packages/p2p/src/translations/es.json | 5 +- packages/p2p/src/translations/fr.json | 5 +- packages/p2p/src/translations/id.json | 5 +- packages/p2p/src/translations/it.json | 5 +- packages/p2p/src/translations/ko.json | 5 +- packages/p2p/src/translations/pl.json | 5 +- packages/p2p/src/translations/pt.json | 5 +- packages/p2p/src/translations/ru.json | 5 +- packages/p2p/src/translations/si.json | 5 +- packages/p2p/src/translations/th.json | 5 +- packages/p2p/src/translations/tr.json | 5 +- packages/p2p/src/translations/vi.json | 5 +- packages/p2p/src/translations/zh_cn.json | 5 +- packages/p2p/src/translations/zh_tw.json | 5 +- packages/translations/crowdin/messages.json | 2 +- .../translations/src/translations/ach.json | 23 +- .../translations/src/translations/ar.json | 23 +- .../translations/src/translations/bn.json | 23 +- .../translations/src/translations/de.json | 23 +- .../translations/src/translations/es.json | 23 +- .../translations/src/translations/fr.json | 23 +- .../translations/src/translations/id.json | 23 +- .../translations/src/translations/it.json | 23 +- .../translations/src/translations/ko.json | 23 +- .../translations/src/translations/pl.json | 23 +- .../translations/src/translations/pt.json | 247 +++++++++--------- .../translations/src/translations/ru.json | 33 ++- .../translations/src/translations/si.json | 23 +- .../translations/src/translations/th.json | 23 +- .../translations/src/translations/tr.json | 61 +++-- .../translations/src/translations/vi.json | 127 ++++----- .../translations/src/translations/zh_cn.json | 31 ++- .../translations/src/translations/zh_tw.json | 31 ++- 37 files changed, 501 insertions(+), 394 deletions(-) diff --git a/packages/p2p/crowdin/messages.json b/packages/p2p/crowdin/messages.json index 2b88f07e24c2..ac0184eb6bcf 100644 --- a/packages/p2p/crowdin/messages.json +++ b/packages/p2p/crowdin/messages.json @@ -1 +1 @@ -{"6794664":"Ads that match your Deriv P2P balance and limit.","19789721":"Nobody has blocked you. Yay!","24711354":"Total orders <0>30d | <1>lifetime","47573834":"Fixed rate (1 {{account_currency}})","50672601":"Bought","51881712":"You already have an ad with the same exchange rate for this currency pair and order type.

Please set a different rate for your ad.","55916349":"All","68867477":"Order ID {{ id }}","121738739":"Send","122280248":"Avg release time <0>30d","134205943":"Your ads with fixed rates have been deactivated. Set floating rates to reactivate them.","140800401":"Float","145959105":"Choose a nickname","150156106":"Save changes","159757877":"You won't see {{advertiser_name}}'s ads anymore and they won't be able to place orders on your ads.","170072126":"Seen {{ duration }} days ago","173939998":"Avg. pay time <0>30d","197477687":"Edit {{ad_type}} ad","203271702":"Try again","231473252":"Preferred currency","233677840":"of the market rate","246815378":"Once set, your nickname cannot be changed.","276261353":"Avg pay time <0>30d","277542386":"Please use <0>live chat to contact our Customer Support team for help.","316725580":"You can no longer rate this transaction.","323002325":"Post ad","324970564":"Seller's contact details","338910048":"You will appear to other users as","358133589":"Unblock {{advertiser_name}}?","364681129":"Contact details","367579676":"Blocked","392469164":"You have blocked {{advertiser_name}}.","407600801":"Have you paid {{amount}} {{currency}} to {{other_user_name}}?","416167062":"You'll receive","424668491":"expired","439264204":"Please set a different minimum and/or maximum order limit.

The range of your ad should not overlap with any of your active ads.","452752527":"Rate (1 {{ currency }})","460477293":"Enter message","464044457":"Buyer's nickname","473688701":"Enter a valid amount","476023405":"Didn't receive the email?","488150742":"Resend email","498500965":"Seller's nickname","501523417":"You have no orders.","517202770":"Set fixed rate","523301614":"Release {{amount}} {{currency}}","525380157":"Buy {{offered_currency}} order","531912261":"Bank name, account number, beneficiary name","554135844":"Edit","555447610":"You won't be able to change your buy and sell limits again after this. Do you want to continue?","560402954":"User rating","565060416":"Exchange rate","580715136":"Please register with us!","587882987":"Advertisers","611376642":"Clear","612069973":"Would you recommend this buyer?","628581263":"The {{local_currency}} market rate has changed.","649549724":"I’ve not received any payment.","654193846":"The verification link appears to be invalid. Hit the button below to request for a new one","661808069":"Resend email {{remaining_time}}","662578726":"Available","683273691":"Rate (1 {{ account_currency }})","723172934":"Looking to buy or sell USD? You can post your own ad for others to respond.","728383001":"I’ve received more than the agreed amount.","733311523":"P2P transactions are locked. This feature is not available for payment agents.","767789372":"Wait for payment","782834680":"Time left","783454335":"Yes, remove","830703311":"My profile","834075131":"Blocked advertisers","838024160":"Bank details","842911528":"Don’t show this message again.","846659545":"Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.","858027714":"Seen {{ duration }} minutes ago","873437248":"Instructions (optional)","876086855":"Complete the financial assessment form","881351325":"Would you recommend this seller?","887667868":"Order","892431976":"If you cancel your order {{cancellation_limit}} times in {{cancellation_period}} hours, you will be blocked from using Deriv P2P for {{block_duration}} hours.
({{number_of_cancels_remaining}} cancellations remaining)","949859957":"Submit","954233511":"Sold","957529514":"To place an order, add one of the advertiser’s preferred payment methods:","957807235":"Blocking wasn't possible as {{name}} is not using Deriv P2P anymore.","988380202":"Your instructions","1001160515":"Sell","1002264993":"Seller's real name","1020552673":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }}...","1030390916":"You already have an ad with this range","1035893169":"Delete","1052094244":"Max order","1056821534":"Are you sure?","1057127276":"{{- avg_release_time_in_minutes}} min","1065551550":"Set floating rate","1080990424":"Confirm","1089110190":"You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).","1091533736":"Don't risk your funds with cash transactions. Use bank transfers or e-wallets instead.","1103731601":"Your ads are paused","1106073960":"You've created an ad","1106485202":"Available Deriv P2P balance","1109217274":"Success!","1119887091":"Verification","1121630246":"Block","1137964885":"Can only contain letters, numbers, and special characters .- _ @.","1151608942":"Total amount","1157877436":"{{field_name}} should not exceed Amount","1161621759":"Choose your nickname","1162965175":"Buyer","1163072833":"<0>ID verified","1191941618":"Enter a value that's within -{{limit}}% to +{{limit}}%","1192337383":"Seen {{ duration }} hour ago","1202500203":"Pay now","1228352589":"Not rated yet","1229976478":"You will be able to see {{ advertiser_name }}'s ads. They'll be able to place orders on your ads, too.","1236083813":"Your payment details","1258285343":"Oops, something went wrong","1265751551":"Deriv P2P Balance","1286797620":"Active","1287051975":"Nickname is too long","1300767074":"{{name}} is no longer on Deriv P2P","1303016265":"Yes","1313218101":"Rate this transaction","1314266187":"Joined today","1326475003":"Activate","1328352136":"Sell {{ account_currency }}","1330528524":"Seen {{ duration }} month ago","1337027601":"You sold {{offered_amount}} {{offered_currency}}","1347322213":"How would you rate this transaction?","1347724133":"I have paid {{amount}} {{currency}}.","1366244749":"Limits","1370999551":"Floating rate","1371193412":"Cancel","1381949324":"<0>Address verified","1398938904":"We can't deliver the email to this address (usually because of firewalls or filtering).","1422356389":"No results for \"{{text}}\".","1430413419":"Maximum is {{value}} {{currency}}","1438103743":"Floating rates are enabled for {{local_currency}}. Ads with fixed rates will be deactivated. Switch to floating rates by {{end_date}}.","1448855725":"Add payment methods","1452260922":"Too many failed attempts","1467483693":"Past orders","1474532322":"Sort by","1480915523":"Skip","1497156292":"No ads for this currency 😞","1505293001":"Trade partners","1529843851":"The verification link expires in 10 minutes","1568512719":"Your daily limits have been increased to {{daily_buy_limit}} {{currency}} (buy) and {{daily_sell_limit}} {{currency}} (sell).","1583335572":"If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.","1587250288":"Ad ID {{advert_id}} ","1607051458":"Search by nickname","1615530713":"Something's not right","1620858613":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","1623916605":"I wasn’t able to make full payment.","1654365787":"Unknown","1660278694":"The advertiser changed the rate before you confirmed the order.","1671725772":"If you choose to cancel, the edited details will be lost.","1675716253":"Min limit","1678804253":"Buy {{ currency }}","1685888862":"An internal error occurred","1691540875":"Edit payment method","1703154819":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }}...","1721422292":"Show my real name","1734661732":"Your DP2P balance is {{ dp2p_balance }}","1738504192":"E-wallet","1747523625":"Go back","1752096323":"{{field_name}} should not be below Min limit","1767817594":"Buy completion <0>30d","1784151356":"at","1791767028":"Set a fixed rate for your ad.","1794470010":"I’ve made full payment, but the seller hasn’t released the funds.","1794474847":"I've received payment","1798116519":"Available amount","1809099720":"Expand all","1842172737":"You've received {{offered_amount}} {{offered_currency}}","1848044659":"You have no ads.","1859308030":"Give feedback","1874956952":"Hit the button below to add payment methods.","1886623509":"{{ad_type}} {{ account_currency }}","1902229457":"Unable to block advertiser","1923443894":"Inactive","1928240840":"Sell {{ currency }}","1929119945":"There are no ads yet","1976156928":"You'll send","1992961867":"Rate (1 {{currency}})","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","2020104747":"Filter","2029375371":"Payment instructions","2032274854":"Recommended by {{recommended_count}} traders","2039361923":"You're creating an ad to sell...","2040110829":"Increase my limits","2060873863":"Your order {{order_id}} is complete","2063890788":"Cancelled","2091671594":"Status","2096014107":"Apply","2104905634":"No one has recommended this trader yet","2121837513":"Minimum is {{value}} {{currency}}","2142425493":"Ad ID","2142752968":"Please ensure you've received {{amount}} {{local_currency}} in your account and hit Confirm to complete the transaction.","2145292295":"Rate","-1540251249":"Buy {{ account_currency }}","-1267880283":"{{field_name}} is required","-2019083683":"{{field_name}} can only include letters, numbers, spaces, and any of these symbols: -+.,'#@():;","-222920564":"{{field_name}} has exceeded maximum length","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-857786650":"Check your verification status.","-612892886":"We’ll need you to upload your documents to verify your identity.","-2090325029":"Identity verification is complete.","-1101273282":"Nickname is required","-919203928":"Nickname is too short","-1907100457":"Cannot start, end with, or repeat special characters.","-270502067":"Cannot repeat a character more than 4 times.","-499872405":"You have open orders for this ad. Complete all open orders before deleting this ad.","-2125702445":"Instructions","-1274358564":"Max limit","-1995606668":"Amount","-1965472924":"Fixed rate","-1081775102":"{{field_name}} should not be below Max limit","-885044836":"{{field_name}} should not exceed Max limit","-1921077416":"All ({{list_value}})","-608125128":"Blocked ({{list_value}})","-1764050750":"Payment details","-2021135479":"This field is required.","-2005205076":"{{field_name}} has exceeded maximum length of 200 characters.","-480724783":"You already have an ad with this rate","-1207312691":"Completed","-688728873":"Expired","-1951641340":"Under dispute","-1738697484":"Confirm payment","-1611857550":"Waiting for the seller to confirm","-1452684930":"Buyer's real name","-1597110099":"Receive","-892663026":"Your contact details","-1875343569":"Seller's payment details","-92830427":"Seller's instructions","-1940034707":"Buyer's instructions","-137444201":"Buy","-1306639327":"Payment methods","-904197848":"Limits {{min_order_amount_limit_display}}-{{max_order_amount_limit_display}} {{currency}}","-464361439":"{{- avg_buy_time_in_minutes}} min","-2109576323":"Sell completion <0>30d","-165392069":"Avg. release time <0>30d","-1154208372":"Trade volume <0>30d","-1887970998":"Unblocking wasn't possible as {{name}} is not using Deriv P2P anymore.","-2017825013":"Got it","-1845037007":"Advertiser's page","-1070228546":"Joined {{days_since_joined}}d","-2015102262":"({{number_of_ratings}} rating)","-1412298133":"({{number_of_ratings}} ratings)","-260332243":"{{user_blocked_count}} person has blocked you","-117094654":"{{user_blocked_count}} people have blocked you","-329713179":"Ok","-1689905285":"Unblock","-1837059346":"Buy / Sell","-494667560":"Orders","-679691613":"My ads","-992568889":"No one to show here","-1298666786":"My counterparties","-1148912768":"If the market rate changes from the rate shown here, we won't be able to process your order.","-55126326":"Seller","-835196958":"Receive payment to","-1218007718":"You may choose up to 3.","-1933432699":"Enter {{transaction_type}} amount","-2021730616":"{{ad_type}}","-490637584":"Limit: {{min}}–{{max}} {{currency}}","-1974067943":"Your bank details","-1285759343":"Search","-1657433201":"There are no matching ads.","-1862812590":"Limits {{ min_order }}–{{ max_order }} {{ currency }}","-375836822":"Buy {{account_currency}}","-1035421133":"Sell {{account_currency}}","-1503997652":"No ads for this currency.","-1048001140":"No results for \"{{value}}\".","-73663931":"Create ad","-141315849":"No ads for this currency at the moment 😞","-471384801":"Sorry, we're unable to increase your limits right now. Please try again in a few minutes.","-231863107":"No","-150224710":"Yes, continue","-1638172550":"To enable this feature you must complete the following:","-559300364":"Your Deriv P2P cashier is blocked","-740038242":"Your rate is","-205277874":"Your ad is not listed on Buy/Sell because its minimum order is higher than your Deriv P2P available balance ({{balance}} {{currency}}).","-971817673":"Your ad isn't visible to others","-1735126907":"This could be because your account balance is insufficient, your ad amount exceeds your daily limit, or both. You can still see your ad on <0>My ads.","-674715853":"Your ad exceeds the daily limit","-1530773708":"Block {{advertiser_name}}?","-2035037071":"Your Deriv P2P balance isn't enough. Please increase your balance before trying again.","-412680608":"Add payment method","-293182503":"Cancel adding this payment method?","-1850127397":"If you choose to cancel, the details you’ve entered will be lost.","-1601971804":"Cancel your edits?","-1571737200":"Don't cancel","-1072444041":"Update ad","-1422779483":"That payment method cannot be deleted","-1088454544":"Get new link","-2124584325":"We've verified your order","-822728942":"We've sent you an email at {{user_email_address}}.<0 />Please click the verification link in the email to verify your order.","-142727028":"The email is in your spam folder (sometimes things get lost there).","-227512949":"Check your spelling or use a different term.","-1554938377":"Search payment method","-75934135":"Matching ads","-1856204727":"Reset","-1728351486":"Invalid verification link","-392043307":"Do you want to delete this ad?","-854930519":"You will NOT be able to restore it.","-1600783504":"Set a floating rate for your ad.","-2008992756":"Do you want to cancel this order?","-1618084450":"If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.","-2026176944":"Please do not cancel if you have already made payment.","-1989544601":"Cancel this order","-492996224":"Do not cancel","-1447732068":"Payment confirmation","-1485778481":"Have you received payment?","-403938778":"Please confirm only after checking your bank or e-wallet account to make sure you have received payment.","-1875011752":"Yes, I've paid","-1146269362":"I've received {{amount}} {{currency}}","-563116612":"I haven't paid yet","-984140537":"Add","-1220275347":"You may choose up to 3 payment methods for this ad.","-1340125291":"Done","-1889014820":"<0>Don’t see your payment method? <1>Add new.","-1406830100":"Payment method","-1561775203":"Buy {{currency}}","-1527285935":"Sell {{currency}}","-592818187":"Your Deriv P2P balance is {{ dp2p_balance }}","-1654157453":"Fixed rate (1 {{currency}})","-379708059":"Min order","-1459289144":"This information will be visible to everyone.","-207756259":"You may tap and choose up to 3.","-1282343703":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-2139632895":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-40669120":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }}...","-514789442":"You're creating an ad to buy...","-1179827369":"Create new ad","-230677679":"{{text}}","-1914431773":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-107996509":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }}...","-863580260":"You're editing an ad to buy...","-1396464057":"You're editing an ad to sell...","-372210670":"Rate (1 {{account_currency}})","-1400835517":"{{ad_type}} {{ id }}","-1318334333":"Deactivate","-1667041441":"Rate (1 {{ offered_currency }})","-1886565882":"Your ads with floating rates have been deactivated. Set fixed rates to reactivate them.","-792015701":"Deriv P2P cashier is unavailable in your country.","-806152028":"Your ads are running","-1241719539":"When you block someone, you won't see their ads, and they can't see yours. Your ads will be hidden from their search results, too.","-1007339977":"There are no matching name.","-179005984":"Save","-2059312414":"Ad details","-1769584466":"Stats","-808161760":"Deriv P2P balance = deposits that can’t be reversed","-684271315":"OK","-2090878601":"Daily limit","-474123616":"Want to increase your daily limits to <0>{{max_daily_buy}} {{currency}} (buy) and <1>{{max_daily_sell}} {{currency}} (sell)?","-130547447":"Trade volume <0>30d | <1>lifetime","-1792280476":"Choose your payment method","-383030149":"You haven’t added any payment methods yet","-1269362917":"Add new","-146021156":"Delete {{payment_method_name}}?","-1846700504":"Are you sure you want to remove this payment method?","-532709160":"Your nickname","-1117584385":"Seen more than 6 months ago","-1766199849":"Seen {{ duration }} months ago","-591593016":"Seen {{ duration }} day ago","-1586918919":"Seen {{ duration }} hours ago","-664781013":"Seen {{ duration }} minute ago","-1717650468":"Online","-510341549":"I’ve received less than the agreed amount.","-650030360":"I’ve paid more than the agreed amount.","-1192446042":"If your complaint isn't listed here, please contact our Customer Support team.","-573132778":"Complaint","-792338456":"What's your complaint?","-418870584":"Cancel order","-1392383387":"I've paid","-727273667":"Complain","-2016990049":"Sell {{offered_currency}} order","-811190405":"Time","-961632398":"Collapse all","-415476028":"Not rated","-26434257":"You have until {{remaining_review_time}} GMT to rate this transaction.","-768709492":"Your transaction experience","-652933704":"Recommended","-84139378":"Not Recommended","-1983512566":"This conversation is closed.","-1797318839":"In case of a dispute, we will only consider the communication through Deriv P2P chat channel.","-283017497":"Retry","-979459594":"Buy/Sell","-2052184983":"Order ID","-2096350108":"Counterparty","-750202930":"Active orders","-1626659964":"I've received {{amount}} {{currency}}.","-237014436":"Recommended by {{recommended_count}} trader","-2054589794":"You've been temporarily barred from using our services due to multiple cancellation attempts. Try again after {{date_time}} GMT.","-1079963355":"trades","-930400128":"To use Deriv P2P, you need to choose a display name (a nickname) and verify your identity."} \ No newline at end of file +{"6794664":"Ads that match your Deriv P2P balance and limit.","19789721":"Nobody has blocked you. Yay!","24711354":"Total orders <0>30d | <1>lifetime","47573834":"Fixed rate (1 {{account_currency}})","50672601":"Bought","51881712":"You already have an ad with the same exchange rate for this currency pair and order type.

Please set a different rate for your ad.","55916349":"All","68867477":"Order ID {{ id }}","121738739":"Send","122280248":"Avg release time <0>30d","134205943":"Your ads with fixed rates have been deactivated. Set floating rates to reactivate them.","140800401":"Float","145959105":"Choose a nickname","150156106":"Save changes","159757877":"You won't see {{advertiser_name}}'s ads anymore and they won't be able to place orders on your ads.","170072126":"Seen {{ duration }} days ago","173939998":"Avg. pay time <0>30d","197477687":"Edit {{ad_type}} ad","203271702":"Try again","231473252":"Preferred currency","233677840":"of the market rate","246815378":"Once set, your nickname cannot be changed.","276261353":"Avg pay time <0>30d","277542386":"Please use <0>live chat to contact our Customer Support team for help.","316725580":"You can no longer rate this transaction.","323002325":"Post ad","324970564":"Seller's contact details","338910048":"You will appear to other users as","358133589":"Unblock {{advertiser_name}}?","364681129":"Contact details","367579676":"Blocked","392469164":"You have blocked {{advertiser_name}}.","407600801":"Have you paid {{amount}} {{currency}} to {{other_user_name}}?","416167062":"You'll receive","424668491":"expired","439264204":"Please set a different minimum and/or maximum order limit.

The range of your ad should not overlap with any of your active ads.","452752527":"Rate (1 {{ currency }})","460477293":"Enter message","464044457":"Buyer's nickname","473688701":"Enter a valid amount","476023405":"Didn't receive the email?","488150742":"Resend email","498500965":"Seller's nickname","501523417":"You have no orders.","517202770":"Set fixed rate","523301614":"Release {{amount}} {{currency}}","525380157":"Buy {{offered_currency}} order","531912261":"Bank name, account number, beneficiary name","554135844":"Edit","555447610":"You won't be able to change your buy and sell limits again after this. Do you want to continue?","560402954":"User rating","565060416":"Exchange rate","580715136":"Please register with us!","587882987":"Advertisers","611376642":"Clear","612069973":"Would you recommend this buyer?","628581263":"The {{local_currency}} market rate has changed.","649549724":"I’ve not received any payment.","654193846":"The verification link appears to be invalid. Hit the button below to request for a new one","661808069":"Resend email {{remaining_time}}","662578726":"Available","683273691":"Rate (1 {{ account_currency }})","723172934":"Looking to buy or sell USD? You can post your own ad for others to respond.","728383001":"I’ve received more than the agreed amount.","733311523":"P2P transactions are locked. This feature is not available for payment agents.","767789372":"Wait for payment","782834680":"Time left","783454335":"Yes, remove","830703311":"My profile","834075131":"Blocked advertisers","838024160":"Bank details","842911528":"Don’t show this message again.","846659545":"Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.","847028402":"Check your email","858027714":"Seen {{ duration }} minutes ago","873437248":"Instructions (optional)","876086855":"Complete the financial assessment form","881351325":"Would you recommend this seller?","887667868":"Order","892431976":"If you cancel your order {{cancellation_limit}} times in {{cancellation_period}} hours, you will be blocked from using Deriv P2P for {{block_duration}} hours.
({{number_of_cancels_remaining}} cancellations remaining)","949859957":"Submit","954233511":"Sold","957529514":"To place an order, add one of the advertiser’s preferred payment methods:","957807235":"Blocking wasn't possible as {{name}} is not using Deriv P2P anymore.","988380202":"Your instructions","1001160515":"Sell","1002264993":"Seller's real name","1020552673":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }}...","1030390916":"You already have an ad with this range","1035893169":"Delete","1052094244":"Max order","1056821534":"Are you sure?","1057127276":"{{- avg_release_time_in_minutes}} min","1065551550":"Set floating rate","1080990424":"Confirm","1089110190":"You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).","1091533736":"Don't risk your funds with cash transactions. Use bank transfers or e-wallets instead.","1103731601":"Your ads are paused","1106073960":"You've created an ad","1106485202":"Available Deriv P2P balance","1109217274":"Success!","1119887091":"Verification","1121630246":"Block","1137964885":"Can only contain letters, numbers, and special characters .- _ @.","1151608942":"Total amount","1157877436":"{{field_name}} should not exceed Amount","1161621759":"Choose your nickname","1162965175":"Buyer","1163072833":"<0>ID verified","1191941618":"Enter a value that's within -{{limit}}% to +{{limit}}%","1192337383":"Seen {{ duration }} hour ago","1202500203":"Pay now","1228352589":"Not rated yet","1229976478":"You will be able to see {{ advertiser_name }}'s ads. They'll be able to place orders on your ads, too.","1236083813":"Your payment details","1258285343":"Oops, something went wrong","1265751551":"Deriv P2P Balance","1286797620":"Active","1287051975":"Nickname is too long","1300767074":"{{name}} is no longer on Deriv P2P","1303016265":"Yes","1313218101":"Rate this transaction","1314266187":"Joined today","1326475003":"Activate","1328352136":"Sell {{ account_currency }}","1330528524":"Seen {{ duration }} month ago","1337027601":"You sold {{offered_amount}} {{offered_currency}}","1347322213":"How would you rate this transaction?","1347724133":"I have paid {{amount}} {{currency}}.","1366244749":"Limits","1370999551":"Floating rate","1371193412":"Cancel","1381949324":"<0>Address verified","1398938904":"We can't deliver the email to this address (usually because of firewalls or filtering).","1422356389":"No results for \"{{text}}\".","1430413419":"Maximum is {{value}} {{currency}}","1438103743":"Floating rates are enabled for {{local_currency}}. Ads with fixed rates will be deactivated. Switch to floating rates by {{end_date}}.","1448855725":"Add payment methods","1452260922":"Too many failed attempts","1467483693":"Past orders","1474532322":"Sort by","1480915523":"Skip","1497156292":"No ads for this currency 😞","1505293001":"Trade partners","1568512719":"Your daily limits have been increased to {{daily_buy_limit}} {{currency}} (buy) and {{daily_sell_limit}} {{currency}} (sell).","1583335572":"If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.","1587250288":"Ad ID {{advert_id}} ","1607051458":"Search by nickname","1615530713":"Something's not right","1620858613":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","1623916605":"I wasn’t able to make full payment.","1654365787":"Unknown","1660278694":"The advertiser changed the rate before you confirmed the order.","1671725772":"If you choose to cancel, the edited details will be lost.","1675716253":"Min limit","1678804253":"Buy {{ currency }}","1685888862":"An internal error occurred","1691540875":"Edit payment method","1703154819":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }}...","1721422292":"Show my real name","1734661732":"Your DP2P balance is {{ dp2p_balance }}","1738504192":"E-wallet","1747523625":"Go back","1752096323":"{{field_name}} should not be below Min limit","1767817594":"Buy completion <0>30d","1784151356":"at","1791767028":"Set a fixed rate for your ad.","1794470010":"I’ve made full payment, but the seller hasn’t released the funds.","1794474847":"I've received payment","1798116519":"Available amount","1809099720":"Expand all","1842172737":"You've received {{offered_amount}} {{offered_currency}}","1848044659":"You have no ads.","1859308030":"Give feedback","1874956952":"Hit the button below to add payment methods.","1886623509":"{{ad_type}} {{ account_currency }}","1902229457":"Unable to block advertiser","1923443894":"Inactive","1928240840":"Sell {{ currency }}","1929119945":"There are no ads yet","1976156928":"You'll send","1992961867":"Rate (1 {{currency}})","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","2020104747":"Filter","2029375371":"Payment instructions","2032274854":"Recommended by {{recommended_count}} traders","2039361923":"You're creating an ad to sell...","2040110829":"Increase my limits","2060873863":"Your order {{order_id}} is complete","2063890788":"Cancelled","2091671594":"Status","2096014107":"Apply","2104905634":"No one has recommended this trader yet","2121837513":"Minimum is {{value}} {{currency}}","2142425493":"Ad ID","2142752968":"Please ensure you've received {{amount}} {{local_currency}} in your account and hit Confirm to complete the transaction.","2145292295":"Rate","-1540251249":"Buy {{ account_currency }}","-1267880283":"{{field_name}} is required","-2019083683":"{{field_name}} can only include letters, numbers, spaces, and any of these symbols: -+.,'#@():;","-222920564":"{{field_name}} has exceeded maximum length","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-857786650":"Check your verification status.","-612892886":"We’ll need you to upload your documents to verify your identity.","-2090325029":"Identity verification is complete.","-1101273282":"Nickname is required","-919203928":"Nickname is too short","-1907100457":"Cannot start, end with, or repeat special characters.","-270502067":"Cannot repeat a character more than 4 times.","-499872405":"You have open orders for this ad. Complete all open orders before deleting this ad.","-2125702445":"Instructions","-1274358564":"Max limit","-1995606668":"Amount","-1965472924":"Fixed rate","-1081775102":"{{field_name}} should not be below Max limit","-885044836":"{{field_name}} should not exceed Max limit","-1921077416":"All ({{list_value}})","-608125128":"Blocked ({{list_value}})","-1764050750":"Payment details","-2021135479":"This field is required.","-2005205076":"{{field_name}} has exceeded maximum length of 200 characters.","-480724783":"You already have an ad with this rate","-1207312691":"Completed","-688728873":"Expired","-1951641340":"Under dispute","-1738697484":"Confirm payment","-1611857550":"Waiting for the seller to confirm","-1452684930":"Buyer's real name","-1597110099":"Receive","-892663026":"Your contact details","-1875343569":"Seller's payment details","-92830427":"Seller's instructions","-1940034707":"Buyer's instructions","-137444201":"Buy","-1306639327":"Payment methods","-904197848":"Limits {{min_order_amount_limit_display}}-{{max_order_amount_limit_display}} {{currency}}","-464361439":"{{- avg_buy_time_in_minutes}} min","-2109576323":"Sell completion <0>30d","-165392069":"Avg. release time <0>30d","-1154208372":"Trade volume <0>30d","-1887970998":"Unblocking wasn't possible as {{name}} is not using Deriv P2P anymore.","-2017825013":"Got it","-1845037007":"Advertiser's page","-1070228546":"Joined {{days_since_joined}}d","-2015102262":"({{number_of_ratings}} rating)","-1412298133":"({{number_of_ratings}} ratings)","-260332243":"{{user_blocked_count}} person has blocked you","-117094654":"{{user_blocked_count}} people have blocked you","-329713179":"Ok","-1689905285":"Unblock","-1837059346":"Buy / Sell","-494667560":"Orders","-679691613":"My ads","-992568889":"No one to show here","-1298666786":"My counterparties","-1148912768":"If the market rate changes from the rate shown here, we won't be able to process your order.","-55126326":"Seller","-835196958":"Receive payment to","-1218007718":"You may choose up to 3.","-1933432699":"Enter {{transaction_type}} amount","-2021730616":"{{ad_type}}","-490637584":"Limit: {{min}}–{{max}} {{currency}}","-1974067943":"Your bank details","-1285759343":"Search","-1657433201":"There are no matching ads.","-1862812590":"Limits {{ min_order }}–{{ max_order }} {{ currency }}","-375836822":"Buy {{account_currency}}","-1035421133":"Sell {{account_currency}}","-1503997652":"No ads for this currency.","-1048001140":"No results for \"{{value}}\".","-73663931":"Create ad","-141315849":"No ads for this currency at the moment 😞","-471384801":"Sorry, we're unable to increase your limits right now. Please try again in a few minutes.","-231863107":"No","-150224710":"Yes, continue","-1638172550":"To enable this feature you must complete the following:","-559300364":"Your Deriv P2P cashier is blocked","-740038242":"Your rate is","-205277874":"Your ad is not listed on Buy/Sell because its minimum order is higher than your Deriv P2P available balance ({{balance}} {{currency}}).","-971817673":"Your ad isn't visible to others","-1735126907":"This could be because your account balance is insufficient, your ad amount exceeds your daily limit, or both. You can still see your ad on <0>My ads.","-674715853":"Your ad exceeds the daily limit","-1530773708":"Block {{advertiser_name}}?","-2035037071":"Your Deriv P2P balance isn't enough. Please increase your balance before trying again.","-412680608":"Add payment method","-293182503":"Cancel adding this payment method?","-1850127397":"If you choose to cancel, the details you’ve entered will be lost.","-1601971804":"Cancel your edits?","-1571737200":"Don't cancel","-1072444041":"Update ad","-1422779483":"That payment method cannot be deleted","-1088454544":"Get new link","-2124584325":"We've verified your order","-848068683":"Hit the link in the email we sent you to authorise this transaction.","-1238182882":"The link will expire in 10 minutes.","-142727028":"The email is in your spam folder (sometimes things get lost there).","-227512949":"Check your spelling or use a different term.","-1554938377":"Search payment method","-75934135":"Matching ads","-1856204727":"Reset","-1728351486":"Invalid verification link","-392043307":"Do you want to delete this ad?","-854930519":"You will NOT be able to restore it.","-1600783504":"Set a floating rate for your ad.","-2008992756":"Do you want to cancel this order?","-1618084450":"If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.","-2026176944":"Please do not cancel if you have already made payment.","-1989544601":"Cancel this order","-492996224":"Do not cancel","-1447732068":"Payment confirmation","-1485778481":"Have you received payment?","-403938778":"Please confirm only after checking your bank or e-wallet account to make sure you have received payment.","-1875011752":"Yes, I've paid","-1146269362":"I've received {{amount}} {{currency}}","-563116612":"I haven't paid yet","-984140537":"Add","-1220275347":"You may choose up to 3 payment methods for this ad.","-1340125291":"Done","-1889014820":"<0>Don’t see your payment method? <1>Add new.","-1406830100":"Payment method","-1561775203":"Buy {{currency}}","-1527285935":"Sell {{currency}}","-592818187":"Your Deriv P2P balance is {{ dp2p_balance }}","-1654157453":"Fixed rate (1 {{currency}})","-379708059":"Min order","-1459289144":"This information will be visible to everyone.","-207756259":"You may tap and choose up to 3.","-1282343703":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-2139632895":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-40669120":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }}...","-514789442":"You're creating an ad to buy...","-1179827369":"Create new ad","-230677679":"{{text}}","-1914431773":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-107996509":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }}...","-863580260":"You're editing an ad to buy...","-1396464057":"You're editing an ad to sell...","-372210670":"Rate (1 {{account_currency}})","-1400835517":"{{ad_type}} {{ id }}","-1318334333":"Deactivate","-1667041441":"Rate (1 {{ offered_currency }})","-1886565882":"Your ads with floating rates have been deactivated. Set fixed rates to reactivate them.","-792015701":"Deriv P2P cashier is unavailable in your country.","-806152028":"Your ads are running","-1241719539":"When you block someone, you won't see their ads, and they can't see yours. Your ads will be hidden from their search results, too.","-1007339977":"There are no matching name.","-179005984":"Save","-2059312414":"Ad details","-1769584466":"Stats","-808161760":"Deriv P2P balance = deposits that can’t be reversed","-684271315":"OK","-2090878601":"Daily limit","-474123616":"Want to increase your daily limits to <0>{{max_daily_buy}} {{currency}} (buy) and <1>{{max_daily_sell}} {{currency}} (sell)?","-130547447":"Trade volume <0>30d | <1>lifetime","-1792280476":"Choose your payment method","-383030149":"You haven’t added any payment methods yet","-1269362917":"Add new","-146021156":"Delete {{payment_method_name}}?","-1846700504":"Are you sure you want to remove this payment method?","-532709160":"Your nickname","-1117584385":"Seen more than 6 months ago","-1766199849":"Seen {{ duration }} months ago","-591593016":"Seen {{ duration }} day ago","-1586918919":"Seen {{ duration }} hours ago","-664781013":"Seen {{ duration }} minute ago","-1717650468":"Online","-510341549":"I’ve received less than the agreed amount.","-650030360":"I’ve paid more than the agreed amount.","-1192446042":"If your complaint isn't listed here, please contact our Customer Support team.","-573132778":"Complaint","-792338456":"What's your complaint?","-418870584":"Cancel order","-1392383387":"I've paid","-727273667":"Complain","-2016990049":"Sell {{offered_currency}} order","-811190405":"Time","-961632398":"Collapse all","-415476028":"Not rated","-26434257":"You have until {{remaining_review_time}} GMT to rate this transaction.","-768709492":"Your transaction experience","-652933704":"Recommended","-84139378":"Not Recommended","-1983512566":"This conversation is closed.","-1797318839":"In case of a dispute, we will only consider the communication through Deriv P2P chat channel.","-283017497":"Retry","-979459594":"Buy/Sell","-2052184983":"Order ID","-2096350108":"Counterparty","-750202930":"Active orders","-1626659964":"I've received {{amount}} {{currency}}.","-237014436":"Recommended by {{recommended_count}} trader","-2054589794":"You've been temporarily barred from using our services due to multiple cancellation attempts. Try again after {{date_time}} GMT.","-1079963355":"trades","-930400128":"To use Deriv P2P, you need to choose a display name (a nickname) and verify your identity."} \ No newline at end of file diff --git a/packages/p2p/src/translations/ar.json b/packages/p2p/src/translations/ar.json index f9ae4ab21465..2e0f292297db 100644 --- a/packages/p2p/src/translations/ar.json +++ b/packages/p2p/src/translations/ar.json @@ -72,6 +72,7 @@ "838024160": "تفاصيل البنك", "842911528": "لا تعرض هذه الرسالة مرة أخرى.", "846659545": "Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.", + "847028402": "Check your email", "858027714": "نشط منذ {{ duration }} دقيقة", "873437248": "تعليمات (اختيارية)", "876086855": "أكمل نموذج التقييم المالي", @@ -142,7 +143,6 @@ "1480915523": "تخطي", "1497156292": "لا توجد إعلانات لهذه العملة 😞", "1505293001": "شركاء التجارة", - "1529843851": "تنتهي صلاحية رابط التحقق في غضون 10 دقائق", "1568512719": "تمت زيادة حدودك اليومية إلى {{daily_buy_limit}} {{currency}} (شراء) و {{daily_sell_limit}} {{currency}} (بيع).", "1583335572": "إذا لم يتلق الإعلان طلبًا لمدة {{adverts_archive_period}} يومًا، فسيتم إلغاء تنشيطه.", "1587250288": "معرف الإعلان {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "لا يمكن حذف طريقة الدفع هذه", "-1088454544": "احصل على رابط جديد", "-2124584325": "لقد تحققنا من طلبك", - "-822728942": "لقد أرسلنا لك بريدًا إلكترونيًا على {{user_email_address}}. <0 /> الرجاء النقر فوق رابط التحقق في البريد الإلكتروني للتحقق من طلبك.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "البريد الإلكتروني موجود في مجلد الرسائل غير المرغوب فيها (أحيانًا تضيع الأشياء هناك).", "-227512949": "تحقق من التهجئة أو استخدم مصطلحًا مختلفًا.", "-1554938377": "ابحث عن طريقة الدفع", diff --git a/packages/p2p/src/translations/bn.json b/packages/p2p/src/translations/bn.json index ccd0c1cbda8e..8038c50ba2bb 100644 --- a/packages/p2p/src/translations/bn.json +++ b/packages/p2p/src/translations/bn.json @@ -72,6 +72,7 @@ "838024160": "ব্যাংকের বিস্তারিত বিবরণ", "842911528": "এই বার্তাটি পুনরায় প্রদর্শন করা হবে না।", "846659545": "আপনার বিজ্ঞাপন <0>ক্রয়/বিক্রয় তালিকাভুক্ত করা হয় না কারণ পরিমাণ আপনার দৈনিক সীমা {{limit}} {{currency}}ছাড়িয়ে গেছে।\n ।<1 /><1 /> আপনি এখনও <0>আমার বিজ্ঞাপনে আপনার বিজ্ঞাপন দেখতে পারেন। আপনি যদি আপনার দৈনিক সীমা বৃদ্ধি করতে চান, তাহলে <2>লাইভ চ্যাটের মাধ্যমে আমাদের সাথে যোগাযোগ করুন।", + "847028402": "Check your email", "858027714": "Seen {{ duration }} minutes ago", "873437248": "নির্দেশাবলী (ঐচ্ছিক)", "876086855": "আর্থিক মূল্যায়ন ফর্মটি সম্পূর্ণ করুন", @@ -142,7 +143,6 @@ "1480915523": "লাফালাফি", "1497156292": "এই মুদ্রার জন্য কোন বিজ্ঞাপন নেই 😞", "1505293001": "ট্রেড পার্টনার", - "1529843851": "যাচাইকরণ লিঙ্কটি 10 মিনিটের মধ্যে মেয়াদ শেষ হয়ে যায়", "1568512719": "আপনার দৈনিক সীমা বৃদ্ধি করা হয়েছে {{daily_buy_limit}} {{currency}} (ক্রয়) এবং {{daily_sell_limit}} {{currency}} (বিক্রয়)।", "1583335572": "If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.", "1587250288": "আইডি {{advert_id}} যোগ করুন ", @@ -292,7 +292,8 @@ "-1422779483": "যে পেমেন্ট পদ্ধতি মুছে ফেলা যাবে না", "-1088454544": "নতুন লিংক পান", "-2124584325": "আমরা আপনার অর্ডার যাচাই করেছি", - "-822728942": "আমরা আপনাকে {{user_email_address}}এ একটি ইমেল পাঠিয়েছি। আপনার অর্ডার যাচাই করতে<0 /> অনুগ্রহ করে ইমেইলের যাচাইকরণ লিঙ্কে ক্লিক করুন।", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "ইমেলটি আপনার স্প্যাম ফোল্ডারে রয়েছে (কখনও কখনও জিনিসগুলি সেখানে হারিয়ে যায়)।", "-227512949": "আপনার বানান পরীক্ষা করুন অথবা একটি ভিন্ন শব্দ ব্যবহার করুন।", "-1554938377": "পেমেন্ট পদ্ধতি অনুসন্ধান করুন", diff --git a/packages/p2p/src/translations/de.json b/packages/p2p/src/translations/de.json index c14ffebd22d6..9d248efc7aca 100644 --- a/packages/p2p/src/translations/de.json +++ b/packages/p2p/src/translations/de.json @@ -72,6 +72,7 @@ "838024160": "Bankdaten", "842911528": "Diese Nachricht nicht noch einmal anzeigen.", "846659545": "Ihre Anzeige ist nicht auf <0>Kaufen/Verkaufen gelistet, weil der Betrag Ihr Tageslimit von {{limit}} {{currency}} überschreitet. <1 /><1 />Sie können Ihre Anzeige trotzdem auf <0>Meine Anzeigensehen. Wenn Sie Ihr Tageslimit erhöhen möchten, kontaktieren Sie uns bitte über <2>live chat.", + "847028402": "Check your email", "858027714": "Vor {{ duration }} Minuten gesehen", "873437248": "Anweisungen (optional)", "876086855": "Füllen Sie das Formular zur finanziellen Bewertung aus", @@ -142,7 +143,6 @@ "1480915523": "Überspringen", "1497156292": "Keine Werbung für diese Währung 😞", "1505293001": "Handelspartner", - "1529843851": "Der Bestätigungslink läuft in 10 Minuten ab", "1568512719": "Ihre täglichen Limits wurden auf {{daily_buy_limit}} {{currency}} (Kauf) und {{daily_sell_limit}} {{currency}} (Verkauf) erhöht.", "1583335572": "Wenn für die Anzeige innerhalb von {{adverts_archive_period}} Tagen keine Bestellung eingegangen ist, wird sie deaktiviert.", "1587250288": "ID {{advert_id}} hinzufügen ", @@ -292,7 +292,8 @@ "-1422779483": "Diese Zahlungsmethode kann nicht gelöscht werden", "-1088454544": "Holen Sie sich einen neuen Link", "-2124584325": "Wir haben deine Bestellung verifiziert", - "-822728942": "Wir haben dir eine E-Mail an {{user_email_address}}geschickt. <0 /> Bitte klicke auf den Bestätigungslink in der E-Mail, um deine Bestellung zu verifizieren.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "Die E-Mail befindet sich in Ihrem Spam-Ordner (manchmal gehen dort Dinge verloren).", "-227512949": "Überprüfe deine Rechtschreibung oder verwende einen anderen Begriff.", "-1554938377": "Zahlungsmethode suchen", diff --git a/packages/p2p/src/translations/es.json b/packages/p2p/src/translations/es.json index a4ab483f9db0..761c2862a410 100644 --- a/packages/p2p/src/translations/es.json +++ b/packages/p2p/src/translations/es.json @@ -72,6 +72,7 @@ "838024160": "Detalles del banco", "842911528": "No mostrar este mensaje de nuevo.", "846659545": "Tu anuncio no aparece en la sección <0>Comprar/Vender porque el importe supera tu límite diario de {{limit}} a {{currency}}.\n <1 /><1 /> Puedes seguir viendo tu anuncio en <0>Mis anuncios. Si quieres aumentar tu límite diario, ponte en contacto con nosotros a través del <2>chat en vivo.", + "847028402": "Check your email", "858027714": "Visto hace {{ duration }} minutos", "873437248": "Instrucciones (opcional)", "876086855": "Complete el formulario de evaluación financiera", @@ -142,7 +143,6 @@ "1480915523": "Saltar", "1497156292": "No hay anuncios para esta moneda 😞", "1505293001": "Socios comerciales", - "1529843851": "El enlace de verificación caduca en 10 minutos", "1568512719": "Sus límites diarios se han incrementado a {{daily_buy_limit}} {{currency}} (compra) y {{daily_sell_limit}} {{currency}} (venta).", "1583335572": "Si su anuncio no recibe un pedido durante {{adverts_archive_period}} días, se desactivará.", "1587250288": "ID del anuncio {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "No se puede eliminar ese método de pago", "-1088454544": "Obtener nuevo enlace", "-2124584325": "Hemos verificado su pedido", - "-822728942": "Te hemos enviado un correo electrónico a {{user_email_address}}. Haz<0 /> clic en el enlace de verificación del correo electrónico para verificar tu pedido.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "El correo electrónico está en su bandeja de spam (a veces las cosas se pierden allí).", "-227512949": "Revise su ortografía o utilice un término diferente.", "-1554938377": "Buscar método de pago", diff --git a/packages/p2p/src/translations/fr.json b/packages/p2p/src/translations/fr.json index 8d2ac66c0b16..e193f505af30 100644 --- a/packages/p2p/src/translations/fr.json +++ b/packages/p2p/src/translations/fr.json @@ -72,6 +72,7 @@ "838024160": "Coordonnées bancaires", "842911528": "Ne pas montrer de nouveau ce message.", "846659545": "Votre annonce n'est pas répertoriée sur <0>Achat/Vente car le montant dépasse votre limite quotidienne de {{limit}} {{currency}}.\n <1 /><1 /> Vous pouvez toujours voir votre annonce sur <0>Mes annonces. Si vous souhaitez augmenter votre limite quotidienne, veuillez nous contacter via le <2>chat en direct.", + "847028402": "Check your email", "858027714": "Vu il y a {{ duration }} minutes", "873437248": "Instructions (facultatif)", "876086855": "Remplissez le formulaire d'évaluation financière", @@ -142,7 +143,6 @@ "1480915523": "Ignorer", "1497156292": "Aucune annonce pour cette devise 😞", "1505293001": "Partenaires de trade", - "1529843851": "Le lien de vérification expire dans 10 minutes", "1568512719": "Vos limites quotidiennes ont été augmentées à {{daily_buy_limit}} {{currency}} (achat) et {{daily_sell_limit}} {{currency}} (vente).", "1583335572": "Si l'annonce ne reçoit pas de demande pendant {{adverts_archive_period}} jours, elle sera désactivée.", "1587250288": "ID d'annonce {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "Ce mode de paiement ne peut pas être supprimé", "-1088454544": "Obtenir un nouveau lien", "-2124584325": "Nous avons vérifié votre commande", - "-822728942": "Nous vous avons envoyé un e-mail à {{user_email_address}}.<0 /> Veuillez cliquer sur le lien de vérification dans l'e-mail pour vérifier votre commande.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "L'email se trouve dans votre dossier spam (parfois des choses s'y perdent).", "-227512949": "Vérifiez votre orthographe ou utilisez un terme différent.", "-1554938377": "Rechercher un mode de paiement", diff --git a/packages/p2p/src/translations/id.json b/packages/p2p/src/translations/id.json index 3adf9be52566..d23ab73a1ea7 100644 --- a/packages/p2p/src/translations/id.json +++ b/packages/p2p/src/translations/id.json @@ -72,6 +72,7 @@ "838024160": "Detail bank", "842911528": "Jangan tampilkan pesan ini lagi.", "846659545": "Iklan Anda tidak tercantum di <0>Beli/Jual karena jumlahnya melebihi batas harian Anda sebesar {{limit}} {{currency}}.\n <1 /><1 /> Anda masih dapat melihat iklan Anda di <0>iklan Saya. Jika Anda ingin meningkatkan batas harian Anda, silakan hubungi kami melalui <2>live chat.", + "847028402": "Check your email", "858027714": "Terlihat {{ duration }} menit yang lalu", "873437248": "Instruksi (opsional)", "876086855": "Lengkapi formulir penilaian keuangan", @@ -142,7 +143,6 @@ "1480915523": "Lewati", "1497156292": "Tidak ada iklan untuk mata uang ini 😞", "1505293001": "Mitra transaksi", - "1529843851": "Tautan verifikasi akan berakhir dalam 10 menit", "1568512719": "Batas harian Anda telah dinaikkan menjadi {{daily_buy_limit}} {{currency}} (beli) dan {{daily_sell_limit}} {{currency}} (jual).", "1583335572": "Jika iklan ini tidak menerima order dalam tempo {{adverts_archive_period}}, maka iklan akan dinonaktifkan.", "1587250288": "Ad ID {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "Metode pembayaran itu tidak dapat dihapus", "-1088454544": "Dapatkan tautan baru", "-2124584325": "Kami telah memverifikasi order Anda", - "-822728942": "Kami telah mengirim email ke {{user_email_address}}.<0 />Silakan klik tautan untuk memverifikasi order Anda.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "Email masuk ke dalam folder spam Anda (terkadang email masuk kesana).", "-227512949": "Cek ejaan atau gunakan istilah yang berbeda.", "-1554938377": "Cari metode pembayaran", diff --git a/packages/p2p/src/translations/it.json b/packages/p2p/src/translations/it.json index ce855a000cb1..df9d16e6b6f0 100644 --- a/packages/p2p/src/translations/it.json +++ b/packages/p2p/src/translations/it.json @@ -72,6 +72,7 @@ "838024160": "Dettagli bancari", "842911528": "Non mostrare più questo messaggio.", "846659545": "Il tuo annuncio non è elencato nella <0>sezione Compra/Vendi perché l'importo supera il limite giornaliero di {{limit}} {{currency}}.\n <1 /><1 /> Puoi ancora vedere il tuo annuncio nella sezione <0>I miei annunci. Se desideri aumentare il limite giornaliero, contattaci tramite <2>chat live.", + "847028402": "Check your email", "858027714": "Visto {{ duration }} minuti fa", "873437248": "Istruzioni (opzionali)", "876086855": "Completa il modulo della valutazione finanziaria", @@ -142,7 +143,6 @@ "1480915523": "Salta", "1497156292": "Non ci sono annunci per questa valuta 😞", "1505293001": "Partners di trading", - "1529843851": "Il link di verifica scade tra 10 minuti", "1568512719": "I tuoi limiti giornalieri sono stati aumentati a {{daily_buy_limit}} {{currency}} (acquisto) e {{daily_sell_limit}} {{currency}} (vendita).", "1583335572": "Se non ricevi ordini per il tuo annuncio per {{adverts_archive_period}} giorni, questo verrà disattivato.", "1587250288": "ID annuncio {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "Quel metodo di pagamento non può essere eliminato", "-1088454544": "Ricevi un nuovo link", "-2124584325": "Abbiamo verificato l'ordine", - "-822728942": "Ti abbiamo inviato un'email all'indirizzo {{user_email_address}}.<0 /> Fai clic sul link di verifica nell'e-mail per verificare il tuo ordine.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "L' e-mail è nella cartella spam (dove alle volte si perdono i messaggi).", "-227512949": "Correggi eventuali errori ortografici o usa un termine diverso.", "-1554938377": "Cerca modalità di pagamento", diff --git a/packages/p2p/src/translations/ko.json b/packages/p2p/src/translations/ko.json index 19cb27ebc7f4..c8674ca72b04 100644 --- a/packages/p2p/src/translations/ko.json +++ b/packages/p2p/src/translations/ko.json @@ -72,6 +72,7 @@ "838024160": "은행 세부 정보", "842911528": "이 메시지를 다시 보여주지 마세요.", "846659545": "Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.", + "847028402": "Check your email", "858027714": "Seen {{ duration }} minutes ago", "873437248": "지침 (선택 사항)", "876086855": "재무 평가 양식 작성", @@ -142,7 +143,6 @@ "1480915523": "건너뛰기", "1497156292": "이 통화에 대한 광고가 없습니다 😞", "1505293001": "무역 파트너", - "1529843851": "인증 링크는 10분 후에 만료됩니다.", "1568512719": "일일 한도가 {{daily_buy_limit}} {{currency}} (구매) 및 {{daily_sell_limit}} {{currency}} (판매) 으로 증가했습니다.", "1583335572": "If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.", "1587250288": "광고 ID {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "해당 결제 방법은 삭제할 수 없습니다.", "-1088454544": "새 링크 받기", "-2124584325": "주문이 확인되었습니다", - "-822728942": "We've sent you an email at {{user_email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "이메일은 스팸 폴더에 있습니다 (때로는 스팸 폴더에서 물건을 잃어버릴 수도 있습니다).", "-227512949": "철자를 확인하거나 다른 용어를 사용하세요.", "-1554938377": "결제 방법 검색", diff --git a/packages/p2p/src/translations/pl.json b/packages/p2p/src/translations/pl.json index 34273b65915b..118ccb72f681 100644 --- a/packages/p2p/src/translations/pl.json +++ b/packages/p2p/src/translations/pl.json @@ -72,6 +72,7 @@ "838024160": "Dane banku", "842911528": "Nie pokazuj tej wiadomości ponownie.", "846659545": "Twoja reklama nie jest wymieniona na <0>Kup/Sprzedaj, ponieważ kwota przekracza dzienny limit {{limit}} {{currency}}.\n Nadal<1 /><1 /> możesz zobaczyć swoją reklamę w <0>Moich reklamach. Jeśli chcesz zwiększyć swój dzienny limit, skontaktuj się z nami za pośrednictwem <2>czatu na żywo.", + "847028402": "Check your email", "858027714": "Widziany {{ duration }} minut temu", "873437248": "Instrukcje (opcjonalnie)", "876086855": "Wypełnij formularz oceny finansowej", @@ -142,7 +143,6 @@ "1480915523": "Pomiń", "1497156292": "Brak reklam dla tej waluty 😞", "1505293001": "Partnerzy handlowi", - "1529843851": "Link weryfikacyjny wygasa za 10 minut", "1568512719": "Twoje dzienne limity zostały zwiększone do {{daily_buy_limit}} {{currency}} (kup) i {{daily_sell_limit}} {{currency}} (sprzedaj).", "1583335572": "Jeśli ogłoszenie nie otrzyma zlecenia przez {{adverts_archive_period}} dni, zostanie dezaktywowane.", "1587250288": "ID reklamy {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "Ta metoda płatności nie może zostać usunięta", "-1088454544": "Pobierz nowy link", "-2124584325": "Zweryfikowaliśmy Twoje zamówienie", - "-822728942": "Wysłaliśmy Ci wiadomość e-mail na adres {{user_email_address}}.<0 /> Kliknij link weryfikacyjny w e-mailu, aby zweryfikować zamówienie.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "Wiadomość e-mail trafiła do folderu spam (czasami wiadomości się tam gubią).", "-227512949": "Sprawdź pisownię lub użyj innego pojęcia.", "-1554938377": "Szukaj metody płatności", diff --git a/packages/p2p/src/translations/pt.json b/packages/p2p/src/translations/pt.json index b482b352077d..5a044dded267 100644 --- a/packages/p2p/src/translations/pt.json +++ b/packages/p2p/src/translations/pt.json @@ -72,6 +72,7 @@ "838024160": "Detalhes bancários", "842911528": "Não mostre esta mensagem novamente.", "846659545": "O seu anúncio não está listado em <0>Compra/Venda porque o valor excede o seu limite diário de {{limit}} {{currency}}.\n <1 /><1 /> Você ainda pode visualizar seu anúncio em <0>Meus anúncios. Caso deseje aumentar o seu limite diário, entre em contato conosco através do <2>Live Chat.", + "847028402": "Check your email", "858027714": "Visto há {{ duration }} minutos", "873437248": "Instruções (opcional)", "876086855": "Preencha o formulário de Avaliação Financeira", @@ -142,7 +143,6 @@ "1480915523": "Pular", "1497156292": "Não há anúncios para essa moeda 😞", "1505293001": "Parceiros de negociação", - "1529843851": "O link de verificação expira em 10 minutos", "1568512719": "Seus limites diários foram aumentados para {{daily_buy_limit}} {{currency}} (compra) e {{daily_sell_limit}} {{currency}} (venda).", "1583335572": "Se o anúncio não receber um pedido por {{adverts_archive_period}} dias, ele será desativado.", "1587250288": "ID do anúncio {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "Esse método de pagamento não pode ser excluído", "-1088454544": "Obter novo link", "-2124584325": "Verificamos seu pedido", - "-822728942": "Enviamos um e-mail para {{user_email_address}}.<0 /> Clique no link de verificação no e-mail para verificar o seu pedido.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "O email está na sua pasta de spam (às vezes as mensagens se perdem por lá).", "-227512949": "Verifique a ortografia ou use um termo diferente.", "-1554938377": "Pesquisar método de pagamento", diff --git a/packages/p2p/src/translations/ru.json b/packages/p2p/src/translations/ru.json index f3c919a4fd5e..bbb4034dc50e 100644 --- a/packages/p2p/src/translations/ru.json +++ b/packages/p2p/src/translations/ru.json @@ -72,6 +72,7 @@ "838024160": "Банковские реквизиты", "842911528": "Больше не показывать это сообщение.", "846659545": "Вашего объявления нет в списке <0>покупка/продажа, так как сумма превышает дневной лимит {{limit}} {{currency}}.\n <1 /><1 />Вы можете найти объявление в разделе <0>мои объявления. Свяжитесь с нами через <2>чат, если хотите увеличить дневной лимит.", + "847028402": "Check your email", "858027714": "Просмотрено: {{ duration }}мин.", "873437248": "Инструкции (необязательно)", "876086855": "Заполните форму финансовой оценки", @@ -142,7 +143,6 @@ "1480915523": "Пропустить", "1497156292": "Нет объявлений для этой валюты 😞", "1505293001": "Партнеры", - "1529843851": "Ссылка для подтверждения действует 10 минут", "1568512719": "Ваши дневные лимиты увеличены до {{daily_buy_limit}} {{currency}} (покупка) и {{daily_sell_limit}} {{currency}} (продажа).", "1583335572": "Если ваше объявление не получит ордер в течение {{adverts_archive_period}} дн., оно будет деактивировано.", "1587250288": "ID объявления {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "Этот платежный метод нельзя удалить", "-1088454544": "Получить новую ссылку", "-2124584325": "Мы подтвердили ваш ордер", - "-822728942": "Мы отправили письмо на {{user_email_address}}.<0 />Нажмите на ссылку в письме, чтобы подтвердить ордер.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "Письмо попало в папку со спамом.", "-227512949": "Проверьте орфографию или используйте другой термин.", "-1554938377": "Поиск платежного метода", diff --git a/packages/p2p/src/translations/si.json b/packages/p2p/src/translations/si.json index c0e8b518c751..df5c9687e149 100644 --- a/packages/p2p/src/translations/si.json +++ b/packages/p2p/src/translations/si.json @@ -72,6 +72,7 @@ "838024160": "බැංකු විස්තර", "842911528": "මෙම පණිවිඩය නැවත පෙන්වන්න එපා.", "846659545": "ඔබේ දැන්වීම <0>Buy/Sell හි ලැයිස්තුගත කර නොමැත, මන්ද එම ප්රමාණය ඔබේ දෛනික සීමාව {{limit}} {{currency}}ඉක්මවා යයි.\n <0>මගේ දැන්වීම් වල ඔබේ දැන්වීම<1 /><1 /> ඔබට තවමත් දැක ගත හැකිය. ඔබගේ දෛනික සීමාව වැඩි කිරීමට ඔබ කැමති නම්, කරුණාකර <2>සජීවී කතාබස් හරහා අප හා සම්බන්ධ වන්න.", + "847028402": "Check your email", "858027714": "මිනිත්තු {{ duration }} කට පෙර දැක ඇත", "873437248": "උපදෙස් (විකල්ප)", "876086855": "මූල්ය තක්සේරු ආකෘතිය සම්පූර්ණ කරන්න", @@ -142,7 +143,6 @@ "1480915523": "මඟ හරින්න", "1497156292": "මෙම මුදල් සඳහා දැන්වීම් නොමැත 😞", "1505293001": "වෙළඳ හවුල්කරුවන්", - "1529843851": "සත්යාපන සබැඳිය මිනිත්තු 10 කින් කල් ඉකුත් වේ", "1568512719": "ඔබගේ දෛනික සීමාවන් {{daily_buy_limit}} {{currency}} (මිලදී ගැනීම) සහ {{daily_sell_limit}} {{currency}} (විකිණීම) දක්වා වැඩි කර ඇත.", "1583335572": "දැන්වීමට දින {{adverts_archive_period}} ක් සඳහා ඇණවුමක් නොලැබුනේ නම්, එය අක්රිය වේ.", "1587250288": "දැන්වීම දැන්වීම දැන්වීම {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "එම ගෙවීම් ක්රමය මකා දැමිය නොහැක", "-1088454544": "නව සබැඳියක් ලබා ගන්න", "-2124584325": "අපි ඔබගේ ඇණවුම සත්යාපනය කර ඇත්තෙමු", - "-822728942": "අපි ඔබට {{user_email_address}}හි විද්යුත් තැපෑලක් යවා ඇත.<0 /> කරුණාකර ඔබගේ ඇණවුම සත්යාපනය කිරීමට විද්යුත් තැපෑලෙහි සත්යාපන සබැඳිය ක්ලික් කරන්න.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "විද්යුත් තැපෑල ඔබගේ ස්පෑම් ෆෝල්ඩරයේ ඇත (සමහර විට දේවල් එහි නැති වී යයි).", "-227512949": "ඔබේ අක්ෂර වින්යාසය පරීක්ෂා කරන්න හෝ වෙනත් යෙදුමක් භාවිතා කරන්න.", "-1554938377": "ගෙවීම් ක්රමය සොයන්න", diff --git a/packages/p2p/src/translations/th.json b/packages/p2p/src/translations/th.json index 67354b0860ca..b539f3295ae3 100644 --- a/packages/p2p/src/translations/th.json +++ b/packages/p2p/src/translations/th.json @@ -72,6 +72,7 @@ "838024160": "รายละเอียดข้อมูลธนาคาร", "842911528": "อย่าแสดงข้อความนี้อีก", "846659545": "โฆษณาของคุณไม่แสดงในลิสต์รายการ <0>ซื้อ/ขาย เนื่องจากจำนวนได้เกินขีดจำกัดรายวันของคุณที่ {{limit}} {{currency}} แล้ว\n <1 /><1 /> คุณยังคงสามารถเห็นโฆษณาของคุณบน <0>โฆษณาของฉัน ได้อยู่ และหากว่าคุณต้องการเพิ่มขีดจำกัดรายวันของคุณ โปรดติดต่อเราผ่านทาง <2>แชทสด", + "847028402": "Check your email", "858027714": "เห็นเมื่อ {{ duration }} นาทีก่อน", "873437248": "รายละเอียดคำแนะนำ (เพิ่มเติม)", "876086855": "โปรดกรอกแบบฟอร์มการประเมินทางการเงินให้สมบรูณ์", @@ -142,7 +143,6 @@ "1480915523": "ข้าม", "1497156292": "ไม่มีโฆษณาสำหรับสกุลเงินนี้ 😞", "1505293001": "คู่ค้า", - "1529843851": "ลิงก์ยืนยันจะหมดอายุภายในเวลา 10 นาที", "1568512719": "วงเงินรายวันของคุณได้เพิ่มขึ้นเป็น {{daily_buy_limit}} {{currency}} (ซื้อ) และ {{daily_sell_limit}} {{currency}} (ขาย) แล้ว", "1583335572": "ถ้าโฆษณาไม่ได้รับคําสั่งซื้อเลยในช่วง {{adverts_archive_period}} วัน โฆษณานั้นจะถูกปิดใช้งาน", "1587250288": "หมายเลขโฆษณา {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "วิธีการชำระเงินดังกล่าวไม่สามารถลบได้", "-1088454544": "รับลิงก์อันใหม่", "-2124584325": "เราได้ตรวจสอบยืนยันคำสั่งซื้อของคุณแล้ว", - "-822728942": "เราได้ส่งอีเมล์ไปให้คุณที่ {{user_email_address}} <0 />กรุณาคลิกลิงก์ยืนยันในอีเมล์นั้นเพื่อยืนยันคำสั่งซื้อของคุณ", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "อีเมล์นั้นไปอยู่ในกล่องจดหมายขยะ (บางครั้งบางอย่างก็หลงเข้าไปในนั้นได้)", "-227512949": "ตรวจสอบการสะกดคำหรือใช้คำอื่น", "-1554938377": "ค้นหาวิธีการชําระเงิน", diff --git a/packages/p2p/src/translations/tr.json b/packages/p2p/src/translations/tr.json index b1880384bef0..1af22d2e072b 100644 --- a/packages/p2p/src/translations/tr.json +++ b/packages/p2p/src/translations/tr.json @@ -72,6 +72,7 @@ "838024160": "Banka bilgileri", "842911528": "Bu mesajı bir daha gösterme.", "846659545": "Tutar günlük sınırınızı aştığı için reklamınız <0>Al/Sat bölümünde listelenmiyor {{limit}} {{currency}}.\n <1 /><1 /> Reklamınızı yine de <0>Reklamlarım'da görebilirsiniz. Günlük limitinizi artırmak isterseniz, lütfen <2>canlı sohbet yoluyla bizimle iletişime geçin.", + "847028402": "Check your email", "858027714": "Seen {{ duration }} dakika önce", "873437248": "Talimatlar (isteğe bağlı)", "876086855": "Finansal değerlendirme formunu doldurun", @@ -142,7 +143,6 @@ "1480915523": "Atla", "1497156292": "Bu para birimi için ilan yok 😞", "1505293001": "Ticaret ortakları", - "1529843851": "Doğrulama bağlantısının süresi 10 dakika içinde sona eriyor", "1568512719": "Günlük limitleriniz {{daily_buy_limit}} 'e yükseltildi {{currency}} (satın al) ve {{daily_sell_limit}} {{currency}} (sat).", "1583335572": "Eğer ilan {{adverts_archive_period}} gün boyunca bir emir almazsa devre dışı bırakılır.", "1587250288": "İlan Kimliği {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "Bu ödeme yöntemi silinemez", "-1088454544": "Yeni bağlantı alın", "-2124584325": "Siparişinizi doğruladık", - "-822728942": "Size {{user_email_address}}adresinden bir e-posta gönderdik. Siparişinizi doğrulamak için<0 /> lütfen e-postadaki doğrulama bağlantısını tıklayın.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "E-posta spam klasörünüzdedir (bazen birşeyler orada kayboluyor).", "-227512949": "Yazımınızı denetleyin veya farklı bir terim kullanın.", "-1554938377": "Ödeme yöntemi ara", diff --git a/packages/p2p/src/translations/vi.json b/packages/p2p/src/translations/vi.json index 36c613747b22..4e0d8b376650 100644 --- a/packages/p2p/src/translations/vi.json +++ b/packages/p2p/src/translations/vi.json @@ -72,6 +72,7 @@ "838024160": "Thông tin ngân hàng", "842911528": "Không hiển thị lại tin nhắn này.", "846659545": "Quảng cáo của bạn không được hiển thị trên <0>Mua/Bán vì số tiền đã vượt quá giới hạn {{limit}} {{currency}} mỗi ngày của bạn.\n <1/><1 />Bạn vẫn có thể thấy quảng cáo của mình trên <0>Quảng cáo của tôi. Nếu bạn muốn tăng giới hạn hàng ngày của mình, vui lòng liên hệ với chúng tôi qua <2>live chat.", + "847028402": "Check your email", "858027714": "Đã xem cách đây {{ duration }} phút", "873437248": "Hướng dẫn (không bắt buộc)", "876086855": "Hoàn thành mẫu đơn đánh giá tài chính", @@ -142,7 +143,6 @@ "1480915523": "Bỏ qua", "1497156292": "Không có quảng cáo cho loại tiền tệ này 😞", "1505293001": "Đối tác giao dịch", - "1529843851": "Link xác thực sẽ hết hạn trong 10 phút", "1568512719": "Giới hạn hàng ngày của bạn đã được tăng lên {{daily_buy_limit}} {{currency}} (mua) và {{daily_sell_limit}} {{currency}} (bán).", "1583335572": "Nếu quảng cáo không nhận được yêu cầu giao dịch trong {{adverts_archive_period}} ngày, quảng cáo sẽ bị vô hiệu hóa.", "1587250288": "ID Quảng cáo {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "Phương thức thanh toán đó không thể bị xóa", "-1088454544": "Nhận link mới", "-2124584325": "Chúng tôi đã xác minh giao dịch của bạn", - "-822728942": "Chúng tôi đã gửi email tới địa chỉ {{user_email_address}}.<0 />Vui lòng nhấp vào link xác thực trong email để xác nhận giao dịch của bạn.", + "-848068683": "Hit the link in the email we sent you to authorise this transaction.", + "-1238182882": "The link will expire in 10 minutes.", "-142727028": "Email có thể đã bị chuyển vào hòm thư spam (đôi lúc email sẽ bị thất lạc trong đó).", "-227512949": "Kiểm tra lại chính tả hoặc sử dụng một cụm từ khác.", "-1554938377": "Tìm phương thức thanh toán", diff --git a/packages/p2p/src/translations/zh_cn.json b/packages/p2p/src/translations/zh_cn.json index 2544434163ef..1e7ff60b8842 100644 --- a/packages/p2p/src/translations/zh_cn.json +++ b/packages/p2p/src/translations/zh_cn.json @@ -72,6 +72,7 @@ "838024160": "银行详细信息", "842911528": "别再显示此消息。", "846659545": "您的广告未在<0>买入/卖出列出,因为金额已超出了每日限额{{limit}} {{currency}}。\n <1 /><1 />您仍然可在<0>我的广告看到广告。如要增加每日限额,请通过<2>实时聊天与我们联系。", + "847028402": "查看电子邮件", "858027714": "{{ duration }} 分钟前上线", "873437248": "说明(可选)", "876086855": "完成财务评估表", @@ -142,7 +143,6 @@ "1480915523": "跳过", "1497156292": "此货币暂无广告😞", "1505293001": "交易伙伴", - "1529843851": "验证链接将于 10 分钟后过期", "1568512719": "已将每日限额提高到 {{daily_buy_limit}}{{currency}} {{currency}}(买入)和 {{daily_sell_limit}} {{currency}}(卖出)。", "1583335572": "如广告连续 {{adverts_archive_period}} 天没收到订单将被停用。", "1587250288": "广告 ID {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "该付款方式无法删除", "-1088454544": "获取新链接", "-2124584325": "已经验证了订单", - "-822728942": "已经发送了电子邮件至 {{user_email_address}}。<0 />请点击邮件中的验证链接以验证订单。", + "-848068683": "点击发送给您的电子邮件中的链接以授权此交易。", + "-1238182882": "验证链接将于 10 分钟后过期.", "-142727028": "邮件在垃圾邮箱里(有时一些邮件会误送到那儿)。", "-227512949": "检查拼写或使用其他术语.", "-1554938377": "搜索付款方式", diff --git a/packages/p2p/src/translations/zh_tw.json b/packages/p2p/src/translations/zh_tw.json index 9f53f6cc275b..916693cadc0a 100644 --- a/packages/p2p/src/translations/zh_tw.json +++ b/packages/p2p/src/translations/zh_tw.json @@ -72,6 +72,7 @@ "838024160": "銀行詳細資料", "842911528": "別再顯示此消息。", "846659545": "您的廣告未在<0>買入/賣出清單内,因爲金額已超出了每日限額{{limit}} {{currency}}。\n <1 /><1 />您仍然可在<0>我的廣告看到廣告。如要增加每日限額,請透過<2>即時聊天與我們聯繫。", + "847028402": "查看您的電子郵件", "858027714": "{{ duration }} 分鐘前上缐", "873437248": "說明(可選)", "876086855": "完成財務評估表", @@ -142,7 +143,6 @@ "1480915523": "略過", "1497156292": "此貨幣沒有廣告😞", "1505293001": "交易夥伴", - "1529843851": "驗證連結將於 10 分鐘後過期", "1568512719": "已將每日限額提高為 {{daily_buy_limit}} {{currency}}(買入)和 {{daily_sell_limit}} {{currency}}(賣出)。", "1583335572": "如廣告連續 {{adverts_archive_period}} 天沒接到訂單將被停用。", "1587250288": "廣告 ID {{advert_id}} ", @@ -292,7 +292,8 @@ "-1422779483": "無法刪除該付款方式", "-1088454544": "取得新連結", "-2124584325": "已驗證您的訂單", - "-822728942": "已經傳送了電子郵件至 {{user_email_address}}。<0 />請點選郵件中的驗證連結以驗證訂單。", + "-848068683": "點選傳送給您的電子郵件中的連結以授權此交易。", + "-1238182882": "連結將於 10 分鐘後過期.", "-142727028": "郵件在垃圾郵箱裡(有時一些郵件會誤送到那兒)。", "-227512949": "檢查拼寫或使用其他字詞.", "-1554938377": "搜尋支付方式", diff --git a/packages/translations/crowdin/messages.json b/packages/translations/crowdin/messages.json index db785a4c0e42..0b75bf8206e0 100644 --- a/packages/translations/crowdin/messages.json +++ b/packages/translations/crowdin/messages.json @@ -1 +1 @@ -{"0":"","1014140":"You may also call <0>+447723580049 to place your complaint.","1485191":"1:1000","2091451":"Deriv Bot - your automated trading partner","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","3420069":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your identity document.","7100308":"Hour must be between 0 and 23.","9488203":"Deriv Bot is a web-based strategy builder for trading digital options. It’s a platform where you can build your own automated trading bot using drag-and-drop 'blocks'.","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","30801950":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Gaming Authority, and will be subject to the laws of Malta.","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","44877997":"Residence permit","45453595":"Binary Coin","45941470":"Where would you like to start?","46523711":"Your proof of identity is verified","49963458":"Choose an option","50200731":"FX majors (standard/micro lots), FX minors, basket indices, commodities, and cryptocurrencies","53801223":"Hong Kong 50","53964766":"5. Hit Save to download your bot. You can choose to download your bot to your device or your Google Drive.","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","56764670":"Deriv Bot will not proceed with any new trades. Any ongoing trades will be completed by our system. Any unsaved changes will be lost.<0>Note: Please check your statement to view completed transactions.","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","67923436":"No, Deriv Bot will stop running when your web browser is closed.","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","77945356":"Trade on the go with our mobile app.","77982950":"Vanilla options allow you to predict an upward (bullish) or downward (bearish) direction of the underlying asset by purchasing a \"Call\" or a \"Put\".","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","84402478":"Where do I find the blocks I need?","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","89062902":"Trade on MT5","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","93154671":"1. Hit Reset at the bottom of stats panel.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117318539":"Password should have lower and uppercase English letters with numbers.","118586231":"Document number (identity card, passport)","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125443840":"6. Restart last trade on error","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","133655768":"Note: If you wish to learn more about the Bot Builder, you can proceed to the <0>Tutorials tab.","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145146541":"Our accounts and services are unavailable for the Jersey postal code","145736466":"Take a selfie","150486954":"Token name","151344063":"The exit spot is the market price when the contract is closed.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","154545319":"Country of residence is where you currently live.","157593038":"random integer from {{ start_number }} to {{ end_number }}","158373715":"Exit tour","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","162080773":"For Put","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176078831":"Added","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","179737767":"Our legacy options trading platform.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","190834737":"Guide","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195972178":"Get character","196810983":"If the duration is more than 24 hours, the Cut-off time and Expiry date will apply instead.","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","203297887":"The Quick Strategy you just created will be loaded to the workspace.","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","220232017":"demo CFDs","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","224929714":"Virtual events based bets in the UK and the Isle of Man are offered by {{legal_entity_name}}, Millennium House, Level 1, Victoria Road, Douglas IM2 4RW, Isle of Man, licensed and regulated in Great Britain by the Gambling Commission under <0>account no. 39172 and by the Gambling Supervision Commission in the Isle of Man (<1>view licence).","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228079844":"Click here to upload","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","229355215":"Trade on {{platform_name_dbot}}","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","243537306":"1. Under the Blocks menu, go to Utility > Variables.","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","247418415":"Gaming trading can become a real addiction, as can any other activity pushed to its limits. To avoid the danger of such an addiction, we provide a reality-check that gives you a summary of your trades and accounts on a regular basis.","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251322536":"Deriv EZ accounts","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","261074187":"4. Once the blocks are loaded onto the workspace, tweak the parameters if you want, or hit Run to start trading.","261250441":"Drag the <0>Trade again block and add it into the <0>do part of the <0>Repeat until block.","262095250":"If you select <0>\"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","272042258":"When you set your limits, they will be aggregated across all your account types in {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. For example, the losses made on all four platforms will add up and be counted towards the loss limit you set.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","283986166":"Self-exclusion on the website only applies to your {{brand_website_name}} account and does not include other companies or websites.","284527272":"antimode","284772879":"Contract","284809500":"Financial Demo","287934290":"Are you sure you want to cancel this transaction?","289898640":"TERMS OF USE","291744889":"<0>1. Trade parameters:<0>","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292491635":"If you select “Stop loss” and specify an amount to limit your loss, your position will be closed automatically when your loss is more than or equals to this amount. Your loss may be more than the amount you entered depending on the market price at closing.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","294305803":"Manage account settings","294335229":"Sell at market price","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","301472132":"Hi! Hit <0>Start for a quick tour to help you get started.","303959005":"Sell Price:","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313298169":"Our cashier is temporarily down due to system maintenance. You can access the Cashier in a few minutes when the maintenance is complete.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329353047":"Malta Financial Services Authority (MFSA) (licence no. IS/70156)","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","333121115":"Select Deriv MT5's account type","333456603":"Withdrawal limits","333807745":"Click on the block you want to remove and press Delete on your keyboard.","334680754":"Switch to your real account to create a Deriv MT5 account","334942497":"Buy time","335040248":"About us","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","345818851":"Sorry, an internal error occurred. Hit the above checkbox to try again.","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","360773403":"Bot Builder","362772494":"This should not exceed {{max}} characters.","362946954":"Our legacy automated trading platform.","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","369035361":"<0>•Your account number","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","386191140":"You can choose between CFD trading accounts or Options and Multipliers accounts","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390647540":"Real account","390890891":"Last quarter","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","396801529":"To start trading, top-up funds from your Deriv account into this account.","396961806":"We do not support Polygon (Matic), to deposit please use only Ethereum ({{token}}).","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","402343402":"Due to an issue on our server, some of your {{platform}} accounts are unavailable at the moment. Please bear with us and thank you for your patience.","403456289":"The formula for SMA is:","404743411":"Total deposits","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","417714706":"If your margin level drops below our stop out level, your positions may be closed automatically to protect you from further losses.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","419496000":"Your contract is closed automatically when your profit is more than or equals to this amount. This block can only be used with the multipliers trade type.","419736603":"If yes, go to <0>Tutorials.","420072489":"CFD trading frequency","422055502":"From","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","428709688":"Your preferred time interval between each report:","430975601":"Town/City is not in a proper format.","432273174":"1:100","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","439398769":"This strategy is currently not compatible with Deriv Bot.","442520703":"$250,001 - $500,000","443203714":"Your contract will be closed automatically if your loss reaches this amount.","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","453409608":"Your profit is the percentage change in market price times your stake and the multiplier of your choice.","454196938":"Regulation:","454593402":"2. Please upload one of the following:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460070238":"Congratulations","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466369320":"Your gross profit is the percentage change in market price times your stake and the multiplier chosen here.","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","473154195":"Settings","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483551811":"Your <0>payout is the sum of your inital stake and profit.","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498144457":"A recent utility bill (e.g. electricity, water or gas)","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502007051":"Demo Swap-Free SVG","502041595":"This block gives you a specific candle from within the selected time interval.","503137339":"Payout limit","505793554":"last letter","508390614":"Demo Financial STP","510815408":"Letters, numbers, spaces, hyphens only","511679687":"Accumulators allow you to express a view on the range of movement of an index and grow your stake exponentially at a fixed <0>growth rate.","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","518955798":"7. Run Once at Start","520136698":"Boom 500 Index","521872670":"item","522283618":"Digital options trading experience","522703281":"divisible by","523123321":"- 10 to the power of a given number","524459540":"How do I create variables?","527329988":"This is a top-100 common password","529056539":"Options","529597350":"If you had any open positions, we have closed them and refunded you.","530953413":"Authorised applications","531114081":"3. Contract Type","531675669":"Euro","535041346":"Max. total stake per day","538017420":"0.5 pips","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","543915570":"Forex, stocks, stock indices, cryptocurrencies, synthetic indices","545476424":"Total withdrawals","549479175":"Deriv Multipliers","550589723":"Your stake will grow at {{growth_rate}}% per tick as long as the current spot price remains within ±{{tick_size_barrier}} from the previous spot price.","551569133":"Learn more about trading limits","554135844":"Edit","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","556264438":"Time interval","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","592087722":"Employment status is required.","593459109":"Try a different currency","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","603849863":"Look for the <0>Repeat While/Until, and click the + icon to add the block to the workspace area.","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","611786123":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies, Stocks, and Stock Indices","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","629395043":"All growth rates","632398049":"This block assigns a null value to an item or statement.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","639382772":"Please upload supported file type.","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","642995056":"Email","644150241":"The number of contracts you have won since you last cleared your stats.","645016681":"Trading frequency in other financial instruments","645902266":"EUR/NZD","647039329":"Proof of address required","647192851":"Contract will be sold at the prevailing market price when the request is received by our servers. This price may differ from the indicated price.","647745382":"Input List {{ input_list }}","648035589":"Other CFD Platforms","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","651284052":"Low Tick","651684094":"Notify","652041791":"To create a Deriv X real account, create a Deriv real account first.","652298946":"Date of birth","654264404":"Up to 1:30","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","656296740":"While “Deal cancellation” is active:","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662548260":"Forex, Stock indices, Commodities and Cryptocurrencies","662578726":"Available","662609119":"Download the MT5 app","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","680334348":"This block was required to correctly convert your old strategy.","680478881":"Total withdrawal limit","681808253":"Previous spot price","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","684282133":"Trading instruments","685391401":"If you're having trouble signing in, let us know via <0>chat","686312916":"Trading accounts","686387939":"How do I clear my transaction log?","687193018":"Slippage risk","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","693396140":"Deal cancellation (expired)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","699159918":"1. Filing complaints","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","705299518":"Next, upload the page of your passport that contains your photo.","706413212":"To access the cashier, you are now in your {{regulation}} {{currency}} ({{loginid}}) account.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","706960383":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 60 seconds.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724203548":"You can send your complaint to the <0>European Commission's Online Dispute Resolution (ODR) platform. This is not applicable to UK clients.","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","734390964":"Insufficient balance","734881840":"false","742469109":"Reset Balance","742676532":"Trade CFDs on forex, derived indices, cryptocurrencies, and commodities with high leverage.","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","750886728":"Switch to your real account to submit your documents","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755867072":"{{platform_name_mt5}} is not available in {{country}}","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","759783233":"For more information and assistance to counselling and support services, please visit <0>begambleaware.org.","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762185380":"<0>Multiply returns by <0>risking only what you put in.","762871622":"{{remaining_time}}s","762926186":"A quick strategy is a ready-made strategy that you can use in Deriv Bot. There are 3 quick strategies you can choose from: Martingale, D'Alembert, and Oscar's Grind.","763019867":"Your Gaming account is scheduled to be closed","764366329":"Trading limits","764540515":"Stopping the bot is risky","766317539":"Language","770171141":"Go to {{hostname}}","772632060":"Do not send any other currency to the following address. Otherwise, you'll lose funds.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","775706054":"Do you sell trading bots?","776085955":"Strategies","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787727156":"Barrier","788005234":"NA","792164271":"This is when your contract will expire based on the Duration or End time you’ve selected.","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","793826881":"This is your personal start page for Deriv","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","811876954":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, and {{platform_name_dxtrade}} accounts.","812430133":"Spot price on the previous tick.","814827314":"The stop-out level on the chart indicates the price at which your potential loss equals your entire stake. When the market price reaches this level, your position will be closed automatically. This ensures that your loss does not exceed the amount you paid to purchase the contract.","815925952":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open Deriv Bot.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","822915673":"Earn a range of payouts by correctly predicting market price movements with <0>options, or get the upside of CFDs without risking more than your initial stake with <1>multipliers.","823186089":"A block that can contain text.","824797920":"Is list empty?","825042307":"Let’s try again","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830993327":"No current transactions available","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832588873":"Order execution","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835058671":"Total buy price","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839618971":"ADDRESS","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845213721":"Logout","845304111":"Slow EMA Period {{ input_number }}","847888634":"Please withdraw all your funds.","848083350":"Your payout is equal to the <0>payout per point multiplied by the difference between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852527030":"Step 2","852583045":"Tick List String","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","860319618":"Tourism","862283602":"Phone number*","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869823595":"Function","869993298":"Minimum withdrawal","872549975":"You have {{number}} transfers remaining for today.","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872721776":"2. Select your XML file and hit Select.","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","874461655":"Scan the QR code with your phone","874484887":"Take profit must be a positive number.","875101277":"If I close my web browser, will Deriv Bot continue to run?","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","879647892":"You may sell the contract up until 60 seconds before expiry. If you do, we’ll pay you the <0>contract value.","881000060":"{{transaction_type_display_text}} {{currency}}","885065431":"Get a Deriv account","888274063":"Town/City","888924866":"We don’t accept the following inputs for:","890299833":"Go to Reports","891337947":"Select country","892341141":"Your trading statistics since: {{date_time}}","893117915":"Variable","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","898457777":"You have added a Deriv Financial account.","900646972":"page.","901096150":"Earn a range of payouts by correctly predicting market price movements with <0>options, or get the\n upside of CFDs without risking more than your initial stake with <1>multipliers.","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905134118":"Payout:","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","907680782":"Proof of ownership verification failed","910888293":"Too many attempts","912406629":"Follow these steps:","912967164":"Import from your computer","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921901739":"- your account details of the bank linked to your account","924046954":"Upload a document showing your name and bank account number or account details.","926813068":"Fixed/Variable","929608744":"You are unable to make withdrawals","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","934835052":"Potential profit","934932936":"PERSONAL","936766426":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938988777":"High barrier","943535887":"Please close your positions in the following Deriv MT5 account(s):","944499219":"Max. open positions","945532698":"Contract sold","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","946944859":"Hit the button below and we'll send you an email with a link. Click that link to verify your withdrawal request.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948545552":"150+","949859957":"Submit","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","955352264":"Trade on {{platform_name_dxtrade}}","956448295":"Cut-off image detected","957182756":"Trigonometric functions","957956227":"Congratulations, you have successfully created your {{category}} {{deriv_keyword}} <0>{{platform}} <1>{{type}} account.","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961178214":"You can only purchase one contract at a time","961266215":"140+","961327418":"My computer","961692401":"Bot","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","983451828":"2. Select the asset and trade type.","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988064913":"4. Come back to Deriv Bot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","990739582":"170+","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","999008199":"text","1001160515":"Sell","1001749987":"You’ll get a warning, named margin call, if your account balance drops down close to the stop out level.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006458411":"Errors","1006664890":"Silent","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021679446":"Multipliers only","1022934784":"1 minute","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1025887996":"Negative Balance Protection","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1027098103":"Leverage gives you the ability to trade a larger position using your existing capital. Leverage varies across different symbols.","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1035506236":"Choose a new password","1035893169":"Delete","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039755542":"Use a few words, avoid common phrases","1040053469":"For Call","1040472990":"1. Go to Bot Builder.","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043483281":"Click Run when you want to start trading, and click Stop when you want to stop.","1043790274":"There was an error","1044230481":"This is an Ethereum ({{token}}) only address, please do not use {{prohibited_token}}.","1044540155":"100+","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052137359":"Family name*","1052779010":"You are on your demo account","1053153674":"Jump 50 Index","1053159279":"Level of education","1053556481":"Once you submit your complaint, we will send you an acknowledgement email to confirm that we have received it.","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057749183":"Two-factor authentication (2FA)","1057765448":"Stop out level","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1058804653":"Expiry","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1062536855":"Equals","1065353420":"110+","1065498209":"Iterate (1)","1066235879":"Transferring funds will require you to create a second account.","1066459293":"4.3. Acknowledging your complaint","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1069576070":"Purchase lock","1070624871":"Check proof of address document verification status","1073261747":"Verifications","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078221772":"Leverage prevents you from opening large positions.","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1086118495":"Traders Hub","1087112394":"You must select the strike price before entering the contract.","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1089436811":"Tutorials","1089687322":"Stop your current bot?","1095295626":"<0>•The Arbiter for Financial Services will determine whether the complaint can be accepted and is in accordance with the law.","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1099892929":"Save bot","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1114679006":"You have successfully created your bot using a simple strategy.","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127149819":"Make sure§","1127224297":"Sorry for the interruption","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130744117":"We shall try to resolve your complaint within 10 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1138126442":"Forex: standard","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1147625645":"Please proceed to withdraw all your funds from your account before <0>30 November 2021.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163771266":"The third block is <0>optional. You may use this block if you want to sell your contract before it expires. For now, leave the block as it is. ","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1171765024":"Step 3","1173770679":"- currentPL: Use this variable to store the cumulative profit or loss while your bot is running. Set the initial value to 0.","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174748431":"Payment channel","1175183064":"Vanuatu","1176926166":"Experience with trading other financial instruments","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1180619731":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1184968647":"Close your contract now or keep it running. If you decide to keep it running, you can check and close it later on the ","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189249001":"4.1. What is considered a complaint?","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1191644656":"Predict the market direction and select either “Up” or “Down” to open a position. We will charge a commission when you open a position.","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196683606":"Deriv MT5 CFDs demo account","1197326289":"You are no longer able to trade digital options on any of our platforms. Also, you can’t make deposits into your Options account.","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1206227936":"How to mask your card?","1206821331":"Armed Forces","1207152000":"Choose a template and set your trade parameters.","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225150022":"Number of assets","1227074958":"random fraction","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1235426525":"50%","1237330017":"Pensioner","1238311538":"Admin","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1240688917":"Glossary","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1242288838":"Hit the checkbox above to choose your document.","1242994921":"Click here to start building your Deriv Bot.","1243064300":"Local","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250495155":"Token copied!","1252669321":"Import from your Google Drive","1254565203":"set {{ variable }} to create list with","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1263387702":"All {{count}} account types use market execution. This means you agree with the broker's price in advance and will place orders at the broker's price.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265704976":"","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1271461759":"Your contract will be closed automatically if your profit reaches this amount.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274819385":"3. Complaints and Disputes","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289646209":"Margin call","1290525720":"Example: ","1291887623":"Digital options trading frequency","1291997417":"Contracts will expire at exactly 23:59:59 GMT on your selected expiry date.","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1297577226":"Create your bot easily using our drag-and-drop blocks to match your desired trading strategy, or choose from our pre-made Quick Strategies.","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1304788377":"<0/><1/>If your complaint relates to our data processing practices, you can submit a formal complaint to the <2>Information and Data Protection Commissioner (Malta) on their website or make a complaint to any supervisory authority within the European Union.","1304807342":"Compare CFDs demo accounts","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1311799109":"We do not support Binance Smart Chain tokens to deposit, please use only Ethereum ({{token}}).","1313167179":"Please log in","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324110809":"Address information","1324922837":"2. The new variable will appear as a block under Set variable.","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1341840346":"View in Journal","1346204508":"Take profit","1346339408":"Managers","1347071802":"{{minutePast}}m ago","1348009461":"Please close your positions in the following Deriv X account(s):","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1353958640":"You can also use these shortcuts to import or build your bot.","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357129681":"{{num_day}} days {{num_hour}} hours {{num_minute}} minutes","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1359424217":"You have sold this contract at <0 />","1360929368":"Add a Deriv account","1362578283":"High","1363060668":"Your trading statistics since:","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364958515":"Stocks","1366244749":"Limits","1367023655":"To ensure your loss does not exceed your stake, your contract will be closed automatically when your loss equals to <0/>.","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1369709538":"Our terms of use","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1374627690":"Max. account balance","1376329801":"Last 60 days","1378419333":"Ether","1380349261":"Range","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392966771":"Mrs","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400637999":"(All fields are required)","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1410320737":"Go to Deriv MT5 dashboard","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1415006332":"get sub-list from first","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1433468641":"We offer our services in all countries, except for the ones mentioned in our terms and conditions.","1434382099":"Displays a dialog window with a message","1434767075":"Get started on Deriv Bot","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1435380105":"Minimum deposit","1437396005":"Add comment","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454406889":"Choose <0>until as the repeat option.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467534387":"The spot price may change by the time your order reaches our servers. When this happens, your payout maybe affected.","1467661678":"Cryptocurrency trading","1467880277":"3. General queries","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468937050":"Trade on {{platform_name_trader}}","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1471008053":"Deriv Bot isn't quite ready for real accounts","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1480915523":"Skip","1481977420":"Please help us verify your withdrawal request.","1483470662":"Click ‘Open’ to start trading with your account","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488126519":"Your bots","1488548367":"Upload again","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499074768":"Add a real Deriv Multipliers account","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1505927599":"Our servers hit a bump. Let’s refresh to move on.","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1516537408":"You can no longer trade on Deriv or deposit funds into your account.","1516559721":"Please select one file only","1516676261":"Deposit","1516834467":"‘Get’ the accounts you want","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1519891032":"Welcome to Trader's Hub","1520332426":"Net annual income","1524636363":"Authentication failed","1526483456":"2. Enter a name for your variable, and hit Create. New blocks containing your new variable will appear below.","1527251898":"Unsuccessful","1527664853":"Your payout is equal to the payout per point multiplied by the difference between the final price and the strike price.","1527906715":"This block adds the given number to the selected variable.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534569275":"As part of the changes in our markets, we will be closing our UK clients’ accounts.","1534796105":"Gets variable value","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541969455":"Both","1542742708":"Synthetics, Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1548765374":"Verification of document number failed","1549098835":"Total withdrawn","1551172020":"AUD Basket","1552162519":"View onboarding","1552918367":"Send only {{currency}} ({{currency_symbol}}) to this address.","1555345325":"User Guide","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1559220089":"Options and multipliers trading platform.","1560302445":"Copied","1562374116":"Students","1564392937":"When you set your limits or self-exclusion, they will be aggregated across all your account types in {{platform_name_trader}} and {{platform_name_dbot}}. For example, the losses made on both platforms will add up and be counted towards the loss limit you set.","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1567076540":"Only use an address for which you have proof of residence - ","1567586204":"Self-exclusion","1567745852":"Bot name","1569624004":"Dismiss alert","1570484627":"Ticks list","1571303610":"3. Set your trade parameters and hit Create.","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1573533094":"Your document is pending for verification.","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1585859194":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts, and your Deriv fiat and {{platform_name_dxtrade}} accounts.","1587046102":"Documents from that country are not currently supported — try another document type","1589148299":"Start","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1596378630":"You have added a real Gaming account.<0/>Make a deposit now to start trading.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1602894348":"Create a password","1604171868":"Please withdraw all your funds as soon as possible.","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1611306795":"How is my bot doing?","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1613633732":"Interval should be between 10-60 minutes","1615897837":"Signal EMA Period {{ input_number }}","1617455864":"Shortcuts","1618809782":"Maximum withdrawal","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1622944161":"Now, go to the <0>Restart trading conditions block.","1623706874":"Use this block when you want to use multipliers as your trade type.","1628981793":"Can I trade cryptocurrencies on Deriv Bot?","1630372516":"Try our Fiat onramp","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1649239667":"2. Under the Blocks menu, you'll see a list of categories. Blocks are grouped within these categories. Choose the block you want and drag them to the workspace.","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1654365787":"Unknown","1654721858":"Upload anyway","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1675030608":"To create this account first we need you to resubmit your proof of address.","1675289747":"Switched to real account","1677027187":"Forex","1677990284":"My apps","1679743486":"1. Go to Quick strategy and select the strategy you want.","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683522174":"Top-up","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1687173740":"Get more","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1691335819":"To continue trading with us, please confirm who you are.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694331708":"You can switch between CFDs, digital options, and multipliers at any time.","1694517345":"Enter a new email address","1698624570":"2. Hit Ok to confirm.","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709401095":"Trade CFDs on Deriv X with financial markets and our Derived indices.","1709859601":"Exit Spot Time","1710662619":"If you have the app, launch it to start trading.","1711013665":"Anticipated account turnover","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1717023554":"Resubmit documents","1719248689":"EUR/GBP/USD","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728121741":"Transactions.csv","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1732891201":"Sell price","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738094481":"<0>Duration: Ticks 1","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743679873":"If you select <0>\"Call\", you’ll earn a <1>payout if the <1>final price is above the <1>strike price at <1>expiry. Otherwise, you won’t receive a payout.","1743902050":"Complete your financial assessment","1744509610":"Just drag the XML file from your computer onto the workspace, and your bot will be loaded accordingly. Alternatively, you can hit Import in Bot Builder, and choose to import your bot from your computer or from your Google Drive.","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747523625":"Go back","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1749675724":"Deriv charges no commission across all account types.","1750065391":"Login time:","1753183432":"We take all complaints seriously and aim to resolve them as quickly and fairly as possible. If you are unhappy with any aspect of our service, please let us know by submitting a complaint using the guidance below:","1753226544":"remove","1753975551":"Upload passport photo page","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1762746301":"MF4581125","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1767429330":"Add a Derived account","1768293340":"Contract value","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1781393492":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts and your Deriv fiat and {{platform_name_dxtrade}} accounts.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783526986":"How do I build a trading bot?","1783740125":"Upload your selfie","1787135187":"Postal/ZIP code is required","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788515547":"<0/>For more information on submitting a complaint with the Office of the Arbiter for Financial Services, please <1>see their guidance.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1790770969":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies","1791017883":"Check out this <0>user guide.","1791432284":"Search for country","1791971912":"Recent","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801270786":"Ready to automate your trading strategy without writing any code? You’ve come to the right place.","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806017862":"Max. ticks","1806355993":"No commission","1806503050":"Please note that some payment methods might not be available in your country.","1808058682":"Blocks are loaded successfully","1808393236":"Login","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812006199":"Identity verification","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1816126006":"Trade on Deriv MT5 ({{platform_name_dmt5}}), the all-in-one FX and CFD trading platform.","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1831847842":"I confirm that the name and date of birth above match my chosen identity document (see below)","1833481689":"Unlock","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1838639373":"Resources","1839021527":"Please enter a valid account number. Example: CR123456789","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841381387":"Get more wallets","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1842862156":"Welcome to your Deriv X dashboard","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846664364":"{{platform_name_dxtrade}}","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1850663784":"Submit proofs","1851052337":"Place of birth is required.","1851776924":"upper","1854480511":"Cashier is locked","1854874899":"Back to list","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1858251701":"minute","1859308030":"Give feedback","1863053247":"Please upload your identity document.","1863694618":"Trade CFDs on MT5 with forex, stocks, stock indices, commodities, and cryptocurrencies.","1863731653":"To receive your funds, contact the payment agent","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1866836018":"<0/><1/>If your complaint relates to our data processing practices, you can submit a formal complaint to your local supervisory authority.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871377550":"Do you offer pre-built trading bots on Deriv Bot?","1871664426":"Note","1873838570":"Please verify your address","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874756442":"BVI","1875702561":"Load or build your bot","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1877225775":"Your proof of address is verified","1877410120":"What you need to do now","1877832150":"# from end","1878172674":"No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879463662":"A minimum deposit value of {{minimum_deposit}} {{currency}} is required. Otherwise, the funds will be lost and cannot be recovered.","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880875522":"Create \"get %1\"","1881018702":"hour","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887852176":"Site is being updated","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1894667135":"Please verify your proof of address","1898670234":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0> {{opening_date}}.","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906213000":"Our system will finish any Deriv Bot trades that are running, and Deriv Bot will not place any new trades.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907884620":"Add a real Deriv Gaming account","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1917804780":"You will lose access to your Options account when it gets closed, so be sure to withdraw all your funds. (If you have a CFDs account, you can also transfer the funds from your Options account to your CFDs account.)","1918633767":"Second line of address is not in a proper format.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921634159":"A few personal details","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1923431535":"“Stop loss” is deactivated and will only be available when “Deal cancellation” expires.","1924365090":"Maybe later","1924765698":"Place of birth*","1925090823":"Sorry, trading is unavailable in {{clients_country}}.","1928930389":"GBP/NOK","1929309951":"Employment Status","1929379978":"Switch between your demo and real accounts.","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1934450653":"For <0>Contract type, set it to Both.","1939014728":"How do I remove blocks from the workspace?","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1942091675":"Cryptocurrency trading is not available for clients residing in the United Kingdom.","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1952580688":"Submit passport photo page","1955219734":"Town/City*","1957759876":"Upload identity document","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964097111":"USD","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1970060713":"You’ve successfully deleted a bot.","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973564194":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} or {{platform_name_dxtrade}} account.","1973910243":"Manage your accounts","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1974903951":"If you hit Yes, the info you entered will be lost.","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983358602":"This policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","1983387308":"Preview","1983480826":"Sign in","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1986094286":"- maximumLoss: Use this variable to store your maximum loss limit. You can assign any amount you want, but it must be a positive number.","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991055223":"View the market price of your favourite assets.","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1997313835":"Your stake will continue to grow as long as the current spot price remains within a specified <0>range from the <0>previous spot price. Otherwise, you lose your stake and the trade is terminated.","1998199587":"You can also exclude yourself entirely for a specified duration. If, at any time, you decide to trade again, you must then contact our Customer Support to remove this self-exclusion. There will be a 24-hour-cooling-off period before you can resume trading. ","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2004395123":"New trading tools for MT5","2004792696":"If you are a UK resident, to self-exclude from all online gambling companies licensed in Great Britain, go to <0>www.gamstop.co.uk.","2007028410":"market, trade type, contract type","2007092908":"Trade with leverage and low spreads for better returns on successful trades.","2008809853":"Please proceed to withdraw your funds before 30 November 2021.","2009770416":"Address:","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2012110280":"Synthetics, Basket indices and Derived FX","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2021161151":"Watch this video to learn how to build a trading bot on Deriv Bot. Also, check out this blog post on building a trading bot.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027625329":"Simple Moving Average Array (SMAA)","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037481040":"Choose a way to fund your account","2037607934":"The purchase of <0>{{trade_type_name}} contract has been completed successfully for the amount of <0> {{buy_price}} {{currency}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2048110615":"Email address*","2048134463":"File size exceeded.","2049386104":"We need you to submit these in order to get this account:","2050080992":"Tron","2050170533":"Tick list","2051558666":"View transaction history","2053617863":"Please proceed to withdraw all your funds from your account.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059365224":"Yes, you can get started with a pre-built bot using the Quick strategy feature. You’ll find some of the most popular trading strategies here: Martingale, D'Alembert, and Oscar's Grind. Just select the strategy, enter your trade parameters, and your bot will be created for you. You can always tweak the parameters later.","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062299501":"<0>For {{title}}: Your payout will grow by this amount for every point {{trade_type}} your strike price. You will start making a profit when the payout is higher than your stake.","2062912059":"function {{ function_name }} {{ function_params }}","2063655921":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","2063812316":"Text Statement","2063890788":"Cancelled","2065278286":"Spread","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070752475":"Regulatory Information","2071043849":"Browse","2073813664":"CFDs, Options or Multipliers","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2074713563":"4.2. Submission of a complaint","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2084925123":"Use our fiat onramp services to buy and deposit cryptocurrency into your Deriv account.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086742952":"You have added a real Options account.<0/>Make a deposit now to start trading.","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089581483":"Expires on","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2097170986":"About Tether (Omni)","2097365786":"A copy of your identity document (identity card, passport)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2100713124":"account","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104364680":"Please switch to your demo account to run your Deriv Bot.","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2109312805":"The spread is the difference between the buy price and sell price. A variable spread means that the spread is constantly changing, depending on market conditions. A fixed spread remains constant but is subject to alteration, at the Broker's absolute discretion.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2115223095":"Loss","2117073379":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can access the Cashier in a few minutes when the maintenance is complete.","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118315870":"Where do you live?","2119449126":"Example output of the below example will be:","2119710534":"FAQ","2120617758":"Set up your trade","2121227568":"NEO/USD","2122152120":"Assets","2127564856":"Withdrawals are locked","2131963005":"Please withdraw your funds from the following Deriv MT5 account(s):","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2141873796":"Get more info on <0>CFDs, <1>multipliers, and <2>options.","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146698770":"Pro tip: You can also click and drag out the desired block","2146892766":"Binary options trading experience","2147244655":"How do I import my own trading bot into Deriv Bot?","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-1497654315":"Our accounts and services are unavailable for the Jersey postal code.","-755626951":"Complete your address details","-1024240099":"Address","-584911871":"Select wallet currency","-1461267236":"Please choose your currency","-1352330125":"CURRENCY","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-654781670":"Primary","-1717373258":"Secondary","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-739367071":"Employed","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-1232613003":"<0>Verification failed. <1>Why?","-2029508615":"<0>Need verification.<1>Verify now","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-1356204661":"This Tax Identification Number (TIN) is invalid. You may continue with account creation, but to facilitate future payment processes, valid tax information will be required.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-621555159":"Identity information","-204765990":"Terms of use","-231863107":"No","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-1214803297":"Dashboard-only path","-526636259":"Error 404","-1030759620":"Government Officers","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-1437206131":"JPEG JPG PNG PDF GIF","-820458471":"1 - 6 months old","-155705811":"A clear colour photo or scanned image","-587941902":"Issued under your name with your current address","-438669274":"JPEG JPG PNG PDF GIF","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1120954663":"First name*","-1659980292":"First name","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1315571766":"Place of birth","-2040322967":"Citizenship","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-190838815":"We need this for verification. If the information you provide is fake or inaccurate, you won’t be able to deposit and withdraw.","-1113902570":"Details","-71696502":"Previous","-1541554430":"Next","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1166068675":"Your account will be opened with {{legal_entity_name}}, regulated by the UK Gaming Commission (UKGC), and will be subject to the laws of the Isle of Man.","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-680528873":"Your account will be opened with {{legal_entity_name}} and will be subject to the laws of Samoa.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-684271315":"OK","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-1265833982":"Accept","-839094775":"Back","-2145244263":"This field is required","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-179005984":"Save","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-1292808093":"Trading Experience","-884768257":"You should enter 0-35 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-874280157":"This Tax Identification Number (TIN) is invalid. You may continue using it, but to facilitate future payment processes, valid tax information will be required.","-1037916704":"Miss","-634958629":"We use the information you give us only for verification purposes. All information is kept confidential.","-731992635":"Title*","-352888977":"Title","-136976514":"Country of residence*","-945104751":"We’re legally obliged to ask for your tax information.","-1702919018":"Second line of address (optional)","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2121071263":"Check this box to receive updates via email.","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-1923892687":"Please withdraw your funds from the following Deriv X account(s):","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-9323953":"Remaining characters: {{remaining_characters}}","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-937707753":"Go Back","-1219849101":"Please select at least one reason","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1076138910":"Trade","-488597603":"Trading information","-1666909852":"Payments","-1725454783":"Failed","-506510414":"Date and time","-1708927037":"IP address","-80717068":"Apps you have linked to your <0>Deriv password:","-9570380":"Use the {{platform_name_dxtrade}} password to log in to your {{platform_name_dxtrade}} accounts on the web and mobile apps.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-650175948":"A recent bank statement or government-issued letter with your name and address.","-2006895756":"1. Address","-716361389":"An accurate and complete address helps to speed up your verification process.","-1315410953":"State/Province","-890084320":"Save and submit","-1592318047":"See example","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-1272489896":"Please complete this field.","-397487797":"Enter your full card number","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-1515286538":"Please enter your document number. ","-477761028":"Voter ID","-1466346630":"CPF","-1694758788":"Enter your document number","-1458676679":"You should enter 2-50 characters.","-1176889260":"Please select a document type.","-612752984":"These are default limits that we apply to your accounts.","-1598263601":"To learn more about trading limits and how they apply, please go to the <0>Help Centre.","-1411635770":"Learn more about account limits","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-138380129":"Total withdrawal allowed","-854023608":"To increase limit please verify your identity","-1500958859":"Verify","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-223216785":"Second line of address*","-594456225":"Second line of address","-1940457555":"Postal/ZIP Code*","-1964954030":"Postal/ZIP Code","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-786372363":"Learn more about API token","-55560916":"To access our mobile apps and other third-party apps, you'll first need to generate an API token.","-198329198":"API Token","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-1117963487":"Name your token and click on 'Create' to generate your token.","-2005211699":"Create","-2115275974":"CFDs","-1879666853":"Deriv MT5","-460645791":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-561724665":"You are limited to one fiat currency only","-2087317410":"Oops, something went wrong.","-509054266":"Anticipated annual turnover","-1117345066":"Choose the document type","-651192353":"Sample:","-1044962593":"Upload Document","-164448351":"Show less","-1361653502":"Show more","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-1525879032":"Your documents for proof of address is expired. Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-1926456107":"The ID you submitted is expired.","-555047589":"It looks like your identity document has expired. Please try again with a valid document.","-841187054":"Try Again","-2097808873":"We were unable to verify your ID with the details you provided. ","-228284848":"We were unable to verify your ID with the details you provided.","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-749870311":"Please contact us via <0>live chat.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-856213726":"You must also submit a proof of address.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-2068479232":"{{platform}} password","-1332137219":"Strong passwords contain at least 8 characters that include uppercase and lowercase letters, numbers, and symbols.","-1597186502":"Reset {{platform}} password","-848721396":"These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. If you live in the United Kingdom, Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request. If you live in the Isle of Man, Customer Support can only remove or weaken your trading limits after your trading limit period has expired.","-469096390":"These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request.","-42808954":"You can also exclude yourself entirely for a specified duration. This can only be removed once your self-exclusion has expired. If you wish to continue trading once your self-exclusion period expires, you must contact Customer Support by calling <0>+447723580049 to lift this self-exclusion. Requests by chat or email shall not be entertained. There will be a 24-hour cooling-off period before you can resume trading.","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-1702324712":"These limits are optional, and you can adjust them at any time. You decide how much and how long you’d like to trade. If you don’t wish to set a specific limit, leave the field blank.","-1819875658":"You can also exclude yourself entirely for a specified duration. Once the self-exclusion period has ended, you can either extend it further or resume trading immediately. If you wish to reduce or remove the self-exclusion period, contact our <0>Customer Support.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2121421686":"To self-exclude from all online gambling companies licensed in Great Britain, go to <0>www.gamstop.co.uk.","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-428335668":"You will need to set a password to complete the process.","-1743024217":"Select Language","-30772747":"Your personal details have been saved successfully.","-1107320163":"Automate your trading, no coding needed.","-829643221":"Multipliers trading platform.","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-820028470":"Options & Multipliers","-1018945969":"TradersHub","-1856204727":"Reset","-213142918":"Deposits and withdrawals temporarily unavailable ","-224804428":"Transactions","-1186807402":"Transfer","-1308346982":"Derived","-1145604233":"Trade CFDs on MT5 with Derived indices that simulate real-world market movements.","-328128497":"Financial","-1484404784":"Trade CFDs on MT5 with forex, stock indices, commodities, and cryptocurrencies.","-659955365":"Swap-Free","-133406819":"Trade swap-free CFDs on MT5 with synthetics, forex, stocks, stock indices, cryptocurrencies and ETFs.","-1210359945":"Transfer funds to your accounts","-81256466":"You need a Deriv account to create a CFD account.","-699372497":"Trade with leverage and tight spreads for better returns on successful trades. <0>Learn more","-1884966862":"Get more Deriv MT5 account with different type and jurisdiction.","-982095728":"Get","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-172898036":"CR5236585","-1665192032":"Multipliers account","-744999940":"Deriv account","-1638358352":"Get the upside of CFDs without risking more than your initial stake with <0>Multipliers.","-749129977":"Get a real Deriv account, start trading and manage your funds.","-1814994113":"CFDs <0>{{compare_accounts_title}}","-318106501":"Trade CFDs on MT5 with synthetics, baskets, and derived FX.","-1328701106":"Trade CFDs on MT5 with forex, stocks, stock indices, synthetics, cryptocurrencies, and commodities.","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-181080141":"Trading hub tour","-1042025112":"Need help moving around?<0>We have a short tutorial that might help. Hit Repeat tour to begin.","-1536335438":"These are the trading accounts available to you. You can click on an account’s icon or description to find out more","-1034232248":"CFDs or Multipliers","-1320214549":"You can choose between CFD trading accounts and Multipliers accounts","-2069414013":"Click the ‘Get’ button to create an account","-951876657":"Top-up your account","-1945421757":"Once you have an account click on ‘Deposit’ or ‘Transfer’ to add funds to an account","-1965920446":"Start trading","-33612390":"<0>EU statutory disclaimer: CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. <0>73% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money.","-1975494965":"Cashier","-1787304306":"Deriv P2P","-2021135479":"This field is required.","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-42592103":"Deposit cryptocurrencies","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-190084602":"Transaction","-1995606668":"Amount","-811190405":"Time","-1984478597":"The details of this transaction is available on CoinsPaid.","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-299033842":"Recent transactions","-704362715":"{{amount}} {{currency}} on {{submit_date_moment}}","-1534990259":"Transaction hash:","-1612346919":"View all","-1059419768":"Notes","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-1463156905":"Learn more about payment methods","-2013448791":"Want to exchange between e-wallet currencies? Try <0>Ewallet.Exchange","-1547606079":"We accept the following cryptocurrencies:","-1517325716":"Deposit via the following payment methods:","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-474666134":"This is your {{currency_code}} account {{loginid}}","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-781389987":"This is your {{regulation_text}} {{currency_code}} account {{loginid}}","-1068036170":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-1361372445":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts, your Deriv cryptocurrency and {{platform_name_derivez}} accounts, and your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1995859618":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_derivez}} and {{platform_name_dxtrade}} accounts.","-545616470":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_derivez }} transfers between your Deriv and {{platform_name_derivez}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-1344870129":"Deriv accounts","-1156059326":"You have {{number}} transfer remaining for today.","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-993393818":"Binance Smart Chain","-561858764":"Polygon (Matic)","-410890127":"Ethereum (ERC20)","-1059526741":"Ethereum (ETH)","-1615615253":"We do not support Tron, to deposit please use only Ethereum ({{token}}).","-1831000957":"Please select the network from where your deposit will come from.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-1345040662":"Looking for a way to buy cryptocurrency?","-759000391":"We were unable to verify your information automatically. To enable this function, you must complete the following:","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-2024958619":"This is to protect your account from unauthorised withdrawals.","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-447037544":"Buy price:","-1342699195":"Total profit/loss:","-1511825574":"Profit/Loss:","-726626679":"Potential profit/loss:","-338379841":"Indicative price:","-2027409966":"Initial stake:","-1525144993":"Payout limit:","-1167474366":"Tick ","-555886064":"Won","-529060972":"Lost","-571642000":"Day","-155989831":"Decrement value","-1192773792":"Don't show this again","-1769852749":"N/A","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-1397946060":"Deriv Bot is not available for this account","-1223145005":"Loss amount: {{profit}}","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-668558002":"Journal.csv","-746652890":"Notifications","-824109891":"System","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-1918487001":"Example:","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-767342552":"Enter your bot name, choose to save on your computer or Google Drive, and hit ","-1372891985":"Save.","-462715374":"Untitled Bot","-1150107517":"Connect","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-1058262694":"Stopping the bot will prevent further trades. Any ongoing trades will be completed by our system.","-1473283434":"Please be aware that some completed transactions may not be displayed in the transaction table if the bot is stopped while placing trades.","-397015538":"You may refer to the statement page for details of all completed transactions.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-627895223":"Exit spot","-596238067":"Entry/Exit spot","-558594655":"The bot is not running","-478946875":"The stats are cleared","-1842451303":"Welcome to Deriv Bot!","-1391310674":"Check out these guides and FAQs to learn more about building your bot:","-2066779239":"FAQs","-280324365":"What is Deriv Bot?","-507620484":"Unsaved","-764102808":"Google Drive","-1696412885":"Import","-250192612":"Sort","-1566369363":"Zoom out","-1285759343":"Search","-1040972299":"Purchase contract","-600546154":"Sell contract (optional)","-985351204":"Trade again","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1778025545":"You’ve successfully imported a bot.","-934909826":"Load strategy","-1692205739":"Import a bot from your computer or Google Drive, build it from scratch, or start with a quick strategy.","-1545070554":"Delete bot","-1972599670":"Your bot will be permanently deleted when you hit ","-1692956623":"Yes, delete.","-573479616":"Are you sure you want to delete it?","-786915692":"You are connected to Google Drive","-1256971627":"To import your bot from your Google Drive, you'll need to sign in to your Google account.","-1233084347":"To know how Google Drive handles your data, please review Deriv’s <0>Privacy policy.","-305283152":"Strategy name","-1003476709":"Save as collection","-636521735":"Save strategy","-1953880747":"Stop my bot","-1899230001":"Stopping the current bot will load the Quick Strategy you just created to the workspace.","-2131847097":"Any open contracts can be viewed on the ","-563774117":"Dashboard","-939764287":"Charts","-1793577405":"Build from scratch","-1805712946":"We also provide a tutorial on this tab to show you how you can build and execute a simple strategy.","-1212601535":"Monitor the market","-101854331":"Guides and FAQs to help you","-495736035":"Start with a video guide and the FAQs.","-1584847169":"See your bot's performance in real-time.","-1918369898":"Run or stop your bot","-782992165":"Step 1 :","-1656388044":"First, set <0>Market to Derived > Continuous Indices > Volatility 100 (1s) Index.","-1706298865":"Then, set <0>Trade type to Up/Down > Rise/Fall.","-1834358537":"For <0>Default candle interval, set it to 1 minute","-1940971254":"For <0>Trade options, set it as below:","-512839354":"<0>Stake: USD 10 (min: 0.35 - max: 50000)","-753745278":"Step 2 :","-1056713679":"Then, set the <0>Purchase conditions block.","-245497823":"<0>2. Purchase conditions:","-916770284":"<0>Purchase: Rise","-758077259":"Step 3 :","-677396944":"Step 4 :","-295975118":"Next, go to <0>Utility tab under the Blocks menu. Tap the drop-down arrow and hit <0>Loops.","-698493945":"Step 5 :","-1992994687":"Now, tap the <0>Analysis drop-down arrow and hit <0>Contract.","-1844492873":"Go to the <0>Last trade result block and click + icon to add the <0>Result is Win block to the workspace.","-1547091772":"Then, drag the <0>Result is win into the empty slot next to <0>repeat until block.","-736400802":"Step 6 :","-732067680":"Finally, drag and add the whole <0>Repeat block to the <0>Restart trading conditions block.","-1411787252":"Step 1","-1447398448":"Import a bot from your mobile device or from Google drive, see a preview in the bot builder, and start trading by running the bot, or choose from our pre-made Quick Strategies. ","-1109191651":"Must be a number higher than 0","-689786738":"Minimum duration: {{ min }}","-184183432":"Maximum duration: {{ max }}","-1494924808":"The value must be equal to or greater than 2.","-1823621139":"Quick Strategy","-1455277971":"Exit Tour","-1999747212":"Want to retake the tour?","-358288026":"Note: You can also find this tutorial in the <0>Tutorials tab.","-683790172":"Now, <0>run the bot to test out the strategy.","-129587613":"Got it, thanks!","-1519425996":"No results found \"{{ faq_search_value }}\"","-155173714":"Let’s build a bot!","-1919212468":"3. You can also search for the blocks you want using the search bar above the categories.","-1520558271":"For more info, check out this blog post on the basics of building a trading bot.","-980360663":"3. Choose the block you want and drag it to the workspace.","-1493168314":"What is a quick strategy?","-1680391945":"Using a quick strategy","-1177914473":"How do I save my strategy?","-271986909":"In Bot Builder, hit Save on the toolbar at the top to download your bot. Give your bot a name, and choose to download your bot to your device or Google Drive. Your bot will be downloaded as an XML file.","-1149045595":"1. After hitting Import, select Local and click Continue.","-288041546":"2. Select your XML file and hit Open.","-2127548288":"3. Your bot will be loaded accordingly.","-1311297611":"1. After hitting Import, select Google Drive and click Continue.","-1549564044":"How do I reset the workspace?","-1127331928":"In Bot Builder, hit Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.","-1720444288":"How do I control my losses with Deriv Bot?","-1142295124":"There are several ways to control your losses with Deriv Bot. Here’s a simple example of how you can implement loss control in your strategy:","-986689483":"1. Create the following variables:","-79649010":"- currentStake: Use this variable to store the stake amount used in the last contract. You can assign any amount you want, but it must be a positive number.","-1931732247":"- tradeAgain: Use this variable to stop trading when your loss limit is reached. Set the initial value to true.","-1574002530":"2. Use a logic block to check if currentPL exceeds maximumLoss. If it does, set tradeAgain to false to prevent the bot from running another cycle.","-1672069217":"3. Update currentPL with the profit from the last contract. If the last contract was lost, the value of currentPL will be negative.","-1565344891":"Can I run Deriv Bot on multiple tabs in my web browser?","-90192474":"Yes, you can. However, there are limits on your account, such as maximum number of open positions and maximum aggregate payouts on open positions. So, just keep these limits in mind when opening multiple positions. You can find more info about these limits at Settings > Account limits.","-213872712":"No, we don't offer cryptocurrencies on Deriv Bot.","-2147346223":"In which countries is Deriv Bot available?","-352345777":"What are the most popular strategies for automated trading?","-552392096":"Three of the most commonly used strategies in automated trading are Martingale, D'Alembert, and Oscar's Grind — you can find them all ready-made and waiting for you in Deriv Bot.","-418247251":"Download your journal.","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-999254545":"All messages are filtered out","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-24780060":"When you’re ready to trade, hit ","-2147110353":". You’ll be able to track your bot’s performance here.","-1717650468":"Online","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-1309011360":"Open positions","-1597214874":"Trade table","-883103549":"Account deactivated","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-568280383":"Deriv Gaming","-895331276":"Complete your proof of address","-782679300":"Complete your proof of identity","-579984289":"Derived Demo","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-533935232":"Financial BVI","-565431857":"Financial Labuan","-1290112064":"Deriv EZ","-291535132":"Swap-Free Demo","-1472945832":"Swap-Free SVG","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-841561409":"Put Spread","-137444201":"Buy","-1500514644":"Accumulator","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-681468758":"Your web browser is out of date and may affect your trading experience. Please <0>update your browser.","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-540474806":"Your Options account is scheduled to be closed","-618539786":"Your account is scheduled to be closed","-945275490":"Withdraw all funds from your Options account.","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-800774345":"Power up your Financial trades with intuitive tools from Acuity.","-279582236":"Learn More","-1211460378":"Power up your trades with Acuity","-703292251":"Download intuitive trading tools to keep track of market events. The Acuity suite is only available for Windows, and is most recommended for financial assets.","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-67021419":"Our cashier is temporarily down due to system maintenance. You can access the cashier in a few minutes when the maintenance is complete.","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-448961363":"non-EU","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-2061807537":"Something’s not right","-402093392":"Add Deriv Account","-277547429":"A Deriv account will allow you to fund (and withdraw from) your MT5 account(s).","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-594209315":"Synthetic indices in the EU are offered by {{legal_entity_name}}, W Business Centre, Level 3, Triq Dun Karm, Birkirkara BKR 9033, Malta, licensed and regulated by the Malta Gaming Authority (<0>licence no. MGA/B2C/102/2000) and by the Revenue Commissioners for clients in Ireland (<2>licence no. 1010285).","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-583559763":"Menu","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-1019903756":"Synthetic","-288996254":"Unavailable","-735306327":"Manage accounts","-1310654342":"As part of the changes in our product line-up, we will be closing Gaming accounts belonging to our UK clients.","-626152766":"As part of the changes in our product line-up, we are closing Options accounts belonging to our clients in Europe.","-490100162":"As part of the changes in our product line-up, we will be closing accounts belonging to our Isle of Man clients.","-1208958060":"You can no longer trade digital options on any of our platforms. You also can’t deposit funds into your account.<0/><1/>Any open positions on digital options have been closed with full payout.","-2050417883":"You’ll lose access to your Gaming account when it gets closed, so make sure to withdraw your funds as soon as possible.","-1950045402":"Withdraw all your funds","-168971942":"What this means for you","-905560792":"OK, I understand","-1308593541":"You will lose access to your account when it gets closed, so be sure to withdraw all your funds.","-2024365882":"Explore","-1197864059":"Create free demo account","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-786091297":"Trade on demo","-228099749":"Please verify your identity and address","-1041852744":"We're processing your personal information","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1557011219":"Add a real Deriv Options account","-241733171":"Add a Deriv Financial account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1362081438":"Adding more real accounts has been restricted for your country.","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-730377053":"You can’t add another real account","-2100785339":"Invalid inputs","-617844567":"An account with your details already exists.","-292363402":"Trading statistics report","-1656860130":"Options trading can become a real addiction, as can any other activity pushed to its limits. To avoid the danger of such an addiction, we provide a reality-check that gives you a summary of your trades and accounts on a regular basis.","-28080461":"Would like to check your statement first? <0>Check Statement","-611059051":"Please specify your preferred interval reality check in minutes:","-1876891031":"Currency","-11615110":"Turnover","-1370419052":"Profit / Loss","-437320982":"Session duration:","-3959715":"Current time:","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-1728963310":"Stop creating an account?","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1787820992":"Platforms","-1793883644":"Trade FX and CFDs on a customisable, easy-to-use trading platform.","-184713104":"Earn fixed payouts with options, or trade multipliers to amplify your gains with limited risk.","-1571775875":"Our flagship options and multipliers trading platform.","-895091803":"If you're looking for CFDs","-1447215751":"Not sure? Try this","-2338797":"<0>Maximise returns by <0>risking more than you put in.","-1682067341":"Earn <0>fixed returns by <0>risking only what you put in.","-1744351732":"Not sure where to start?","-943710774":"This complaints policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}, having its registered office address at First Floor, Millennium House, Victoria Road, Douglas, Isle of Man, IM2 4RW, licensed and regulated respectively by (1) the Gambling Supervision Commission in the Isle of Man (current <0>licence issued on 31 August 2017) and (2) the Gambling Commission in the UK (<1>licence no. 39172).","-255056078":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name}}, having its registered office address at W Business Centre, Level 3, Triq Dun Karm, Birkirkara, BKR 9033, Malta, licensed and regulated by the Malta Gaming Authority in Malta for gambling products only, <0>licence no. MGA/B2C/102/2000, and for clients residing in the UK by the UK Gambling Commission (account number 39495).","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-813256361":"We are committed to treating our clients fairly and providing them with excellent service.<0/><1/>We would love to hear from you on how we can improve our services to you. Any information you provide will be treated in the strictest confidence. Rest assured that you will be heard, valued, and always treated fairly.","-1622847732":"If you have an inquiry regarding your trading account with {{legal_entity_name}}, you can contact us through our <0>Help centre or by chatting with a representative via <1>Live Chat.<2/><3/>We are committed to resolving your query in the quickest time possible and appreciate your patience in allowing us time to resolve the matter.<4/><5/>We strive to provide the best possible service and support to our customers. However, in the event that we are unable to resolve your query or if you feel that our response is unsatisfactory, we want to hear from you. We welcome and encourage you to submit an official complaint to us so that we can review your concerns and work towards a resolution.","-1639808836":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Independent Betting Adjudication Service (IBAS) by filling the IBAS adjudication form. Please note that IBAS only deals with disputes that result from transactions.","-1505742956":"<0/><1/>You can also refer your dispute to the Malta Gaming Authority via the <2>Player Support Unit.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-1776547326":"<0/><1/>If you reside in the UK and you are unhappy with our response you may escalate your complaint to the <2>Financial Ombudsman Service.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-1280998762":"4. Complaints","-1886635232":"A complaint is any expression of dissatisfaction by a client regarding our products or services that requires a formal response.<0/><1/>If what you submit does not fall within the scope of a complaint, we may reclassify it as a query and forward it to the relevant department for handling. However, if you believe that your query should be classified as a complaint due to its relevance to the investment services provided by {{legal_entity_name}}, you may request that we reclassify it accordingly.","-1771496016":"To submit a complaint, please send an email to <0>complaints@deriv.com, providing as much detail as possible. To help us investigate and resolve your complaint more efficiently, please include the following information:","-1197243525":"<0>•A clear and detailed description of your complaint, including any relevant dates, times, and transactions","-1795134892":"<0>•Any relevant screenshots or supporting documentation that will assist us in understanding the issue","-2053887036":"4.4. Handling your complaint","-717170429":"Once we have received the details of your complaint, we shall review it carefully and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","-1841922393":"4.5. Resolving your complaint","-1327119795":"4.6. Your decision","-2019654103":"If we are unable to resolve your complaint or you are not satisfied with the outcome, you can escalate your complaint to the Office of the Arbiter for Financial Services.<0/><1/><2>Filing complaints with the Office of the Arbiter for Financial Services","-687172857":"<0>•You may file a complaint with the Arbiter for Financial Services only if you are not satisfied with our decision or the decision wasn’t made within 15 business days.","-262934706":"<0>•If the complaint is accepted by the Arbiter, you will receive another email with further details relating to the payment of the €25 complaint fee and the processes that follow.","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-358055541":"Power up your trades with cool new tools","-29496115":"We've partnered with Acuity to give you a suite of intuitive trading tools for MT5 so you can keep track of market events and trends, free of charge!<0/><0/>","-648669944":"Download the Acuity suite and take advantage of the <1>Macroeconomic Calendar, Market Alerts, Research Terminal, and <1>Signal Centre Trade Ideas without leaving your MT5 terminal.<0/><0/>","-794294380":"This suite is only available for Windows, and is most recommended for financial assets.","-922510206":"Need help using Acuity?","-815070480":"Disclaimer: The trading services and information provided by Acuity should not be construed as a solicitation to invest and/or trade. Deriv does not offer investment advice. The past is not a guide to future performance, and strategies that have worked in the past may not work in the future.","-2111521813":"Download Acuity","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-175369516":"Welcome to Deriv X","-939154994":"Welcome to Deriv MT5 dashboard","-1667427537":"Run Deriv X on your browser or download the mobile app","-305915794":"Run MT5 from your browser or download the MT5 app for your devices","-404375367":"Trade forex, basket indices, commodities, and cryptocurrencies with high leverage.","-243985555":"Trade CFDs on forex, stocks, stock indices, synthetic indices, cryptocurrencies, and commodities with leverage.","-2030107144":"Trade CFDs on forex, stocks & stock indices, commodities, and crypto.","-705682181":"Malta","-409563066":"Regulator","-1302404116":"Maximum leverage","-2098459063":"British Virgin Islands","-1510474851":"British Virgin Islands Financial Services Commission (licence no. SIBA/L/18/1114)","-761250329":"Labuan Financial Services Authority (Licence no. MB/18/0024)","-1264604378":"Up to 1:1000","-1686150678":"Up to 1:100","-637908996":"100%","-1420548257":"20+","-1344709651":"40+","-1373949478":"50+","-1382029900":"70+","-1493055298":"90+","-1835174654":"1:30","-1647612934":"Spreads from","-1587894214":"about verifications needed.","-466784048":"Regulator/EDR","-1326848138":"British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","-777580328":"Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","-1372141447":"Straight-through processing","-1969608084":"Forex and Cryptocurrencies","-800771713":"Labuan Financial Services Authority (licence no. MB/18/0024)","-1497128311":"80+","-1501230046":"0.6 pips","-1689815930":"You will need to submit proof of identity and address once you reach certain thresholds.","-1175785439":"Deriv (SVG) LLC (company no. 273 LLC 2020)","-235833244":"Synthetics, Forex, Stocks, Stock Indices, Cryptocurrencies, and ETFs","-139026353":"A selfie of yourself.","-70314394":"A recent utility bill (electricity, water or gas) or recent bank statement or government-issued letter with your name and address.","-435524000":"Verification failed. Resubmit during account creation.","-1385099152":"Your document is verified.","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1637969571":"Demo Swap-Free","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-785625598":"Use these credentials to log in to your {{platform}} account on the website and mobile apps.","-997127433":"Change Password","-1300381594":"Get Acuity trading tools","-860609405":"Password","-742647506":"Fund transfer","-1972393174":"Trade CFDs on our synthetics, baskets, and derived FX.","-1357917360":"Web terminal","-1454896285":"The MT5 desktop app is not supported by Windows XP, Windows 2003, and Windows Vista.","-810388996":"Download the Deriv X mobile app","-1727991510":"Scan the QR code to download the Deriv X Mobile App","-511301450":"Indicates the availability of cryptocurrency trading on a particular account.","-1647569139":"Synthetics, Baskets, Derived FX, Forex: standard/micro, Stocks, Stock indices, Commodities, Cryptocurrencies","-2102641225":"At bank rollover, liquidity in the forex markets is reduced and may increase the spread and processing time for client orders. This happens around 21:00 GMT during daylight saving time, and 22:00 GMT non-daylight saving time.","-495364248":"Margin call and stop out level will change from time to time based on market condition.","-536189739":"To protect your portfolio from adverse market movements due to the market opening gap, we reserve the right to decrease leverage on all offered symbols for financial accounts before market close and increase it again after market open. Please make sure that you have enough funds available in your {{platform}} account to support your positions at all times.","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-1779241732":"First line of address is not in a proper format.","-188222339":"This should not exceed {{max_number}} characters.","-1673422138":"State/Province is not in a proper format.","-1580554423":"Trade CFDs on our synthetic indices that simulate real-world market movements.","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-673424733":"Demo account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-1199152768":"Please explore our other platforms.","-205020823":"Explore {{platform_name_trader}}","-1982499699":"Explore {{platform_name_dbot}}","-1567989247":"Submit your proof of identity and address","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-790488576":"Forgot password?","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-1769158315":"real","-700260448":"demo","-1936102840":"Congratulations, you have successfully created your {{category}} <0>{{platform}} <1>{{type}} {{jurisdiction_selected_shortcode}} account. ","-1928229820":"Reset Deriv X investor password","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-490244964":"Forex, stocks, stock indices, cryptocurrencies","-1368041210":", synthetic indices","-877064208":"EUR","-1284221303":"You’ll get a warning, known as margin call, if your account balance drops down close to the stop out level.","-1848799829":"To understand stop out, first you need to learn about margin level, which is the ratio of your equity (the total balance you would have if you close all your positions at that point) to the margin you're using at the moment. If your margin level drops below our stop out level, your positions may be closed automatically to protect you from further losses.","-224051432":"24/7","-70716111":"FX-majors (standard/micro lots), FX-minors, basket indices, commodities, cryptocurrencies, and stocks and stock indices","-1041629137":"FX-majors, FX-minors, FX-exotics, and cryptocurrencies","-287097947":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies (except UK)","-2016975615":"Deriv MT5 CFDs real account","-1207265427":"Compare CFDs real accounts","-1225160479":"Compare available accounts","-266701451":"derivX wordmark","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-251202291":"Broker","-81650212":"MetaTrader 5 web","-2123571162":"Download","-941636117":"MetaTrader 5 Linux app","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-2125860351":"Choose a jurisdiction for your Deriv MT5 CFDs account","-479119833":"Choose a jurisdiction for your Deriv MT5 {{account_type}} account","-450424792":"You need a real account (fiat currency or cryptocurrency) in Deriv to create a real Deriv MT5 account.","-1760596315":"Create a Deriv account","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1694314813":"Contract value:","-442488432":"day","-337314714":"days","-1763848396":"Put","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-993480898":"Accumulators","-1790089996":"NEW!","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-880722426":"Market is closed","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-590131162":"Stay on {{website_domain}}","-1444663817":"Go to Binary.com","-1526466612":"You’ve selected a trade type that is currently unsupported, but we’re working on it.","-1043795232":"Recent positions","-1572796316":"Purchase price:","-153220091":"{{display_value}} Tick","-802374032":"Hour","-2039780875":"Purchase confirmation","-1672470173":"Require confirmation before purchasing a contract","-1342661765":"Lock contract purchase buttons","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-705681870":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1666375348":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","-2024955268":"If you select “Up”, you will earn a profit by closing your position when the market price is higher than the entry spot.","-1598433845":"If you select “Down”, you will earn a profit by closing your position when the market price is lower than the entry spot.","-885323297":"These are optional parameters for each position that you open:","-584696680":"If you select “Take profit” and specify an amount that you’d like to earn, your position will be closed automatically when your profit is more than or equals to this amount. Your profit may be more than the amount you entered depending on the market price at closing.","-1192494358":"If you select “Deal cancellation”, you’ll be able to cancel your trade within a chosen time frame should the market move against your favour. We’ll charge a small fee for this, but we’ll return your stake amount without profit or loss. If the stop-out amount is reached before the deal cancellation expires, your position will be cancelled automatically and we’ll return your stake amount without profit or loss.","-178096090":"“Take profit” cannot be updated. You may update it only when “Deal cancellation” expires.","-206909651":"The entry spot is the market price when your contract is processed by our servers.","-351875097":"Number of ticks","-138599872":"<0>For {{contract_type}}: Get a payout if {{index_name}} is {{strike_status}} than the strike price at the expiry time. Your payout is zero if the market is {{market_status}} or equal to the strike price at the expiry time. You will start making a profit when the payout is higher than your stake.","-2014059656":"higher","-149836494":"Your transaction reference number is {{transaction_id}}","-1382749084":"Go back to trading","-1231210510":"Tick","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-8998663":"Digit: {{last_digit}} ","-1435392215":"About deal cancellation","-2017825013":"Got it","-1280319153":"Cancel your trade anytime within a chosen time-frame. Triggered automatically if your trade reaches the stop out level within the chosen time-frame.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-45873457":"NEW","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-194424366":"above","-1527492178":"Purchase Locked","-725375562":"You can lock/unlock the purchase button from the Settings menu","-2131851017":"Growth rate","-1358367903":"Stake","-542594338":"Max. payout","-690963898":"Your contract will be automatically closed when your payout reaches this amount.","-511541916":"Your contract will be automatically closed upon reaching this number of ticks.","-1918235233":"Min. stake","-1935239381":"Max. stake","-1930565757":"Your stake is a non-refundable one-time premium to purchase this contract. Your total profit/loss equals the contract value minus your stake.","-434270664":"Current Price","-1956787775":"Barrier Price:","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-1043117679":"When your current loss equals or exceeds {{stop_out_percentage}}% of your stake, your contract will be closed at the nearest available asset price.","-339236213":"Multiplier","-857660728":"Strike Prices","-119134980":"<0>{{trade_type}}: You will get a payout if the market price is {{payout_status}} this price <0>at the expiry time. Otherwise, your payout will be zero.","-243332856":"Last digit stats for latest 1000 ticks for {{ underlying_name }}","-1900883796":"<0>{{trade_type}}: You will get a payout if the market is {{payout_status}} this price <0>at the expiry time. Otherwise, your payout will be zero.","-347156282":"Submit Proof","-1738427539":"Purchase","-1937372493":"You can close your trade anytime. However, be aware of <0>slippage risk<0/>.","-1422269966":"You can choose a growth rate with values of 1%, 2%, 3%, 4%, and 5%.","-1186791513":"Payout is the sum of your initial stake and profit.","-1682624802":"It is a percentage of the previous spot price. The percentage rate is based on your choice of the index and the growth rate.","-1221049974":"Final price","-1247327943":"This is the spot price of the last tick at expiry.","-878534036":"If you select \"Call\", you’ll earn a payout if the final price is above the strike price at expiry. Otherwise, you won’t receive a payout.","-1587076792":"If you select \"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","-1482134885":"We calculate this based on the strike price and duration you’ve selected.","-1890561510":"Cut-off time","-565990678":"Your contract will expire on this date (in GMT), based on the End time you’ve selected.","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-2004386410":"Win","-1072292603":"No Change","-1631669591":"string","-1768939692":"number","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-2035315547":"Low barrier","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1291088318":"Purchase conditions","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1374685318":"Your contract is closed automatically when your loss is more than or equals to this amount. This block can only be used with the multipliers trade type.","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1219239717":"One or more mandatory blocks are missing from your workspace. Please add the required block(s) and then try again.","-250761331":"One or more mandatory blocks are disabled in your workspace. Please enable the required block(s) and then try again.","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-538215347":"Net deposits","-280147477":"All transactions","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1904030160":"Transaction performed by (App ID: {{app_id}})","-513103225":"Transaction time","-2066666313":"Credit/Debit","-2140412463":"Buy price","-1981004241":"Sell time","-600828210":"Indicative profit/loss","-706219815":"Indicative price","-3423966":"Take profit<0 />Stop loss","-2082644096":"Current stake","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-740395276":"I don’t have any of these","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-555592125":"Unfortunately, trading options isn't possible in your country","-1571816573":"Sorry, trading is unavailable in your current location.","-1603581277":"minutes","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file +{"0":"","1014140":"You may also call <0>+447723580049 to place your complaint.","1485191":"1:1000","2091451":"Deriv Bot - your automated trading partner","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","3420069":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your identity document.","7100308":"Hour must be between 0 and 23.","9488203":"Deriv Bot is a web-based strategy builder for trading digital options. It’s a platform where you can build your own automated trading bot using drag-and-drop 'blocks'.","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","30801950":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Gaming Authority, and will be subject to the laws of Malta.","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","44877997":"Residence permit","45453595":"Binary Coin","45941470":"Where would you like to start?","46523711":"Your proof of identity is verified","49404821":"If you buy a \"<0>{{trade_type}}\" option, you receive a payout at expiry if the final price is {{payout_status}} the strike price. Otherwise, your “<0>{{trade_type}}” option will expire worthless.","49963458":"Choose an option","50200731":"FX majors (standard/micro lots), FX minors, basket indices, commodities, and cryptocurrencies","53801223":"Hong Kong 50","53964766":"5. Hit Save to download your bot. You can choose to download your bot to your device or your Google Drive.","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","56764670":"Deriv Bot will not proceed with any new trades. Any ongoing trades will be completed by our system. Any unsaved changes will be lost.<0>Note: Please check your statement to view completed transactions.","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","67923436":"No, Deriv Bot will stop running when your web browser is closed.","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","77945356":"Trade on the go with our mobile app.","77982950":"Vanilla options allow you to predict an upward (bullish) or downward (bearish) direction of the underlying asset by purchasing a \"Call\" or a \"Put\".","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","84402478":"Where do I find the blocks I need?","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","89062902":"Trade on MT5","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","93154671":"1. Hit Reset at the bottom of stats panel.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117318539":"Password should have lower and uppercase English letters with numbers.","118586231":"Document number (identity card, passport)","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125443840":"6. Restart last trade on error","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","133655768":"Note: If you wish to learn more about the Bot Builder, you can proceed to the <0>Tutorials tab.","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145146541":"Our accounts and services are unavailable for the Jersey postal code","145736466":"Take a selfie","150486954":"Token name","151344063":"The exit spot is the market price when the contract is closed.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","154545319":"Country of residence is where you currently live.","157593038":"random integer from {{ start_number }} to {{ end_number }}","158373715":"Exit tour","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176078831":"Added","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","179737767":"Our legacy options trading platform.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","190834737":"Guide","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195972178":"Get character","196810983":"If the duration is more than 24 hours, the Cut-off time and Expiry date will apply instead.","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","203297887":"The Quick Strategy you just created will be loaded to the workspace.","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","220232017":"demo CFDs","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","224929714":"Virtual events based bets in the UK and the Isle of Man are offered by {{legal_entity_name}}, Millennium House, Level 1, Victoria Road, Douglas IM2 4RW, Isle of Man, licensed and regulated in Great Britain by the Gambling Commission under <0>account no. 39172 and by the Gambling Supervision Commission in the Isle of Man (<1>view licence).","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228079844":"Click here to upload","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","229355215":"Trade on {{platform_name_dbot}}","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","243537306":"1. Under the Blocks menu, go to Utility > Variables.","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","247418415":"Gaming trading can become a real addiction, as can any other activity pushed to its limits. To avoid the danger of such an addiction, we provide a reality-check that gives you a summary of your trades and accounts on a regular basis.","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251322536":"Deriv EZ accounts","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","261074187":"4. Once the blocks are loaded onto the workspace, tweak the parameters if you want, or hit Run to start trading.","261250441":"Drag the <0>Trade again block and add it into the <0>do part of the <0>Repeat until block.","262095250":"If you select <0>\"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","272042258":"When you set your limits, they will be aggregated across all your account types in {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. For example, the losses made on all four platforms will add up and be counted towards the loss limit you set.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","283986166":"Self-exclusion on the website only applies to your {{brand_website_name}} account and does not include other companies or websites.","284527272":"antimode","284772879":"Contract","284809500":"Financial Demo","287934290":"Are you sure you want to cancel this transaction?","289898640":"TERMS OF USE","291744889":"<0>1. Trade parameters:<0>","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292491635":"If you select “Stop loss” and specify an amount to limit your loss, your position will be closed automatically when your loss is more than or equals to this amount. Your loss may be more than the amount you entered depending on the market price at closing.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","294305803":"Manage account settings","294335229":"Sell at market price","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","301472132":"Hi! Hit <0>Start for a quick tour to help you get started.","303959005":"Sell Price:","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313298169":"Our cashier is temporarily down due to system maintenance. You can access the Cashier in a few minutes when the maintenance is complete.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329353047":"Malta Financial Services Authority (MFSA) (licence no. IS/70156)","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","333121115":"Select Deriv MT5's account type","333456603":"Withdrawal limits","333807745":"Click on the block you want to remove and press Delete on your keyboard.","334680754":"Switch to your real account to create a Deriv MT5 account","334942497":"Buy time","335040248":"About us","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","345818851":"Sorry, an internal error occurred. Hit the above checkbox to try again.","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","360773403":"Bot Builder","362772494":"This should not exceed {{max}} characters.","362946954":"Our legacy automated trading platform.","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","369035361":"<0>•Your account number","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","386191140":"You can choose between CFD trading accounts or Options and Multipliers accounts","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390647540":"Real account","390890891":"Last quarter","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","396801529":"To start trading, top-up funds from your Deriv account into this account.","396961806":"We do not support Polygon (Matic), to deposit please use only Ethereum ({{token}}).","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","402343402":"Due to an issue on our server, some of your {{platform}} accounts are unavailable at the moment. Please bear with us and thank you for your patience.","403456289":"The formula for SMA is:","404743411":"Total deposits","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","417714706":"If your margin level drops below our stop out level, your positions may be closed automatically to protect you from further losses.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","419496000":"Your contract is closed automatically when your profit is more than or equals to this amount. This block can only be used with the multipliers trade type.","419736603":"If yes, go to <0>Tutorials.","420072489":"CFD trading frequency","422055502":"From","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","428709688":"Your preferred time interval between each report:","430975601":"Town/City is not in a proper format.","432273174":"1:100","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","439398769":"This strategy is currently not compatible with Deriv Bot.","442520703":"$250,001 - $500,000","443203714":"Your contract will be closed automatically if your loss reaches this amount.","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","453409608":"Your profit is the percentage change in market price times your stake and the multiplier of your choice.","454196938":"Regulation:","454593402":"2. Please upload one of the following:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460070238":"Congratulations","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466369320":"Your gross profit is the percentage change in market price times your stake and the multiplier chosen here.","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","473154195":"Settings","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483551811":"Your <0>payout is the sum of your inital stake and profit.","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498144457":"A recent utility bill (e.g. electricity, water or gas)","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500215405":"Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502007051":"Demo Swap-Free SVG","502041595":"This block gives you a specific candle from within the selected time interval.","503137339":"Payout limit","505793554":"last letter","508390614":"Demo Financial STP","510815408":"Letters, numbers, spaces, hyphens only","511679687":"Accumulators allow you to express a view on the range of movement of an index and grow your stake exponentially at a fixed <0>growth rate.","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","518955798":"7. Run Once at Start","520136698":"Boom 500 Index","521872670":"item","522283618":"Digital options trading experience","522703281":"divisible by","523123321":"- 10 to the power of a given number","524459540":"How do I create variables?","527329988":"This is a top-100 common password","529056539":"Options","529597350":"If you had any open positions, we have closed them and refunded you.","530953413":"Authorised applications","531114081":"3. Contract Type","531675669":"Euro","535041346":"Max. total stake per day","538017420":"0.5 pips","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","543915570":"Forex, stocks, stock indices, cryptocurrencies, synthetic indices","545476424":"Total withdrawals","549479175":"Deriv Multipliers","550589723":"Your stake will grow at {{growth_rate}}% per tick as long as the current spot price remains within ±{{tick_size_barrier}} from the previous spot price.","551569133":"Learn more about trading limits","554135844":"Edit","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","556264438":"Time interval","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","592087722":"Employment status is required.","593459109":"Try a different currency","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","603849863":"Look for the <0>Repeat While/Until, and click the + icon to add the block to the workspace area.","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","611786123":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies, Stocks, and Stock Indices","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","617910072":"Use your Deriv account email and password to login into the {{ platform }} platform.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","629395043":"All growth rates","632398049":"This block assigns a null value to an item or statement.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","639382772":"Please upload supported file type.","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","642995056":"Email","644150241":"The number of contracts you have won since you last cleared your stats.","645016681":"Trading frequency in other financial instruments","645902266":"EUR/NZD","647039329":"Proof of address required","647192851":"Contract will be sold at the prevailing market price when the request is received by our servers. This price may differ from the indicated price.","647745382":"Input List {{ input_list }}","648035589":"Other CFD Platforms","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","651284052":"Low Tick","651684094":"Notify","652041791":"To create a Deriv X real account, create a Deriv real account first.","652298946":"Date of birth","654264404":"Up to 1:30","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","656296740":"While “Deal cancellation” is active:","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662548260":"Forex, Stock indices, Commodities and Cryptocurrencies","662578726":"Available","662609119":"Download the MT5 app","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","680334348":"This block was required to correctly convert your old strategy.","680478881":"Total withdrawal limit","681808253":"Previous spot price","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","684282133":"Trading instruments","685391401":"If you're having trouble signing in, let us know via <0>chat","686312916":"Trading accounts","686387939":"How do I clear my transaction log?","687193018":"Slippage risk","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","693396140":"Deal cancellation (expired)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","699159918":"1. Filing complaints","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","705299518":"Next, upload the page of your passport that contains your photo.","706413212":"To access the cashier, you are now in your {{regulation}} {{currency}} ({{loginid}}) account.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","706960383":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 60 seconds.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724203548":"You can send your complaint to the <0>European Commission's Online Dispute Resolution (ODR) platform. This is not applicable to UK clients.","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","734390964":"Insufficient balance","734881840":"false","742469109":"Reset Balance","742676532":"Trade CFDs on forex, derived indices, cryptocurrencies, and commodities with high leverage.","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","750886728":"Switch to your real account to submit your documents","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755867072":"{{platform_name_mt5}} is not available in {{country}}","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","759783233":"For more information and assistance to counselling and support services, please visit <0>begambleaware.org.","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762185380":"<0>Multiply returns by <0>risking only what you put in.","762871622":"{{remaining_time}}s","762926186":"A quick strategy is a ready-made strategy that you can use in Deriv Bot. There are 3 quick strategies you can choose from: Martingale, D'Alembert, and Oscar's Grind.","763019867":"Your Gaming account is scheduled to be closed","764366329":"Trading limits","764540515":"Stopping the bot is risky","766317539":"Language","770171141":"Go to {{hostname}}","772632060":"Do not send any other currency to the following address. Otherwise, you'll lose funds.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","775706054":"Do you sell trading bots?","776085955":"Strategies","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787727156":"Barrier","788005234":"NA","792164271":"This is when your contract will expire based on the Duration or End time you’ve selected.","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","793826881":"This is your personal start page for Deriv","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","811876954":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, and {{platform_name_dxtrade}} accounts.","812430133":"Spot price on the previous tick.","814827314":"The stop-out level on the chart indicates the price at which your potential loss equals your entire stake. When the market price reaches this level, your position will be closed automatically. This ensures that your loss does not exceed the amount you paid to purchase the contract.","815925952":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open Deriv Bot.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","822915673":"Earn a range of payouts by correctly predicting market price movements with <0>options, or get the upside of CFDs without risking more than your initial stake with <1>multipliers.","823186089":"A block that can contain text.","824797920":"Is list empty?","825042307":"Let’s try again","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830993327":"No current transactions available","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832588873":"Order execution","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835058671":"Total buy price","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839618971":"ADDRESS","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845213721":"Logout","845304111":"Slow EMA Period {{ input_number }}","847888634":"Please withdraw all your funds.","848083350":"Your payout is equal to the <0>payout per point multiplied by the difference between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852527030":"Step 2","852583045":"Tick List String","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","860319618":"Tourism","862283602":"Phone number*","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869823595":"Function","869993298":"Minimum withdrawal","872549975":"You have {{number}} transfers remaining for today.","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872721776":"2. Select your XML file and hit Select.","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","874461655":"Scan the QR code with your phone","874484887":"Take profit must be a positive number.","875101277":"If I close my web browser, will Deriv Bot continue to run?","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","879647892":"You may sell the contract up until 60 seconds before expiry. If you do, we’ll pay you the <0>contract value.","881000060":"{{transaction_type_display_text}} {{currency}}","885065431":"Get a Deriv account","888274063":"Town/City","888924866":"We don’t accept the following inputs for:","890299833":"Go to Reports","891337947":"Select country","892341141":"Your trading statistics since: {{date_time}}","893117915":"Variable","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","898457777":"You have added a Deriv Financial account.","900646972":"page.","901096150":"Earn a range of payouts by correctly predicting market price movements with <0>options, or get the\n upside of CFDs without risking more than your initial stake with <1>multipliers.","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905134118":"Payout:","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","907680782":"Proof of ownership verification failed","910888293":"Too many attempts","912406629":"Follow these steps:","912967164":"Import from your computer","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921901739":"- your account details of the bank linked to your account","924046954":"Upload a document showing your name and bank account number or account details.","926813068":"Fixed/Variable","929608744":"You are unable to make withdrawals","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","934835052":"Potential profit","934932936":"PERSONAL","936766426":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938988777":"High barrier","943535887":"Please close your positions in the following Deriv MT5 account(s):","944499219":"Max. open positions","945532698":"Contract sold","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","946944859":"Hit the button below and we'll send you an email with a link. Click that link to verify your withdrawal request.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948545552":"150+","949859957":"Submit","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","955352264":"Trade on {{platform_name_dxtrade}}","956448295":"Cut-off image detected","957182756":"Trigonometric functions","957956227":"Congratulations, you have successfully created your {{category}} {{deriv_keyword}} <0>{{platform}} <1>{{type}} account.","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961178214":"You can only purchase one contract at a time","961266215":"140+","961327418":"My computer","961692401":"Bot","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","983451828":"2. Select the asset and trade type.","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988064913":"4. Come back to Deriv Bot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","990739582":"170+","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","999008199":"text","1001160515":"Sell","1001749987":"You’ll get a warning, named margin call, if your account balance drops down close to the stop out level.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006458411":"Errors","1006664890":"Silent","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021679446":"Multipliers only","1022934784":"1 minute","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1025887996":"Negative Balance Protection","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1027098103":"Leverage gives you the ability to trade a larger position using your existing capital. Leverage varies across different symbols.","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1035506236":"Choose a new password","1035893169":"Delete","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039755542":"Use a few words, avoid common phrases","1040472990":"1. Go to Bot Builder.","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043483281":"Click Run when you want to start trading, and click Stop when you want to stop.","1043790274":"There was an error","1044230481":"This is an Ethereum ({{token}}) only address, please do not use {{prohibited_token}}.","1044540155":"100+","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052137359":"Family name*","1052779010":"You are on your demo account","1053153674":"Jump 50 Index","1053159279":"Level of education","1053556481":"Once you submit your complaint, we will send you an acknowledgement email to confirm that we have received it.","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057749183":"Two-factor authentication (2FA)","1057765448":"Stop out level","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1058804653":"Expiry","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1062536855":"Equals","1065353420":"110+","1065498209":"Iterate (1)","1066235879":"Transferring funds will require you to create a second account.","1066459293":"4.3. Acknowledging your complaint","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1069576070":"Purchase lock","1070624871":"Check proof of address document verification status","1073261747":"Verifications","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078221772":"Leverage prevents you from opening large positions.","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1086118495":"Traders Hub","1087112394":"You must select the strike price before entering the contract.","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1089436811":"Tutorials","1089687322":"Stop your current bot?","1095295626":"<0>•The Arbiter for Financial Services will determine whether the complaint can be accepted and is in accordance with the law.","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1099892929":"Save bot","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1114679006":"You have successfully created your bot using a simple strategy.","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127149819":"Make sure§","1127224297":"Sorry for the interruption","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130744117":"We shall try to resolve your complaint within 10 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1138126442":"Forex: standard","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1147625645":"Please proceed to withdraw all your funds from your account before <0>30 November 2021.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163771266":"The third block is <0>optional. You may use this block if you want to sell your contract before it expires. For now, leave the block as it is. ","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1171765024":"Step 3","1173770679":"- currentPL: Use this variable to store the cumulative profit or loss while your bot is running. Set the initial value to 0.","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174748431":"Payment channel","1175183064":"Vanuatu","1176926166":"Experience with trading other financial instruments","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1180619731":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1184968647":"Close your contract now or keep it running. If you decide to keep it running, you can check and close it later on the ","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189249001":"4.1. What is considered a complaint?","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1191644656":"Predict the market direction and select either “Up” or “Down” to open a position. We will charge a commission when you open a position.","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196683606":"Deriv MT5 CFDs demo account","1197326289":"You are no longer able to trade digital options on any of our platforms. Also, you can’t make deposits into your Options account.","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1206227936":"How to mask your card?","1206821331":"Armed Forces","1207152000":"Choose a template and set your trade parameters.","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225150022":"Number of assets","1227074958":"random fraction","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1235426525":"50%","1237330017":"Pensioner","1238311538":"Admin","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1240688917":"Glossary","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1242288838":"Hit the checkbox above to choose your document.","1242994921":"Click here to start building your Deriv Bot.","1243064300":"Local","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250495155":"Token copied!","1252669321":"Import from your Google Drive","1254565203":"set {{ variable }} to create list with","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1263387702":"All {{count}} account types use market execution. This means you agree with the broker's price in advance and will place orders at the broker's price.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265704976":"","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1271461759":"Your contract will be closed automatically if your profit reaches this amount.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274819385":"3. Complaints and Disputes","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289646209":"Margin call","1290525720":"Example: ","1291887623":"Digital options trading frequency","1291997417":"Contracts will expire at exactly 23:59:59 GMT on your selected expiry date.","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1297577226":"Create your bot easily using our drag-and-drop blocks to match your desired trading strategy, or choose from our pre-made Quick Strategies.","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1304788377":"<0/><1/>If your complaint relates to our data processing practices, you can submit a formal complaint to the <2>Information and Data Protection Commissioner (Malta) on their website or make a complaint to any supervisory authority within the European Union.","1304807342":"Compare CFDs demo accounts","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1311799109":"We do not support Binance Smart Chain tokens to deposit, please use only Ethereum ({{token}}).","1313167179":"Please log in","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324110809":"Address information","1324922837":"2. The new variable will appear as a block under Set variable.","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1341840346":"View in Journal","1346204508":"Take profit","1346339408":"Managers","1347071802":"{{minutePast}}m ago","1348009461":"Please close your positions in the following Deriv X account(s):","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1353958640":"You can also use these shortcuts to import or build your bot.","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357129681":"{{num_day}} days {{num_hour}} hours {{num_minute}} minutes","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1359424217":"You have sold this contract at <0 />","1360929368":"Add a Deriv account","1362578283":"High","1363060668":"Your trading statistics since:","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364958515":"Stocks","1366244749":"Limits","1367023655":"To ensure your loss does not exceed your stake, your contract will be closed automatically when your loss equals to <0/>.","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1369709538":"Our terms of use","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1374627690":"Max. account balance","1376329801":"Last 60 days","1378419333":"Ether","1380349261":"Range","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392966771":"Mrs","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400637999":"(All fields are required)","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1410320737":"Go to Deriv MT5 dashboard","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1415006332":"get sub-list from first","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1433468641":"We offer our services in all countries, except for the ones mentioned in our terms and conditions.","1434382099":"Displays a dialog window with a message","1434767075":"Get started on Deriv Bot","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1435380105":"Minimum deposit","1437396005":"Add comment","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454406889":"Choose <0>until as the repeat option.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467534387":"The spot price may change by the time your order reaches our servers. When this happens, your payout maybe affected.","1467661678":"Cryptocurrency trading","1467880277":"3. General queries","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468937050":"Trade on {{platform_name_trader}}","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1471008053":"Deriv Bot isn't quite ready for real accounts","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1480915523":"Skip","1481977420":"Please help us verify your withdrawal request.","1483470662":"Click ‘Open’ to start trading with your account","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488126519":"Your bots","1488548367":"Upload again","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499074768":"Add a real Deriv Multipliers account","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1505927599":"Our servers hit a bump. Let’s refresh to move on.","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1516537408":"You can no longer trade on Deriv or deposit funds into your account.","1516559721":"Please select one file only","1516676261":"Deposit","1516834467":"‘Get’ the accounts you want","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1519891032":"Welcome to Trader's Hub","1520332426":"Net annual income","1524636363":"Authentication failed","1526483456":"2. Enter a name for your variable, and hit Create. New blocks containing your new variable will appear below.","1527251898":"Unsuccessful","1527664853":"Your payout is equal to the payout per point multiplied by the difference between the final price and the strike price.","1527906715":"This block adds the given number to the selected variable.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534569275":"As part of the changes in our markets, we will be closing our UK clients’ accounts.","1534796105":"Gets variable value","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541969455":"Both","1542742708":"Synthetics, Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1548765374":"Verification of document number failed","1549098835":"Total withdrawn","1551172020":"AUD Basket","1552162519":"View onboarding","1552918367":"Send only {{currency}} ({{currency_symbol}}) to this address.","1555345325":"User Guide","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1559220089":"Options and multipliers trading platform.","1560302445":"Copied","1562374116":"Students","1564392937":"When you set your limits or self-exclusion, they will be aggregated across all your account types in {{platform_name_trader}} and {{platform_name_dbot}}. For example, the losses made on both platforms will add up and be counted towards the loss limit you set.","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1567076540":"Only use an address for which you have proof of residence - ","1567586204":"Self-exclusion","1567745852":"Bot name","1569624004":"Dismiss alert","1570484627":"Ticks list","1571303610":"3. Set your trade parameters and hit Create.","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1573533094":"Your document is pending for verification.","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1585859194":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts, and your Deriv fiat and {{platform_name_dxtrade}} accounts.","1587046102":"Documents from that country are not currently supported — try another document type","1589148299":"Start","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1596378630":"You have added a real Gaming account.<0/>Make a deposit now to start trading.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1602894348":"Create a password","1604171868":"Please withdraw all your funds as soon as possible.","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1611306795":"How is my bot doing?","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1613633732":"Interval should be between 10-60 minutes","1615897837":"Signal EMA Period {{ input_number }}","1617455864":"Shortcuts","1618809782":"Maximum withdrawal","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1622944161":"Now, go to the <0>Restart trading conditions block.","1623706874":"Use this block when you want to use multipliers as your trade type.","1628981793":"Can I trade cryptocurrencies on Deriv Bot?","1630372516":"Try our Fiat onramp","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1649239667":"2. Under the Blocks menu, you'll see a list of categories. Blocks are grouped within these categories. Choose the block you want and drag them to the workspace.","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1654365787":"Unknown","1654721858":"Upload anyway","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1675030608":"To create this account first we need you to resubmit your proof of address.","1675289747":"Switched to real account","1677027187":"Forex","1677990284":"My apps","1679743486":"1. Go to Quick strategy and select the strategy you want.","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683522174":"Top-up","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1687173740":"Get more","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1691335819":"To continue trading with us, please confirm who you are.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694331708":"You can switch between CFDs, digital options, and multipliers at any time.","1694517345":"Enter a new email address","1698624570":"2. Hit Ok to confirm.","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709401095":"Trade CFDs on Deriv X with financial markets and our Derived indices.","1709859601":"Exit Spot Time","1710662619":"If you have the app, launch it to start trading.","1711013665":"Anticipated account turnover","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1717023554":"Resubmit documents","1719248689":"EUR/GBP/USD","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728121741":"Transactions.csv","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1732891201":"Sell price","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738094481":"<0>Duration: Ticks 1","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743679873":"If you select <0>\"Call\", you’ll earn a <1>payout if the <1>final price is above the <1>strike price at <1>expiry. Otherwise, you won’t receive a payout.","1743902050":"Complete your financial assessment","1744509610":"Just drag the XML file from your computer onto the workspace, and your bot will be loaded accordingly. Alternatively, you can hit Import in Bot Builder, and choose to import your bot from your computer or from your Google Drive.","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747523625":"Go back","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1749675724":"Deriv charges no commission across all account types.","1750065391":"Login time:","1753183432":"We take all complaints seriously and aim to resolve them as quickly and fairly as possible. If you are unhappy with any aspect of our service, please let us know by submitting a complaint using the guidance below:","1753226544":"remove","1753975551":"Upload passport photo page","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1762746301":"MF4581125","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1767429330":"Add a Derived account","1768293340":"Contract value","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1781393492":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts and your Deriv fiat and {{platform_name_dxtrade}} accounts.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783526986":"How do I build a trading bot?","1783740125":"Upload your selfie","1787135187":"Postal/ZIP code is required","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788515547":"<0/>For more information on submitting a complaint with the Office of the Arbiter for Financial Services, please <1>see their guidance.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1790770969":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies","1791017883":"Check out this <0>user guide.","1791432284":"Search for country","1791971912":"Recent","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801270786":"Ready to automate your trading strategy without writing any code? You’ve come to the right place.","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806017862":"Max. ticks","1806355993":"No commission","1806503050":"Please note that some payment methods might not be available in your country.","1808058682":"Blocks are loaded successfully","1808393236":"Login","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812006199":"Identity verification","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1816126006":"Trade on Deriv MT5 ({{platform_name_dmt5}}), the all-in-one FX and CFD trading platform.","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1831847842":"I confirm that the name and date of birth above match my chosen identity document (see below)","1833481689":"Unlock","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1838639373":"Resources","1839021527":"Please enter a valid account number. Example: CR123456789","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841381387":"Get more wallets","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1842862156":"Welcome to your Deriv X dashboard","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846664364":"{{platform_name_dxtrade}}","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1850663784":"Submit proofs","1851052337":"Place of birth is required.","1851776924":"upper","1854480511":"Cashier is locked","1854874899":"Back to list","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1858251701":"minute","1859308030":"Give feedback","1863053247":"Please upload your identity document.","1863694618":"Trade CFDs on MT5 with forex, stocks, stock indices, commodities, and cryptocurrencies.","1863731653":"To receive your funds, contact the payment agent","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1866836018":"<0/><1/>If your complaint relates to our data processing practices, you can submit a formal complaint to your local supervisory authority.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871377550":"Do you offer pre-built trading bots on Deriv Bot?","1871664426":"Note","1873838570":"Please verify your address","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874756442":"BVI","1875702561":"Load or build your bot","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1877225775":"Your proof of address is verified","1877410120":"What you need to do now","1877832150":"# from end","1878172674":"No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879463662":"A minimum deposit value of {{minimum_deposit}} {{currency}} is required. Otherwise, the funds will be lost and cannot be recovered.","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880875522":"Create \"get %1\"","1881018702":"hour","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887852176":"Site is being updated","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1894667135":"Please verify your proof of address","1898670234":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0> {{opening_date}}.","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906213000":"Our system will finish any Deriv Bot trades that are running, and Deriv Bot will not place any new trades.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907884620":"Add a real Deriv Gaming account","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1917804780":"You will lose access to your Options account when it gets closed, so be sure to withdraw all your funds. (If you have a CFDs account, you can also transfer the funds from your Options account to your CFDs account.)","1918633767":"Second line of address is not in a proper format.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921634159":"A few personal details","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1923431535":"“Stop loss” is deactivated and will only be available when “Deal cancellation” expires.","1924365090":"Maybe later","1924765698":"Place of birth*","1925090823":"Sorry, trading is unavailable in {{clients_country}}.","1928930389":"GBP/NOK","1929309951":"Employment Status","1929379978":"Switch between your demo and real accounts.","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1934450653":"For <0>Contract type, set it to Both.","1939014728":"How do I remove blocks from the workspace?","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1942091675":"Cryptocurrency trading is not available for clients residing in the United Kingdom.","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1952580688":"Submit passport photo page","1955219734":"Town/City*","1957759876":"Upload identity document","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964097111":"USD","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1970060713":"You’ve successfully deleted a bot.","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973564194":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} or {{platform_name_dxtrade}} account.","1973910243":"Manage your accounts","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1974903951":"If you hit Yes, the info you entered will be lost.","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983358602":"This policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","1983387308":"Preview","1983480826":"Sign in","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1986094286":"- maximumLoss: Use this variable to store your maximum loss limit. You can assign any amount you want, but it must be a positive number.","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991055223":"View the market price of your favourite assets.","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1997313835":"Your stake will continue to grow as long as the current spot price remains within a specified <0>range from the <0>previous spot price. Otherwise, you lose your stake and the trade is terminated.","1998199587":"You can also exclude yourself entirely for a specified duration. If, at any time, you decide to trade again, you must then contact our Customer Support to remove this self-exclusion. There will be a 24-hour-cooling-off period before you can resume trading. ","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2004395123":"New trading tools for MT5","2004792696":"If you are a UK resident, to self-exclude from all online gambling companies licensed in Great Britain, go to <0>www.gamstop.co.uk.","2007028410":"market, trade type, contract type","2007092908":"Trade with leverage and low spreads for better returns on successful trades.","2008809853":"Please proceed to withdraw your funds before 30 November 2021.","2009770416":"Address:","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2021161151":"Watch this video to learn how to build a trading bot on Deriv Bot. Also, check out this blog post on building a trading bot.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027625329":"Simple Moving Average Array (SMAA)","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037481040":"Choose a way to fund your account","2037607934":"The purchase of <0>{{trade_type_name}} contract has been completed successfully for the amount of <0> {{buy_price}} {{currency}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2048110615":"Email address*","2048134463":"File size exceeded.","2049386104":"We need you to submit these in order to get this account:","2050080992":"Tron","2050170533":"Tick list","2051558666":"View transaction history","2053617863":"Please proceed to withdraw all your funds from your account.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059365224":"Yes, you can get started with a pre-built bot using the Quick strategy feature. You’ll find some of the most popular trading strategies here: Martingale, D'Alembert, and Oscar's Grind. Just select the strategy, enter your trade parameters, and your bot will be created for you. You can always tweak the parameters later.","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062912059":"function {{ function_name }} {{ function_params }}","2063655921":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","2063812316":"Text Statement","2063890788":"Cancelled","2065278286":"Spread","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070752475":"Regulatory Information","2071043849":"Browse","2073813664":"CFDs, Options or Multipliers","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2074713563":"4.2. Submission of a complaint","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2084925123":"Use our fiat onramp services to buy and deposit cryptocurrency into your Deriv account.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086742952":"You have added a real Options account.<0/>Make a deposit now to start trading.","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089581483":"Expires on","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2097170986":"About Tether (Omni)","2097365786":"A copy of your identity document (identity card, passport)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2100713124":"account","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104364680":"Please switch to your demo account to run your Deriv Bot.","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2109312805":"The spread is the difference between the buy price and sell price. A variable spread means that the spread is constantly changing, depending on market conditions. A fixed spread remains constant but is subject to alteration, at the Broker's absolute discretion.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2115223095":"Loss","2117073379":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can access the Cashier in a few minutes when the maintenance is complete.","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118315870":"Where do you live?","2119449126":"Example output of the below example will be:","2119710534":"FAQ","2120617758":"Set up your trade","2121227568":"NEO/USD","2122152120":"Assets","2127564856":"Withdrawals are locked","2131963005":"Please withdraw your funds from the following Deriv MT5 account(s):","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2141873796":"Get more info on <0>CFDs, <1>multipliers, and <2>options.","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146698770":"Pro tip: You can also click and drag out the desired block","2146892766":"Binary options trading experience","2147244655":"How do I import my own trading bot into Deriv Bot?","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-1497654315":"Our accounts and services are unavailable for the Jersey postal code.","-755626951":"Complete your address details","-1024240099":"Address","-584911871":"Select wallet currency","-1461267236":"Please choose your currency","-1352330125":"CURRENCY","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-654781670":"Primary","-1717373258":"Secondary","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-739367071":"Employed","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-1232613003":"<0>Verification failed. <1>Why?","-2029508615":"<0>Need verification.<1>Verify now","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-1356204661":"This Tax Identification Number (TIN) is invalid. You may continue with account creation, but to facilitate future payment processes, valid tax information will be required.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-621555159":"Identity information","-204765990":"Terms of use","-231863107":"No","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-1214803297":"Dashboard-only path","-526636259":"Error 404","-1030759620":"Government Officers","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-1437206131":"JPEG JPG PNG PDF GIF","-820458471":"1 - 6 months old","-155705811":"A clear colour photo or scanned image","-587941902":"Issued under your name with your current address","-438669274":"JPEG JPG PNG PDF GIF","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1120954663":"First name*","-1659980292":"First name","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1315571766":"Place of birth","-2040322967":"Citizenship","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-190838815":"We need this for verification. If the information you provide is fake or inaccurate, you won’t be able to deposit and withdraw.","-1113902570":"Details","-71696502":"Previous","-1541554430":"Next","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1166068675":"Your account will be opened with {{legal_entity_name}}, regulated by the UK Gaming Commission (UKGC), and will be subject to the laws of the Isle of Man.","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-680528873":"Your account will be opened with {{legal_entity_name}} and will be subject to the laws of Samoa.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-684271315":"OK","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-1265833982":"Accept","-839094775":"Back","-2145244263":"This field is required","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-179005984":"Save","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-1292808093":"Trading Experience","-884768257":"You should enter 0-35 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-874280157":"This Tax Identification Number (TIN) is invalid. You may continue using it, but to facilitate future payment processes, valid tax information will be required.","-1037916704":"Miss","-634958629":"We use the information you give us only for verification purposes. All information is kept confidential.","-731992635":"Title*","-352888977":"Title","-136976514":"Country of residence*","-945104751":"We’re legally obliged to ask for your tax information.","-1702919018":"Second line of address (optional)","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2121071263":"Check this box to receive updates via email.","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-1923892687":"Please withdraw your funds from the following Deriv X account(s):","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-9323953":"Remaining characters: {{remaining_characters}}","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-937707753":"Go Back","-1219849101":"Please select at least one reason","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1076138910":"Trade","-488597603":"Trading information","-1666909852":"Payments","-1725454783":"Failed","-506510414":"Date and time","-1708927037":"IP address","-80717068":"Apps you have linked to your <0>Deriv password:","-9570380":"Use the {{platform_name_dxtrade}} password to log in to your {{platform_name_dxtrade}} accounts on the web and mobile apps.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-650175948":"A recent bank statement or government-issued letter with your name and address.","-2006895756":"1. Address","-716361389":"An accurate and complete address helps to speed up your verification process.","-1315410953":"State/Province","-890084320":"Save and submit","-1592318047":"See example","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-1272489896":"Please complete this field.","-397487797":"Enter your full card number","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-1515286538":"Please enter your document number. ","-477761028":"Voter ID","-1466346630":"CPF","-1694758788":"Enter your document number","-1458676679":"You should enter 2-50 characters.","-1176889260":"Please select a document type.","-612752984":"These are default limits that we apply to your accounts.","-1598263601":"To learn more about trading limits and how they apply, please go to the <0>Help Centre.","-1411635770":"Learn more about account limits","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-138380129":"Total withdrawal allowed","-854023608":"To increase limit please verify your identity","-1500958859":"Verify","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-223216785":"Second line of address*","-594456225":"Second line of address","-1940457555":"Postal/ZIP Code*","-1964954030":"Postal/ZIP Code","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-786372363":"Learn more about API token","-55560916":"To access our mobile apps and other third-party apps, you'll first need to generate an API token.","-198329198":"API Token","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-1117963487":"Name your token and click on 'Create' to generate your token.","-2005211699":"Create","-2115275974":"CFDs","-1879666853":"Deriv MT5","-460645791":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-561724665":"You are limited to one fiat currency only","-2087317410":"Oops, something went wrong.","-509054266":"Anticipated annual turnover","-1117345066":"Choose the document type","-651192353":"Sample:","-1044962593":"Upload Document","-164448351":"Show less","-1361653502":"Show more","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-1525879032":"Your documents for proof of address is expired. Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-1926456107":"The ID you submitted is expired.","-555047589":"It looks like your identity document has expired. Please try again with a valid document.","-841187054":"Try Again","-2097808873":"We were unable to verify your ID with the details you provided. ","-228284848":"We were unable to verify your ID with the details you provided.","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-749870311":"Please contact us via <0>live chat.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-856213726":"You must also submit a proof of address.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-2068479232":"{{platform}} password","-1332137219":"Strong passwords contain at least 8 characters that include uppercase and lowercase letters, numbers, and symbols.","-1597186502":"Reset {{platform}} password","-848721396":"These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. If you live in the United Kingdom, Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request. If you live in the Isle of Man, Customer Support can only remove or weaken your trading limits after your trading limit period has expired.","-469096390":"These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request.","-42808954":"You can also exclude yourself entirely for a specified duration. This can only be removed once your self-exclusion has expired. If you wish to continue trading once your self-exclusion period expires, you must contact Customer Support by calling <0>+447723580049 to lift this self-exclusion. Requests by chat or email shall not be entertained. There will be a 24-hour cooling-off period before you can resume trading.","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-1702324712":"These limits are optional, and you can adjust them at any time. You decide how much and how long you’d like to trade. If you don’t wish to set a specific limit, leave the field blank.","-1819875658":"You can also exclude yourself entirely for a specified duration. Once the self-exclusion period has ended, you can either extend it further or resume trading immediately. If you wish to reduce or remove the self-exclusion period, contact our <0>Customer Support.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2121421686":"To self-exclude from all online gambling companies licensed in Great Britain, go to <0>www.gamstop.co.uk.","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-428335668":"You will need to set a password to complete the process.","-1743024217":"Select Language","-30772747":"Your personal details have been saved successfully.","-1107320163":"Automate your trading, no coding needed.","-829643221":"Multipliers trading platform.","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-820028470":"Options & Multipliers","-1018945969":"TradersHub","-1856204727":"Reset","-213142918":"Deposits and withdrawals temporarily unavailable ","-224804428":"Transactions","-1186807402":"Transfer","-1308346982":"Derived","-1145604233":"Trade CFDs on MT5 with Derived indices that simulate real-world market movements.","-328128497":"Financial","-1484404784":"Trade CFDs on MT5 with forex, stock indices, commodities, and cryptocurrencies.","-659955365":"Swap-Free","-133406819":"Trade swap-free CFDs on MT5 with synthetics, forex, stocks, stock indices, cryptocurrencies and ETFs.","-1210359945":"Transfer funds to your accounts","-81256466":"You need a Deriv account to create a CFD account.","-699372497":"Trade with leverage and tight spreads for better returns on successful trades. <0>Learn more","-1884966862":"Get more Deriv MT5 account with different type and jurisdiction.","-596618970":"Other CFDs","-982095728":"Get","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-172898036":"CR5236585","-1665192032":"Multipliers account","-744999940":"Deriv account","-1638358352":"Get the upside of CFDs without risking more than your initial stake with <0>Multipliers.","-749129977":"Get a real Deriv account, start trading and manage your funds.","-1814994113":"CFDs <0>{{compare_accounts_title}}","-318106501":"Trade CFDs on MT5 with synthetics, baskets, and derived FX.","-1328701106":"Trade CFDs on MT5 with forex, stocks, stock indices, synthetics, cryptocurrencies, and commodities.","-1290112064":"Deriv EZ","-1453519913":"Trade CFDs on an easy-to-get-started platform with all your favourite assets.","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-181080141":"Trading hub tour","-1042025112":"Need help moving around?<0>We have a short tutorial that might help. Hit Repeat tour to begin.","-1536335438":"These are the trading accounts available to you. You can click on an account’s icon or description to find out more","-1034232248":"CFDs or Multipliers","-1320214549":"You can choose between CFD trading accounts and Multipliers accounts","-2069414013":"Click the ‘Get’ button to create an account","-951876657":"Top-up your account","-1945421757":"Once you have an account click on ‘Deposit’ or ‘Transfer’ to add funds to an account","-1965920446":"Start trading","-33612390":"<0>EU statutory disclaimer: CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. <0>73% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money.","-1975494965":"Cashier","-1787304306":"Deriv P2P","-2021135479":"This field is required.","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-42592103":"Deposit cryptocurrencies","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-190084602":"Transaction","-1995606668":"Amount","-811190405":"Time","-1984478597":"The details of this transaction is available on CoinsPaid.","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-299033842":"Recent transactions","-704362715":"{{amount}} {{currency}} on {{submit_date_moment}}","-1534990259":"Transaction hash:","-1612346919":"View all","-1059419768":"Notes","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-1463156905":"Learn more about payment methods","-2013448791":"Want to exchange between e-wallet currencies? Try <0>Ewallet.Exchange","-1547606079":"We accept the following cryptocurrencies:","-1517325716":"Deposit via the following payment methods:","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-474666134":"This is your {{currency_code}} account {{loginid}}","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-781389987":"This is your {{regulation_text}} {{currency_code}} account {{loginid}}","-1068036170":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-1361372445":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts, your Deriv cryptocurrency and {{platform_name_derivez}} accounts, and your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1995859618":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_derivez}} and {{platform_name_dxtrade}} accounts.","-545616470":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_derivez }} transfers between your Deriv and {{platform_name_derivez}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-1344870129":"Deriv accounts","-1156059326":"You have {{number}} transfer remaining for today.","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-993393818":"Binance Smart Chain","-561858764":"Polygon (Matic)","-410890127":"Ethereum (ERC20)","-1059526741":"Ethereum (ETH)","-1615615253":"We do not support Tron, to deposit please use only Ethereum ({{token}}).","-1831000957":"Please select the network from where your deposit will come from.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-1345040662":"Looking for a way to buy cryptocurrency?","-759000391":"We were unable to verify your information automatically. To enable this function, you must complete the following:","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-2024958619":"This is to protect your account from unauthorised withdrawals.","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-447037544":"Buy price:","-1342699195":"Total profit/loss:","-1511825574":"Profit/Loss:","-726626679":"Potential profit/loss:","-338379841":"Indicative price:","-2027409966":"Initial stake:","-1525144993":"Payout limit:","-1167474366":"Tick ","-555886064":"Won","-529060972":"Lost","-571642000":"Day","-155989831":"Decrement value","-1192773792":"Don't show this again","-1769852749":"N/A","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-1397946060":"Deriv Bot is not available for this account","-1223145005":"Loss amount: {{profit}}","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-668558002":"Journal.csv","-746652890":"Notifications","-824109891":"System","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-1918487001":"Example:","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-767342552":"Enter your bot name, choose to save on your computer or Google Drive, and hit ","-1372891985":"Save.","-462715374":"Untitled Bot","-1150107517":"Connect","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-1058262694":"Stopping the bot will prevent further trades. Any ongoing trades will be completed by our system.","-1473283434":"Please be aware that some completed transactions may not be displayed in the transaction table if the bot is stopped while placing trades.","-397015538":"You may refer to the statement page for details of all completed transactions.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-627895223":"Exit spot","-596238067":"Entry/Exit spot","-558594655":"The bot is not running","-478946875":"The stats are cleared","-1842451303":"Welcome to Deriv Bot!","-1391310674":"Check out these guides and FAQs to learn more about building your bot:","-2066779239":"FAQs","-280324365":"What is Deriv Bot?","-507620484":"Unsaved","-764102808":"Google Drive","-1696412885":"Import","-250192612":"Sort","-1566369363":"Zoom out","-1285759343":"Search","-1040972299":"Purchase contract","-600546154":"Sell contract (optional)","-985351204":"Trade again","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1778025545":"You’ve successfully imported a bot.","-934909826":"Load strategy","-1692205739":"Import a bot from your computer or Google Drive, build it from scratch, or start with a quick strategy.","-1545070554":"Delete bot","-1972599670":"Your bot will be permanently deleted when you hit ","-1692956623":"Yes, delete.","-573479616":"Are you sure you want to delete it?","-786915692":"You are connected to Google Drive","-1256971627":"To import your bot from your Google Drive, you'll need to sign in to your Google account.","-1233084347":"To know how Google Drive handles your data, please review Deriv’s <0>Privacy policy.","-305283152":"Strategy name","-1003476709":"Save as collection","-636521735":"Save strategy","-1953880747":"Stop my bot","-1899230001":"Stopping the current bot will load the Quick Strategy you just created to the workspace.","-2131847097":"Any open contracts can be viewed on the ","-563774117":"Dashboard","-939764287":"Charts","-1793577405":"Build from scratch","-1805712946":"We also provide a tutorial on this tab to show you how you can build and execute a simple strategy.","-1212601535":"Monitor the market","-101854331":"Guides and FAQs to help you","-495736035":"Start with a video guide and the FAQs.","-1584847169":"See your bot's performance in real-time.","-1918369898":"Run or stop your bot","-782992165":"Step 1 :","-1656388044":"First, set <0>Market to Derived > Continuous Indices > Volatility 100 (1s) Index.","-1706298865":"Then, set <0>Trade type to Up/Down > Rise/Fall.","-1834358537":"For <0>Default candle interval, set it to 1 minute","-1940971254":"For <0>Trade options, set it as below:","-512839354":"<0>Stake: USD 10 (min: 0.35 - max: 50000)","-753745278":"Step 2 :","-1056713679":"Then, set the <0>Purchase conditions block.","-245497823":"<0>2. Purchase conditions:","-916770284":"<0>Purchase: Rise","-758077259":"Step 3 :","-677396944":"Step 4 :","-295975118":"Next, go to <0>Utility tab under the Blocks menu. Tap the drop-down arrow and hit <0>Loops.","-698493945":"Step 5 :","-1992994687":"Now, tap the <0>Analysis drop-down arrow and hit <0>Contract.","-1844492873":"Go to the <0>Last trade result block and click + icon to add the <0>Result is Win block to the workspace.","-1547091772":"Then, drag the <0>Result is win into the empty slot next to <0>repeat until block.","-736400802":"Step 6 :","-732067680":"Finally, drag and add the whole <0>Repeat block to the <0>Restart trading conditions block.","-1411787252":"Step 1","-1447398448":"Import a bot from your mobile device or from Google drive, see a preview in the bot builder, and start trading by running the bot, or choose from our pre-made Quick Strategies. ","-1109191651":"Must be a number higher than 0","-689786738":"Minimum duration: {{ min }}","-184183432":"Maximum duration: {{ max }}","-1494924808":"The value must be equal to or greater than 2.","-1823621139":"Quick Strategy","-1455277971":"Exit Tour","-1999747212":"Want to retake the tour?","-358288026":"Note: You can also find this tutorial in the <0>Tutorials tab.","-683790172":"Now, <0>run the bot to test out the strategy.","-129587613":"Got it, thanks!","-1519425996":"No results found \"{{ faq_search_value }}\"","-155173714":"Let’s build a bot!","-1919212468":"3. You can also search for the blocks you want using the search bar above the categories.","-1520558271":"For more info, check out this blog post on the basics of building a trading bot.","-980360663":"3. Choose the block you want and drag it to the workspace.","-1493168314":"What is a quick strategy?","-1680391945":"Using a quick strategy","-1177914473":"How do I save my strategy?","-271986909":"In Bot Builder, hit Save on the toolbar at the top to download your bot. Give your bot a name, and choose to download your bot to your device or Google Drive. Your bot will be downloaded as an XML file.","-1149045595":"1. After hitting Import, select Local and click Continue.","-288041546":"2. Select your XML file and hit Open.","-2127548288":"3. Your bot will be loaded accordingly.","-1311297611":"1. After hitting Import, select Google Drive and click Continue.","-1549564044":"How do I reset the workspace?","-1127331928":"In Bot Builder, hit Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.","-1720444288":"How do I control my losses with Deriv Bot?","-1142295124":"There are several ways to control your losses with Deriv Bot. Here’s a simple example of how you can implement loss control in your strategy:","-986689483":"1. Create the following variables:","-79649010":"- currentStake: Use this variable to store the stake amount used in the last contract. You can assign any amount you want, but it must be a positive number.","-1931732247":"- tradeAgain: Use this variable to stop trading when your loss limit is reached. Set the initial value to true.","-1574002530":"2. Use a logic block to check if currentPL exceeds maximumLoss. If it does, set tradeAgain to false to prevent the bot from running another cycle.","-1672069217":"3. Update currentPL with the profit from the last contract. If the last contract was lost, the value of currentPL will be negative.","-1565344891":"Can I run Deriv Bot on multiple tabs in my web browser?","-90192474":"Yes, you can. However, there are limits on your account, such as maximum number of open positions and maximum aggregate payouts on open positions. So, just keep these limits in mind when opening multiple positions. You can find more info about these limits at Settings > Account limits.","-213872712":"No, we don't offer cryptocurrencies on Deriv Bot.","-2147346223":"In which countries is Deriv Bot available?","-352345777":"What are the most popular strategies for automated trading?","-552392096":"Three of the most commonly used strategies in automated trading are Martingale, D'Alembert, and Oscar's Grind — you can find them all ready-made and waiting for you in Deriv Bot.","-418247251":"Download your journal.","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-999254545":"All messages are filtered out","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-24780060":"When you’re ready to trade, hit ","-2147110353":". You’ll be able to track your bot’s performance here.","-1717650468":"Online","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-1309011360":"Open positions","-1597214874":"Trade table","-883103549":"Account deactivated","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-568280383":"Deriv Gaming","-895331276":"Complete your proof of address","-782679300":"Complete your proof of identity","-579984289":"Derived Demo","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-533935232":"Financial BVI","-565431857":"Financial Labuan","-291535132":"Swap-Free Demo","-1472945832":"Swap-Free SVG","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-841561409":"Put Spread","-137444201":"Buy","-1500514644":"Accumulator","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-681468758":"Your web browser is out of date and may affect your trading experience. Please <0>update your browser.","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-540474806":"Your Options account is scheduled to be closed","-618539786":"Your account is scheduled to be closed","-945275490":"Withdraw all funds from your Options account.","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-800774345":"Power up your Financial trades with intuitive tools from Acuity.","-279582236":"Learn More","-1211460378":"Power up your trades with Acuity","-703292251":"Download intuitive trading tools to keep track of market events. The Acuity suite is only available for Windows, and is most recommended for financial assets.","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-67021419":"Our cashier is temporarily down due to system maintenance. You can access the cashier in a few minutes when the maintenance is complete.","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-448961363":"non-EU","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-2061807537":"Something’s not right","-402093392":"Add Deriv Account","-277547429":"A Deriv account will allow you to fund (and withdraw from) your MT5 account(s).","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-594209315":"Synthetic indices in the EU are offered by {{legal_entity_name}}, W Business Centre, Level 3, Triq Dun Karm, Birkirkara BKR 9033, Malta, licensed and regulated by the Malta Gaming Authority (<0>licence no. MGA/B2C/102/2000) and by the Revenue Commissioners for clients in Ireland (<2>licence no. 1010285).","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-583559763":"Menu","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-1019903756":"Synthetic","-288996254":"Unavailable","-735306327":"Manage accounts","-1310654342":"As part of the changes in our product line-up, we will be closing Gaming accounts belonging to our UK clients.","-626152766":"As part of the changes in our product line-up, we are closing Options accounts belonging to our clients in Europe.","-490100162":"As part of the changes in our product line-up, we will be closing accounts belonging to our Isle of Man clients.","-1208958060":"You can no longer trade digital options on any of our platforms. You also can’t deposit funds into your account.<0/><1/>Any open positions on digital options have been closed with full payout.","-2050417883":"You’ll lose access to your Gaming account when it gets closed, so make sure to withdraw your funds as soon as possible.","-1950045402":"Withdraw all your funds","-168971942":"What this means for you","-905560792":"OK, I understand","-1308593541":"You will lose access to your account when it gets closed, so be sure to withdraw all your funds.","-2024365882":"Explore","-1197864059":"Create free demo account","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-786091297":"Trade on demo","-228099749":"Please verify your identity and address","-1041852744":"We're processing your personal information","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1557011219":"Add a real Deriv Options account","-241733171":"Add a Deriv Financial account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1362081438":"Adding more real accounts has been restricted for your country.","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-730377053":"You can’t add another real account","-2100785339":"Invalid inputs","-617844567":"An account with your details already exists.","-292363402":"Trading statistics report","-1656860130":"Options trading can become a real addiction, as can any other activity pushed to its limits. To avoid the danger of such an addiction, we provide a reality-check that gives you a summary of your trades and accounts on a regular basis.","-28080461":"Would like to check your statement first? <0>Check Statement","-611059051":"Please specify your preferred interval reality check in minutes:","-1876891031":"Currency","-11615110":"Turnover","-1370419052":"Profit / Loss","-437320982":"Session duration:","-3959715":"Current time:","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-1728963310":"Stop creating an account?","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1787820992":"Platforms","-1793883644":"Trade FX and CFDs on a customisable, easy-to-use trading platform.","-184713104":"Earn fixed payouts with options, or trade multipliers to amplify your gains with limited risk.","-1571775875":"Our flagship options and multipliers trading platform.","-895091803":"If you're looking for CFDs","-1447215751":"Not sure? Try this","-2338797":"<0>Maximise returns by <0>risking more than you put in.","-1682067341":"Earn <0>fixed returns by <0>risking only what you put in.","-1744351732":"Not sure where to start?","-943710774":"This complaints policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}, having its registered office address at First Floor, Millennium House, Victoria Road, Douglas, Isle of Man, IM2 4RW, licensed and regulated respectively by (1) the Gambling Supervision Commission in the Isle of Man (current <0>licence issued on 31 August 2017) and (2) the Gambling Commission in the UK (<1>licence no. 39172).","-255056078":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name}}, having its registered office address at W Business Centre, Level 3, Triq Dun Karm, Birkirkara, BKR 9033, Malta, licensed and regulated by the Malta Gaming Authority in Malta for gambling products only, <0>licence no. MGA/B2C/102/2000, and for clients residing in the UK by the UK Gambling Commission (account number 39495).","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-813256361":"We are committed to treating our clients fairly and providing them with excellent service.<0/><1/>We would love to hear from you on how we can improve our services to you. Any information you provide will be treated in the strictest confidence. Rest assured that you will be heard, valued, and always treated fairly.","-1622847732":"If you have an inquiry regarding your trading account with {{legal_entity_name}}, you can contact us through our <0>Help centre or by chatting with a representative via <1>Live Chat.<2/><3/>We are committed to resolving your query in the quickest time possible and appreciate your patience in allowing us time to resolve the matter.<4/><5/>We strive to provide the best possible service and support to our customers. However, in the event that we are unable to resolve your query or if you feel that our response is unsatisfactory, we want to hear from you. We welcome and encourage you to submit an official complaint to us so that we can review your concerns and work towards a resolution.","-1639808836":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Independent Betting Adjudication Service (IBAS) by filling the IBAS adjudication form. Please note that IBAS only deals with disputes that result from transactions.","-1505742956":"<0/><1/>You can also refer your dispute to the Malta Gaming Authority via the <2>Player Support Unit.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-1776547326":"<0/><1/>If you reside in the UK and you are unhappy with our response you may escalate your complaint to the <2>Financial Ombudsman Service.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-1280998762":"4. Complaints","-1886635232":"A complaint is any expression of dissatisfaction by a client regarding our products or services that requires a formal response.<0/><1/>If what you submit does not fall within the scope of a complaint, we may reclassify it as a query and forward it to the relevant department for handling. However, if you believe that your query should be classified as a complaint due to its relevance to the investment services provided by {{legal_entity_name}}, you may request that we reclassify it accordingly.","-1771496016":"To submit a complaint, please send an email to <0>complaints@deriv.com, providing as much detail as possible. To help us investigate and resolve your complaint more efficiently, please include the following information:","-1197243525":"<0>•A clear and detailed description of your complaint, including any relevant dates, times, and transactions","-1795134892":"<0>•Any relevant screenshots or supporting documentation that will assist us in understanding the issue","-2053887036":"4.4. Handling your complaint","-717170429":"Once we have received the details of your complaint, we shall review it carefully and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","-1841922393":"4.5. Resolving your complaint","-1327119795":"4.6. Your decision","-2019654103":"If we are unable to resolve your complaint or you are not satisfied with the outcome, you can escalate your complaint to the Office of the Arbiter for Financial Services.<0/><1/><2>Filing complaints with the Office of the Arbiter for Financial Services","-687172857":"<0>•You may file a complaint with the Arbiter for Financial Services only if you are not satisfied with our decision or the decision wasn’t made within 15 business days.","-262934706":"<0>•If the complaint is accepted by the Arbiter, you will receive another email with further details relating to the payment of the €25 complaint fee and the processes that follow.","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-358055541":"Power up your trades with cool new tools","-29496115":"We've partnered with Acuity to give you a suite of intuitive trading tools for MT5 so you can keep track of market events and trends, free of charge!<0/><0/>","-648669944":"Download the Acuity suite and take advantage of the <1>Macroeconomic Calendar, Market Alerts, Research Terminal, and <1>Signal Centre Trade Ideas without leaving your MT5 terminal.<0/><0/>","-794294380":"This suite is only available for Windows, and is most recommended for financial assets.","-922510206":"Need help using Acuity?","-815070480":"Disclaimer: The trading services and information provided by Acuity should not be construed as a solicitation to invest and/or trade. Deriv does not offer investment advice. The past is not a guide to future performance, and strategies that have worked in the past may not work in the future.","-2111521813":"Download Acuity","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-175369516":"Welcome to Deriv X","-939154994":"Welcome to Deriv MT5 dashboard","-1667427537":"Run Deriv X on your browser or download the mobile app","-305915794":"Run MT5 from your browser or download the MT5 app for your devices","-404375367":"Trade forex, basket indices, commodities, and cryptocurrencies with high leverage.","-243985555":"Trade CFDs on forex, stocks, stock indices, synthetic indices, cryptocurrencies, and commodities with leverage.","-2030107144":"Trade CFDs on forex, stocks & stock indices, commodities, and crypto.","-705682181":"Malta","-409563066":"Regulator","-1302404116":"Maximum leverage","-2098459063":"British Virgin Islands","-1510474851":"British Virgin Islands Financial Services Commission (licence no. SIBA/L/18/1114)","-761250329":"Labuan Financial Services Authority (Licence no. MB/18/0024)","-1264604378":"Up to 1:1000","-1686150678":"Up to 1:100","-637908996":"100%","-1420548257":"20+","-1344709651":"40+","-1373949478":"50+","-1382029900":"70+","-1493055298":"90+","-1835174654":"1:30","-1647612934":"Spreads from","-1587894214":"about verifications needed.","-466784048":"Regulator/EDR","-1920034143":"Synthetics, Baskets and Derived FX","-1326848138":"British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","-777580328":"Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","-1372141447":"Straight-through processing","-1969608084":"Forex and Cryptocurrencies","-800771713":"Labuan Financial Services Authority (licence no. MB/18/0024)","-1497128311":"80+","-1501230046":"0.6 pips","-1689815930":"You will need to submit proof of identity and address once you reach certain thresholds.","-1175785439":"Deriv (SVG) LLC (company no. 273 LLC 2020)","-235833244":"Synthetics, Forex, Stocks, Stock Indices, Cryptocurrencies, and ETFs","-139026353":"A selfie of yourself.","-70314394":"A recent utility bill (electricity, water or gas) or recent bank statement or government-issued letter with your name and address.","-435524000":"Verification failed. Resubmit during account creation.","-1385099152":"Your document is verified.","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1637969571":"Demo Swap-Free","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-785625598":"Use these credentials to log in to your {{platform}} account on the website and mobile apps.","-997127433":"Change Password","-1300381594":"Get Acuity trading tools","-860609405":"Password","-742647506":"Fund transfer","-1972393174":"Trade CFDs on our synthetics, baskets, and derived FX.","-1357917360":"Web terminal","-1454896285":"The MT5 desktop app is not supported by Windows XP, Windows 2003, and Windows Vista.","-810388996":"Download the Deriv X mobile app","-1727991510":"Scan the QR code to download the Deriv X Mobile App","-511301450":"Indicates the availability of cryptocurrency trading on a particular account.","-1647569139":"Synthetics, Baskets, Derived FX, Forex: standard/micro, Stocks, Stock indices, Commodities, Cryptocurrencies","-2102641225":"At bank rollover, liquidity in the forex markets is reduced and may increase the spread and processing time for client orders. This happens around 21:00 GMT during daylight saving time, and 22:00 GMT non-daylight saving time.","-495364248":"Margin call and stop out level will change from time to time based on market condition.","-536189739":"To protect your portfolio from adverse market movements due to the market opening gap, we reserve the right to decrease leverage on all offered symbols for financial accounts before market close and increase it again after market open. Please make sure that you have enough funds available in your {{platform}} account to support your positions at all times.","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-1779241732":"First line of address is not in a proper format.","-188222339":"This should not exceed {{max_number}} characters.","-1673422138":"State/Province is not in a proper format.","-1580554423":"Trade CFDs on our synthetic indices that simulate real-world market movements.","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-673424733":"Demo account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-1199152768":"Please explore our other platforms.","-205020823":"Explore {{platform_name_trader}}","-1982499699":"Explore {{platform_name_dbot}}","-1567989247":"Submit your proof of identity and address","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-790488576":"Forgot password?","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-1769158315":"real","-700260448":"demo","-1936102840":"Congratulations, you have successfully created your {{category}} <0>{{platform}} <1>{{type}} {{jurisdiction_selected_shortcode}} account. ","-1928229820":"Reset Deriv X investor password","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-490244964":"Forex, stocks, stock indices, cryptocurrencies","-1368041210":", synthetic indices","-877064208":"EUR","-1284221303":"You’ll get a warning, known as margin call, if your account balance drops down close to the stop out level.","-1848799829":"To understand stop out, first you need to learn about margin level, which is the ratio of your equity (the total balance you would have if you close all your positions at that point) to the margin you're using at the moment. If your margin level drops below our stop out level, your positions may be closed automatically to protect you from further losses.","-224051432":"24/7","-70716111":"FX-majors (standard/micro lots), FX-minors, basket indices, commodities, cryptocurrencies, and stocks and stock indices","-1041629137":"FX-majors, FX-minors, FX-exotics, and cryptocurrencies","-287097947":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies (except UK)","-2016975615":"Deriv MT5 CFDs real account","-1207265427":"Compare CFDs real accounts","-1225160479":"Compare available accounts","-266701451":"derivX wordmark","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-251202291":"Broker","-81650212":"MetaTrader 5 web","-2123571162":"Download","-941636117":"MetaTrader 5 Linux app","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-2125860351":"Choose a jurisdiction for your Deriv MT5 CFDs account","-479119833":"Choose a jurisdiction for your Deriv MT5 {{account_type}} account","-450424792":"You need a real account (fiat currency or cryptocurrency) in Deriv to create a real Deriv MT5 account.","-1760596315":"Create a Deriv account","-235472388":"Deriv {{platform}} {{is_demo}}","-525896186":"Download Deriv GO on your phone to trade with the Deriv EZ account","-346502452":"Download Deriv cTrader on your phone to trade with the Deriv cTrader account","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-601303096":"Scan the QR code to download Deriv {{ platform }}.","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1694314813":"Contract value:","-442488432":"day","-337314714":"days","-1763848396":"Put","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-993480898":"Accumulators","-1790089996":"NEW!","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-880722426":"Market is closed","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-590131162":"Stay on {{website_domain}}","-1444663817":"Go to Binary.com","-1526466612":"You’ve selected a trade type that is currently unsupported, but we’re working on it.","-1043795232":"Recent positions","-1572796316":"Purchase price:","-153220091":"{{display_value}} Tick","-802374032":"Hour","-2039780875":"Purchase confirmation","-1672470173":"Require confirmation before purchasing a contract","-1342661765":"Lock contract purchase buttons","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-705681870":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1666375348":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","-2024955268":"If you select “Up”, you will earn a profit by closing your position when the market price is higher than the entry spot.","-1598433845":"If you select “Down”, you will earn a profit by closing your position when the market price is lower than the entry spot.","-885323297":"These are optional parameters for each position that you open:","-584696680":"If you select “Take profit” and specify an amount that you’d like to earn, your position will be closed automatically when your profit is more than or equals to this amount. Your profit may be more than the amount you entered depending on the market price at closing.","-1192494358":"If you select “Deal cancellation”, you’ll be able to cancel your trade within a chosen time frame should the market move against your favour. We’ll charge a small fee for this, but we’ll return your stake amount without profit or loss. If the stop-out amount is reached before the deal cancellation expires, your position will be cancelled automatically and we’ll return your stake amount without profit or loss.","-178096090":"“Take profit” cannot be updated. You may update it only when “Deal cancellation” expires.","-206909651":"The entry spot is the market price when your contract is processed by our servers.","-351875097":"Number of ticks","-138599872":"<0>For {{contract_type}}: Get a payout if {{index_name}} is {{strike_status}} than the strike price at the expiry time. Your payout is zero if the market is {{market_status}} or equal to the strike price at the expiry time. You will start making a profit when the payout is higher than your stake.","-2014059656":"higher","-149836494":"Your transaction reference number is {{transaction_id}}","-1382749084":"Go back to trading","-1231210510":"Tick","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-8998663":"Digit: {{last_digit}} ","-1435392215":"About deal cancellation","-2017825013":"Got it","-1280319153":"Cancel your trade anytime within a chosen time-frame. Triggered automatically if your trade reaches the stop out level within the chosen time-frame.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-45873457":"NEW","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-1669741470":"The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.","-1527492178":"Purchase Locked","-725375562":"You can lock/unlock the purchase button from the Settings menu","-2131851017":"Growth rate","-1358367903":"Stake","-542594338":"Max. payout","-690963898":"Your contract will be automatically closed when your payout reaches this amount.","-511541916":"Your contract will be automatically closed upon reaching this number of ticks.","-1918235233":"Min. stake","-1935239381":"Max. stake","-434270664":"Current Price","-1956787775":"Barrier Price:","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-1804019534":"Expiry: {{date}}","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-1043117679":"When your current loss equals or exceeds {{stop_out_percentage}}% of your stake, your contract will be closed at the nearest available asset price.","-339236213":"Multiplier","-857660728":"Strike Prices","-194424366":"above","-243332856":"Last digit stats for latest 1000 ticks for {{ underlying_name }}","-347156282":"Submit Proof","-1738427539":"Purchase","-1937372493":"You can close your trade anytime. However, be aware of <0>slippage risk<0/>.","-1422269966":"You can choose a growth rate with values of 1%, 2%, 3%, 4%, and 5%.","-1186791513":"Payout is the sum of your initial stake and profit.","-1682624802":"It is a percentage of the previous spot price. The percentage rate is based on your choice of the index and the growth rate.","-1221049974":"Final price","-1247327943":"This is the spot price of the last tick at expiry.","-878534036":"If you select \"Call\", you’ll earn a payout if the final price is above the strike price at expiry. Otherwise, you won’t receive a payout.","-1587076792":"If you select \"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","-1482134885":"We calculate this based on the strike price and duration you’ve selected.","-1890561510":"Cut-off time","-565990678":"Your contract will expire on this date (in GMT), based on the End time you’ve selected.","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-2004386410":"Win","-1072292603":"No Change","-1631669591":"string","-1768939692":"number","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-2035315547":"Low barrier","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1291088318":"Purchase conditions","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1374685318":"Your contract is closed automatically when your loss is more than or equals to this amount. This block can only be used with the multipliers trade type.","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1219239717":"One or more mandatory blocks are missing from your workspace. Please add the required block(s) and then try again.","-250761331":"One or more mandatory blocks are disabled in your workspace. Please enable the required block(s) and then try again.","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-538215347":"Net deposits","-280147477":"All transactions","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1904030160":"Transaction performed by (App ID: {{app_id}})","-513103225":"Transaction time","-2066666313":"Credit/Debit","-2140412463":"Buy price","-1981004241":"Sell time","-600828210":"Indicative profit/loss","-706219815":"Indicative price","-3423966":"Take profit<0 />Stop loss","-2082644096":"Current stake","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-740395276":"I don’t have any of these","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-555592125":"Unfortunately, trading options isn't possible in your country","-1571816573":"Sorry, trading is unavailable in your current location.","-1603581277":"minutes","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file diff --git a/packages/translations/src/translations/ach.json b/packages/translations/src/translations/ach.json index a98ec9de4623..861666ad2732 100644 --- a/packages/translations/src/translations/ach.json +++ b/packages/translations/src/translations/ach.json @@ -32,6 +32,7 @@ "45453595": "crwdns1258997:0crwdne1258997:0", "45941470": "crwdns1258999:0crwdne1258999:0", "46523711": "crwdns1259001:0crwdne1259001:0", + "49404821": "crwdns2341235:0{{trade_type}}crwdnd2341235:0{{payout_status}}crwdnd2341235:0{{trade_type}}crwdne2341235:0", "49963458": "crwdns1259003:0crwdne1259003:0", "50200731": "crwdns1259005:0crwdne1259005:0", "53801223": "crwdns1781111:0crwdne1781111:0", @@ -122,7 +123,6 @@ "158373715": "crwdns2101727:0crwdne2101727:0", "160746023": "crwdns1259157:0crwdne1259157:0", "160863687": "crwdns1259159:0crwdne1259159:0", - "162080773": "crwdns1781055:0crwdne1781055:0", "164112826": "crwdns1259161:0crwdne1259161:0", "164564432": "crwdns1259163:0crwdne1259163:0", "165294347": "crwdns1259165:0crwdne1259165:0", @@ -423,6 +423,7 @@ "498144457": "crwdns1574319:0crwdne1574319:0", "498562439": "crwdns1259671:0crwdne1259671:0", "499522484": "crwdns1259673:0crwdne1259673:0", + "500215405": "crwdns2351995:0crwdne2351995:0", "500855527": "crwdns1259675:0crwdne1259675:0", "500920471": "crwdns1259677:0crwdne1259677:0", "501401157": "crwdns1259679:0crwdne1259679:0", @@ -518,6 +519,7 @@ "611020126": "crwdns1259835:0crwdne1259835:0", "611786123": "crwdns1259837:0crwdne1259837:0", "617345387": "crwdns1259841:0crwdne1259841:0", + "617910072": "crwdns2351997:0{{ platform }}crwdne2351997:0", "618520466": "crwdns1259843:0crwdne1259843:0", "619268911": "crwdns1259845:0crwdne1259845:0", "619407328": "crwdns1259847:0{{identifier_title}}crwdne1259847:0", @@ -897,7 +899,6 @@ "1038575777": "crwdns1260493:0crwdne1260493:0", "1039428638": "crwdns1719387:0crwdne1719387:0", "1039755542": "crwdns1260495:0crwdne1260495:0", - "1040053469": "crwdns1781069:0crwdne1781069:0", "1040472990": "crwdns2101779:0crwdne2101779:0", "1040677897": "crwdns1260497:0crwdne1260497:0", "1041001318": "crwdns1260499:0crwdne1260499:0", @@ -1832,7 +1833,6 @@ "2010866561": "crwdns69608:0crwdne69608:0", "2011609940": "crwdns156504:0crwdne156504:0", "2011808755": "crwdns80755:0crwdne80755:0", - "2012110280": "crwdns2154509:0crwdne2154509:0", "2014536501": "crwdns1445519:0crwdne1445519:0", "2014590669": "crwdns117834:0{{variable_name}}crwdnd117834:0{{variable_name}}crwdne117834:0", "2017672013": "crwdns167277:0crwdne167277:0", @@ -1876,7 +1876,6 @@ "2059365224": "crwdns2101867:0crwdne2101867:0", "2059753381": "crwdns1719445:0crwdne1719445:0", "2060873863": "crwdns921090:0{{order_id}}crwdne921090:0", - "2062299501": "crwdns1781083:0{{title}}crwdnd1781083:0{{trade_type}}crwdne1781083:0", "2062912059": "crwdns157062:0{{ function_name }}crwdnd157062:0{{ function_params }}crwdne157062:0", "2063655921": "crwdns117218:0crwdne117218:0", "2063812316": "crwdns69624:0crwdne69624:0", @@ -2479,6 +2478,7 @@ "-81256466": "crwdns1719471:0crwdne1719471:0", "-699372497": "crwdns1719473:0crwdne1719473:0", "-1884966862": "crwdns1719475:0crwdne1719475:0", + "-596618970": "crwdns2351999:0crwdne2351999:0", "-982095728": "crwdns1719467:0crwdne1719467:0", "-1277942366": "crwdns81505:0crwdne81505:0", "-1255879419": "crwdns1925317:0crwdne1925317:0", @@ -2496,6 +2496,8 @@ "-1814994113": "crwdns1719503:0{{compare_accounts_title}}crwdne1719503:0", "-318106501": "crwdns1600265:0crwdne1600265:0", "-1328701106": "crwdns1600245:0crwdne1600245:0", + "-1290112064": "crwdns1490907:0crwdne1490907:0", + "-1453519913": "crwdns2352001:0crwdne2352001:0", "-2146691203": "crwdns1719525:0crwdne1719525:0", "-249184528": "crwdns1719527:0crwdne1719527:0", "-1505234170": "crwdns1925319:0crwdne1925319:0", @@ -2962,7 +2964,6 @@ "-222394569": "crwdns1787761:0crwdne1787761:0", "-533935232": "crwdns838638:0crwdne838638:0", "-565431857": "crwdns838640:0crwdne838640:0", - "-1290112064": "crwdns1490907:0crwdne1490907:0", "-291535132": "crwdns2080553:0crwdne2080553:0", "-1472945832": "crwdns2080555:0crwdne2080555:0", "-1669418686": "crwdns80837:0crwdne80837:0", @@ -3312,6 +3313,7 @@ "-1647612934": "crwdns2154517:0crwdne2154517:0", "-1587894214": "crwdns2154519:0crwdne2154519:0", "-466784048": "crwdns2154521:0crwdne2154521:0", + "-1920034143": "crwdns2341241:0crwdne2341241:0", "-1326848138": "crwdns2154523:0crwdne2154523:0", "-777580328": "crwdns2154525:0crwdne2154525:0", "-1372141447": "crwdns838662:0crwdne838662:0", @@ -3409,8 +3411,12 @@ "-479119833": "crwdns2080561:0{{account_type}}crwdne2080561:0", "-450424792": "crwdns1308115:0crwdne1308115:0", "-1760596315": "crwdns170912:0crwdne170912:0", + "-235472388": "crwdns2352003:0{{platform}}crwdnd2352003:0{{is_demo}}crwdne2352003:0", + "-525896186": "crwdns2352005:0crwdne2352005:0", + "-346502452": "crwdns2352007:0crwdne2352007:0", "-648956272": "crwdns170916:0crwdne170916:0", "-1814308691": "crwdns170920:0{{platform}}crwdne170920:0", + "-601303096": "crwdns2352009:0{{ platform }}crwdne2352009:0", "-1282933308": "crwdns117860:0{{barrier}}crwdne117860:0", "-968190634": "crwdns117862:0{{barrier}}crwdne117862:0", "-1747377543": "crwdns117864:0{{barrier}}crwdne117864:0", @@ -3514,7 +3520,7 @@ "-338707425": "crwdns81109:0crwdne81109:0", "-1003473648": "crwdns117900:0{{duration}}crwdne117900:0", "-700280380": "crwdns89646:0crwdne89646:0", - "-194424366": "crwdns1781095:0crwdne1781095:0", + "-1669741470": "crwdns2341237:0crwdne2341237:0", "-1527492178": "crwdns81417:0crwdne81417:0", "-725375562": "crwdns81419:0crwdne81419:0", "-2131851017": "crwdns2225581:0crwdne2225581:0", @@ -3524,11 +3530,11 @@ "-511541916": "crwdns2225587:0crwdne2225587:0", "-1918235233": "crwdns1781097:0crwdne1781097:0", "-1935239381": "crwdns1781099:0crwdne1781099:0", - "-1930565757": "crwdns1781101:0crwdne1781101:0", "-434270664": "crwdns2080563:0crwdne2080563:0", "-1956787775": "crwdns2080565:0crwdne2080565:0", "-1513281069": "crwdns121004:0crwdne121004:0", "-390994177": "crwdns89650:0{{min}}crwdnd89650:0{{max}}crwdne89650:0", + "-1804019534": "crwdns2341239:0{{date}}crwdne2341239:0", "-2055106024": "crwdns117292:0crwdne117292:0", "-1012793015": "crwdns81421:0crwdne81421:0", "-2037881712": "crwdns876400:0crwdne876400:0", @@ -3538,9 +3544,8 @@ "-1043117679": "crwdns158216:0{{stop_out_percentage}}crwdne158216:0", "-339236213": "crwdns81045:0crwdne81045:0", "-857660728": "crwdns1781103:0crwdne1781103:0", - "-119134980": "crwdns1781105:0{{trade_type}}crwdnd1781105:0{{payout_status}}crwdne1781105:0", + "-194424366": "crwdns1781095:0crwdne1781095:0", "-243332856": "crwdns117904:0{{ underlying_name }}crwdne117904:0", - "-1900883796": "crwdns1781107:0{{trade_type}}crwdnd1781107:0{{payout_status}}crwdne1781107:0", "-347156282": "crwdns1807479:0crwdne1807479:0", "-1738427539": "crwdns69912:0crwdne69912:0", "-1937372493": "crwdns2311049:0crwdne2311049:0", diff --git a/packages/translations/src/translations/ar.json b/packages/translations/src/translations/ar.json index 2ae8274a7f10..ec7202950f86 100644 --- a/packages/translations/src/translations/ar.json +++ b/packages/translations/src/translations/ar.json @@ -32,6 +32,7 @@ "45453595": "عملة ثنائية", "45941470": "من أين تريد أن تبدأ؟", "46523711": "تم التحقق من إثبات هويتك", + "49404821": "إذا اشتريت خيار \"<0> {{trade_type}} \" ، فستتلقى عائدًا عند انتهاء الصلاحية إذا كان السعر النهائي هو {{payout_status}} سعر الإضراب. وإلا ، فإن خيار \"<0> {{trade_type}} \" ستنتهي صلاحيته بلا قيمة.", "49963458": "اختر خيارًا", "50200731": "العملات الأجنبية الرئيسية (اللوتات القياسية/الصغيرة)، والعملات الأجنبية الثانوية، ومؤشرات السلة، والسلع، والعملات المشفرة", "53801223": "هونغ كونغ 50", @@ -122,7 +123,6 @@ "158373715": "جولة الخروج", "160746023": "تيثر كرمز أومني (USDT) هو إصدار من تيثر يتم استضافته على طبقة أومني على بلوكشين بيتكوين.", "160863687": "لم يتم التحقق من وجود كاميرا", - "162080773": "فور بوت", "164112826": "تسمح لك هذه المجموعة بتحميل الكتل من عنوان URL إذا قمت بتخزينها على خادم بعيد، وسيتم تحميلها فقط عند تشغيل الروبوت الخاص بك.", "164564432": "الودائع غير متاحة مؤقتًا بسبب صيانة النظام. يمكنك عمل الودائع الخاصة بك عند اكتمال الصيانة.", "165294347": "يرجى تعيين بلد إقامتك في إعدادات حسابك للوصول إلى الكاشير.", @@ -423,6 +423,7 @@ "498144457": "فاتورة مرافق حديثة (مثل الكهرباء أو الماء أو الغاز)", "498562439": "أو", "499522484": "1. لـ «السلسلة»: 1325.68 دولارًا أمريكيًا", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "الرؤساء التنفيذيون وكبار المسؤولين والمشرعون", "500920471": "تقوم هذه الكتلة بعمليات حسابية بين رقمين.", "501401157": "يُسمح لك فقط بعمل الودائع", @@ -518,6 +519,7 @@ "611020126": "عرض العنوان على بلوكشين / Blockchain", "611786123": "العملات الأجنبية الرئيسية (اللوتات القياسية/الصغيرة)، والعملات الأجنبية الثانوية، والسلع، والعملات المشفرة، والأسهم، ومؤشرات الأسهم", "617345387": "إذا اخترت «إعادة الإعداد»، فستفوز بالعائد إذا كانت نقطة الخروج أعلى بكثير من نقطة الدخول أو المكان في وقت إعادة الضبط.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "مثال على وثيقة مقطوعه", "619268911": "<0>أ- ستقوم اللجنة المالية بالتحقيق في صحة الشكوى في غضون 5 أيام عمل.", "619407328": "هل تريد بالتأكيد إلغاء الارتباط من {{identifier_title}}؟", @@ -897,7 +899,6 @@ "1038575777": "تغيير كلمة المرور", "1039428638": "تنظيم الاتحاد الأوروبي", "1039755542": "استخدم بضع كلمات، وتجنب العبارات الشائعة", - "1040053469": "للمكالمة", "1040472990": "1. انتقل إلى بوت بيلدر.", "1040677897": "لمتابعة التداول، يجب عليك أيضًا تقديم إثبات العنوان.", "1041001318": "تقوم هذه الكتلة بإجراء العمليات التالية في قائمة معينة: المجموع، الحد الأدنى، الحد الأقصى، المتوسط، الوسيط، الوضع، الوضع المضاد، الانحراف المعياري، العنصر العشوائي.", @@ -1832,7 +1833,6 @@ "2010866561": "يُرجع إجمالي الربح/الخسارة", "2011609940": "الرجاء إدخال رقم أكبر من 0", "2011808755": "وقت الشراء", - "2012110280": "المواد التركيبية ومؤشرات السلة والعملات الأجنبية المشتقة", "2014536501": "رقم البطاقة", "2014590669": "المتغير '{{variable_name}}' ليس له قيمة. يرجى تعيين قيمة للمتغير '{{variable_name}}' للإخطار.", "2017672013": "يرجى تحديد بلد إصدار المستند.", @@ -1876,7 +1876,6 @@ "2059365224": "نعم، يمكنك البدء باستخدام بوت تم إنشاؤه مسبقًا باستخدام ميزة<الإستراتيجية السريعة. ستجد بعض استراتيجيات التداول الأكثر شيوعًا هنا: مارتنغايل و دالميارت و أوسكارز غريند. ما عليك سوى اختيار الإستراتيجية وإدخال معايير التداول الخاصة بك وسيتم إنشاء البوت الخاص بك من أجلك. يمكنك دائمًا تعديل المعلمات لاحقًا.", "2059753381": "لماذا فشلت عملية التحقق الخاصة بي؟", "2060873863": "اكتمل طلبك {{order_id}}", - "2062299501": "<0>بالنسبة إلى {{title}}: ستنمو عائداتك بهذا المبلغ لكل نقطة {{trade_type}} من سعر الإضراب الخاص بك. سوف تبدأ في تحقيق الربح عندما يكون العائد أعلى من حصتك.", "2062912059": "وظيفة {{ function_name }} {{ function_params }}", "2063655921": "من خلال شراء عقد «قريب من منخفض»، ستربح المضاعف مضروبًا في الفرق بين الإغلاق والمنخفض على مدار مدة العقد.", "2063812316": "بيان نصي", @@ -2479,6 +2478,7 @@ "-81256466": "تحتاج إلى حساب Deriv لإنشاء حساب CFD.", "-699372497": "تداول برافعة مالية وفروق أسعار ضيقة للحصول على عوائد أفضل على الصفقات الناجحة. <0>تعرف على المزيد", "-1884966862": "احصل على المزيد من حسابات Deriv MT5 بأنواع واختصاصات مختلفة.", + "-596618970": "Other CFDs", "-982095728": "احصل على", "-1277942366": "إجمالي الأصول", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "عقود الفروقات (<0>{{compare_accounts_title}})", "-318106501": "تداول العقود مقابل الفروقات على MT5 باستخدام المواد الاصطناعية والسلال والعملات الأجنبية المشتقة.", "-1328701106": "تداول العقود مقابل الفروقات على MT5 مع العملات الأجنبية والأسهم ومؤشرات الأسهم والمواد التركيبية والعملات المشفرة والسلع.", + "-1290112064": "مشتق EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "اختيار التنظيم", "-249184528": "يمكنك إنشاء حسابات حقيقية بموجب لوائح الاتحاد الأوروبي أو خارج الاتحاد الأوروبي. انقر فوق <0><0/>الرمز لمعرفة المزيد حول هذه الحسابات.", "-1505234170": "جولة مركز المتداول", @@ -2962,7 +2964,6 @@ "-222394569": "مشتقة من فانواتو", "-533935232": "جزر فيرجن البريطانية المالية", "-565431857": "لابوان المالية", - "-1290112064": "مشتق EZ", "-291535132": "عرض تجريبي خالٍ من المبادلة", "-1472945832": "SVG خالي من المبادلة", "-1669418686": "الدولار الأسترالي/الدولار الكندي", @@ -3312,6 +3313,7 @@ "-1647612934": "فروق أسعار تبدأ من", "-1587894214": "حول عمليات التحقق المطلوبة.", "-466784048": "المنظم/EDR", + "-1920034143": "المواد التركيبية ومؤشرات السلة والعملات الأجنبية المشتقة", "-1326848138": "British Virgin Islands Financial Services Commission (رقم الترخيص. سيبا/لتر/18/1114)", "-777580328": "الفوركس والأسهم ومؤشرات الأسهم والسلع والعملات المشفرة", "-1372141447": "معالجة مباشرة", @@ -3409,8 +3411,12 @@ "-479119833": "اختر الولاية القضائية لحساب Deriv MT5 {{account_type}} الخاص بك", "-450424792": "أنت بحاجة إلى حساب حقيقي (عملة ورقية أو عملة مشفرة) في Deriv لإنشاء حساب Deriv MT5 حقيقي.", "-1760596315": "قم بإنشاء حساب Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "استخدم كلمة المرور هذه لتسجيل الدخول إلى حسابات Deriv X الخاصة بك على الويب وتطبيقات الهاتف المحمول.", "-1814308691": "يرجى النقر فوق الارتباط الموجود في البريد الإلكتروني لتغيير كلمة المرور {{platform}} الخاصة بك.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "ملاحظة {{barrier}}", "-968190634": "يساوي {{barrier}}", "-1747377543": "أقل من {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "الحد الأدنى للمدة هو يوم واحد", "-1003473648": "المدة: {{duration}} يوم", "-700280380": "إلغاء الصفقة. رسوم", - "-194424366": "فوق", + "-1669741470": "العائد عند انتهاء الصلاحية يساوي العائد لكل نقطة مضروبًا بالفرق بين السعر النهائي وسعر التنفيذ.", "-1527492178": "تم تأمين عملية الشراء", "-725375562": "يمكنك قفل/إلغاء قفل زر الشراء من قائمة الإعدادات", "-2131851017": "معدل النمو", @@ -3524,11 +3530,11 @@ "-511541916": "سيتم إغلاق عقدك تلقائيًا عند الوصول إلى هذا العدد من العلامات.", "-1918235233": "الحد الأدنى للحصة", "-1935239381": "الحد الأقصى للحصة", - "-1930565757": "حصتك عبارة عن قسط غير قابل للاسترداد لمرة واحدة لشراء هذا العقد. إجمالي الربح/الخسارة يساوي قيمة العقد مطروحًا منها حصتك.", "-434270664": "السعر الحالي", "-1956787775": "سعر الحاجز:", "-1513281069": "الحاجز 2", "-390994177": "يجب أن تكون بين {{min}} و {{max}}", + "-1804019534": "انتهاء الصلاحية: {{date}}", "-2055106024": "التبديل بين إعدادات المدة المتقدمة والبسيطة", "-1012793015": "وقت النهاية", "-2037881712": "سيتم إغلاق عقدك تلقائيًا بسعر الأصول التالي المتاح في<0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "عندما تساوي خسارتك الحالية أو تتجاوز {{stop_out_percentage}}٪ من حصتك، سيتم إغلاق عقدك بأقرب سعر أصل متاح.", "-339236213": "المضاعف", "-857660728": "أسعار الإضراب", - "-119134980": "<0>{{trade_type}}: ستحصل على عائد إذا كان سعر السوق هو {{payout_status}} هذا السعر <0>في وقت انتهاء الصلاحية، وإلا فإن عائدك سيكون صفرًا.", + "-194424366": "فوق", "-243332856": "إحصائيات الرقم الأخير لأحدث 1000 علامة لـ {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: ستحصل على عائد إذا كان السوق هو {{payout_status}} هذا السعر <0>في وقت انتهاء الصلاحية، وإلا فإن عائدك سيكون صفرًا.", "-347156282": "إرسال إثبات", "-1738427539": "شراء", "-1937372493": "يمكنك إغلاق تجارتك في أي وقت. ومع ذلك، كن على دراية <0>بمخاطر <0/> الانزلاق.", diff --git a/packages/translations/src/translations/bn.json b/packages/translations/src/translations/bn.json index aa88802005b0..1c3950f3f3a7 100644 --- a/packages/translations/src/translations/bn.json +++ b/packages/translations/src/translations/bn.json @@ -32,6 +32,7 @@ "45453595": "বাইনারি মুদ্রা", "45941470": "আপনি কোথা থেকে শুরু করতে চান?", "46523711": "আপনার পরিচয় প্রমাণ যাচাই করা হয়", + "49404821": "যদি আপনি একটি \"<0>{{trade_type}}\" অপশন কিনে থাকেন, তাহলে চূড়ান্ত মূল্য {{payout_status}} স্ট্রাইক প্রাইস হলে মেয়াদ শেষ হওয়ার সময় আপনি একটি অর্থ প্রদান পাবেন। অন্যথায়, আপনার “<0>{{trade_type}}” বিকল্পটি অর্থহীন মেয়াদ শেষ হবে।", "49963458": "একটি বিকল্প বেছে নিন", "50200731": "এফএক্স মেজর (স্ট্যান্ডার্ড/মাইক্রো লট), এফএক্স নাবালক, ঝুড়ি সূচক, পণ্য, এবং ক্রিপ্টোকুয়ার্বিক্স", "53801223": "হংকং ৫০", @@ -122,7 +123,6 @@ "158373715": "সফর থেকে প্রস্থান করুন", "160746023": "একটি ওমনি টোকেন (ইউএসডিটি) হিসাবে টিথার একটি সংস্করণ যা বিটকয়েন ব্লককেনের ওমনি লেয়ারে হোস্ট করা হয়।", "160863687": "ক্যামেরা সনাক্ত করা হয়নি", - "162080773": "পুট এর জন্য", "164112826": "এই ব্লকটি আপনাকে একটি URL থেকে ব্লক লোড করতে দেয় যদি আপনি তাদের একটি দূরবর্তী সার্ভারে সংরক্ষণ করেন এবং আপনার বট রান শুধুমাত্র তখনই লোড হবে।", "164564432": "সিস্টেম রক্ষণাবেক্ষণের কারণে আমানত সাময়িকভাবে অনুপলব্ধ। রক্ষণাবেক্ষণ সম্পূর্ণ হলে আপনি আপনার আমানত করতে পারেন।", "165294347": "ক্যাশিয়ার অ্যাক্সেস করার জন্য দয়া করে আপনার অ্যাকাউন্ট সেটিংসে আপনার বসবাসের দেশ সেট করুন।", @@ -423,6 +423,7 @@ "498144457": "একটি সাম্প্রতিক ইউটিলিটি বিল (যেমন বিদ্যুৎ, পানি বা গ্যাস)", "498562439": "অথবা", "499522484": "1. “স্ট্রিং” জন্য: 1325.68 মার্কিন ডলার", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "প্রধান নির্বাহী কর্মকর্তা, সিনিয়র কর্মকর্তা এবং আইনসভা", "500920471": "এই ব্লকটি দুটি সংখ্যার মধ্যে গাণিতিক অপারেশন করে।", "501401157": "আপনি শুধুমাত্র ডিপোজিট করার অনুমতি দেওয়া হয়", @@ -518,6 +519,7 @@ "611020126": "ব্লকচাইনের ঠিকানা দেখুন", "611786123": "এফএক্স-মেজর (স্ট্যান্ডার্ড/মাইক্রো লট), এফএক্স-নাবালক, কমোডিটি, ক্রিপ্টোকুয়ার্বিক্স, স্টক এবং স্টক সূচক", "617345387": "আপনি যদি “রিসেট-আপ” নির্বাচন করেন, তাহলে প্রস্থান স্পটটি এন্ট্রি স্পট বা রিসেট সময়ে স্পটের চেয়ে কঠোরভাবে উচ্চতর হলে আপনি অর্থ পরিশোধটি জিতবেন।", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "একটি কাট বন্ধ নথি উদাহরণ", "619268911": "<0>ক) ফাইন্যান্সিয়াল কমিশন ৫ কার্যদিবসের মধ্যে অভিযোগের বৈধতা তদন্ত করবে।", "619407328": "আপনি কি নিশ্চিতরূপে {{identifier_title}}থেকে আনলিংক করতে চান?", @@ -897,7 +899,6 @@ "1038575777": "পাসওয়ার্ড পরিবর্তন করুন", "1039428638": "ইইউ প্রবিধান", "1039755542": "কয়েকটি শব্দ ব্যবহার করুন, সাধারণ বাক্যাংশগুলি এড়িয়ে চলুন", - "1040053469": "কল করার জন্য", "1040472990": "1. বট বিল্ডারে যান।", "1040677897": "ট্রেডিং চালিয়ে যেতে, আপনাকে অবশ্যই ঠিকানা প্রমাণও জমা দিতে হবে।", "1041001318": "এই ব্লকটি প্রদত্ত তালিকাতে নিম্নলিখিত ক্রিয়াকলাপগুলি সম্পাদন করে: সমষ্টি, সর্বনিম্ন, সর্বাধিক, গড়, মধ্যমা, মোড, অ্যান্টিমোড, স্ট্যান্ডার্ড বিচ্যুতি, র্যান্ডম আইটেম।", @@ -1832,7 +1833,6 @@ "2010866561": "মোট মুনাফা/ক্ষতি ফেরত", "2011609940": "অনুগ্রহ করে ইনপুট নম্বর ০ থেকে বড়", "2011808755": "ক্রয়ের সময়", - "2012110280": "সিনথেটিক্স, বাস্কেট সূচক এবং ডেরিভিড এফএক্স", "2014536501": "কার্ড নাম্বার", "2014590669": "পরিবর্তনশীল '{{variable_name}}' এর কোন মান নেই। অবহিত করার জন্য অনুগ্রহ করে পরিবর্তনশীল '{{variable_name}}' এর মান নির্ধারণ করুন।", "2017672013": "দয়া করে ডকুমেন্ট ইস্যু করার দেশ নির্বাচন করুন।", @@ -1876,7 +1876,6 @@ "2059365224": "হ্যাঁ, আপনি দ্রুত কৌশল বৈশিষ্ট্য ব্যবহার করে একটি প্রাক-নির্মিত বট দিয়ে শুরু করতে পারেন। আপনি এখানে বেশ কিছু জনপ্রিয় ট্রেডিং কৌশল পাবেন: মার্টিঙ্গেল, ডি'আলেমবার্ট, এবং অস্কারের গ্রিন্ড। শুধু কৌশল নির্বাচন করুন, আপনার ট্রেড পরামিতি লিখুন, এবং আপনার বট আপনার জন্য তৈরি করা হবে। আপনি সবসময় পরে পরামিতি tweak করতে পারেন।", "2059753381": "কেন আমার যাচাইকরণ ব্যর্থ হয়েছে?", "2060873863": "আপনার অর্ডার {{order_id}} সম্পূর্ণ", - "2062299501": "<0> {{title}}: আপনার স্ট্রাইক মূল্য {{trade_type}} প্রতিটি পয়েন্টের জন্য আপনার পেমেন্ট এই পরিমাণে বৃদ্ধি পাবে। আপনি মুনাফা অর্জন শুরু করবেন যখন অর্থ প্রদান আপনার অংশীদারিত্বের চেয়ে বেশি হবে।", "2062912059": "ফাংশন {{ function_name }} {{ function_params }}", "2063655921": "“ক্লোজ-টু-লো” চুক্তি ক্রয় করে, আপনি চুক্তির সময়কালের কাছাকাছি এবং কম মধ্যে পার্থক্য গুণক বার জিতবেন।", "2063812316": "টেক্সট স্টেটমেন্ট", @@ -2479,6 +2478,7 @@ "-81256466": "একটি CFD অ্যাকাউন্ট তৈরি করতে আপনার একটি Deriv অ্যাকাউন্ট প্রয়োজন।", "-699372497": "সফল ট্রেডগুলিতে ভাল রিটার্নের জন্য লিভারেজ এবং টাইট স্প্রেডের সাথে ট্রেড <0>করুন।", "-1884966862": "বিভিন্ন ধরনের এবং এখতিয়ার সহ আরও Deriv MT5 অ্যাকাউন্ট পান।", + "-596618970": "Other CFDs", "-982095728": "পান", "-1277942366": "মোট সম্পদ", "-1255879419": "ট্রেডার'স হাব", @@ -2496,6 +2496,8 @@ "-1814994113": "সিএফডি <0>{{compare_accounts_title}}", "-318106501": "সিনথেটিক, বাস্কেট এবং ডেরিভড FX এর সাথে MT5 এ CFD ট্রেড করুন।", "-1328701106": "ফরেক্স, স্টক, স্টক ইনডেক্স, সিনথেটিক, ক্রিপ্টোকুয়ার্বিক্স এবং কমোডিটির সাথে MT5 এ CFD ট্রেড করুন।", + "-1290112064": "ডেরিভ ইজেড", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "প্রবিধান পছন্দ", "-249184528": "আপনি ইইউ বা অ-ইইউ নিয়ন্ত্রণের অধীনে প্রকৃত অ্যাকাউন্ট তৈরি করতে পারেন। <0>এই অ্যাকাউন্টগুলি সম্পর্কে আরও জানতে<0/> আইকনে ক্লিক করুন।", "-1505234170": "ট্রেডার'স হাব ট্যুর", @@ -2962,7 +2964,6 @@ "-222394569": "উদ্ভূত ভানুয়াতু", "-533935232": "আর্থিক বিভিআই", "-565431857": "আর্থিক লাবুয়ান", - "-1290112064": "ডেরিভ ইজেড", "-291535132": "সোয়াপ মুক্ত ডেমো", "-1472945832": "সোয়াপ-মুক্ত SVG", "-1669418686": "অস্ট্রেলিয়া/কানাডিয়ান", @@ -3312,6 +3313,7 @@ "-1647612934": "থেকে স্প্রেড", "-1587894214": "যাচাইকরণ প্রয়োজন।", "-466784048": "রেগুলেটর/EDr", + "-1920034143": "সিনথেটিক্স, বাস্কেট সূচক এবং ডেরিভিড এফএক্স", "-1326848138": "British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)", "-777580328": "ফরেক্স, স্টক, স্টক সূচক, কমোডিটি এবং ক্রিপ্টোকুয়ার্বিক্স", "-1372141447": "স্ট্রেইট মাধ্যমে প্রক্রিয়াজাতকরণ", @@ -3409,8 +3411,12 @@ "-479119833": "আপনার Deriv MT5 {{account_type}} অ্যাকাউন্টের জন্য একটি এখতিয়ার বেছে নিন", "-450424792": "আপনি একটি বাস্তব Deriv MT5 অ্যাকাউন্ট তৈরি করতে Deriv মধ্যে একটি বাস্তব অ্যাকাউন্ট (মুদ্রা মুদ্রা বা cryptocurrency) প্রয়োজন।", "-1760596315": "একটি Deriv অ্যাকাউন্ট তৈরি করুন", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "ওয়েব এবং মোবাইল অ্যাপ্লিকেশানগুলিতে আপনার Deriv X অ্যাকাউন্টে লগ ইন করতে এই পাসওয়ার্ডটি ব্যবহার করুন।", "-1814308691": "আপনার {{platform}} পাসওয়ার্ড পরিবর্তন করতে ইমেলের লিঙ্কে ক্লিক করুন।", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "{{barrier}}না", "-968190634": "{{barrier}}এর সমান", "-1747377543": "{{barrier}}এর নিচে", @@ -3514,7 +3520,7 @@ "-338707425": "ন্যূনতম সময়কাল 1 দিন", "-1003473648": "স্থিতিকাল: {{duration}} দিন", "-700280380": "চুক্তি বাতিল। ফি", - "-194424366": "উপরে", + "-1669741470": "মেয়াদ শেষ হওয়ার সময়ে পরিশোধ চূড়ান্ত মূল্য এবং স্ট্রাইক মূল্যের মধ্যে পার্থক্য দ্বারা গুণিত প্রতি পয়েন্ট পরিশোধের সমান।", "-1527492178": "ক্রয় লকড", "-725375562": "আপনি সেটিংস মেনু থেকে ক্রয় বোতামটি লক/আনলক করতে পারেন", "-2131851017": "বৃদ্ধির হার", @@ -3524,11 +3530,11 @@ "-511541916": "আপনার চুক্তি স্বয়ংক্রিয়ভাবে ticks এই সংখ্যা পৌঁছানোর পরে বন্ধ করা হবে।", "-1918235233": "ন্যূনতম পণ", "-1935239381": "সর্বোচ্চ। পণ", - "-1930565757": "আপনার অংশীদারিত্ব এই চুক্তি ক্রয় একটি অ ফেরতযোগ্য এক সময় প্রিমিয়াম হয়। আপনার মোট মুনাফা/ক্ষতি চুক্তি মূল্য আপনার পণ বিয়োগ সমান।", "-434270664": "বর্তমান মূল্য", "-1956787775": "ব্যারিয়ার মূল্য:", "-1513281069": "ব্যারিয়ার ২", "-390994177": "{{min}} এবং {{max}}এর মধ্যে হওয়া উচিত", + "-1804019534": "মেয়াদ উত্তীর্ন: {{date}}", "-2055106024": "উন্নত এবং সহজ সময়কাল সেটিংসের মধ্যে টগল করুন", "-1012793015": "সমাপ্তির সময়", "-2037881712": "আপনার চুক্তি পরবর্তী উপলব্ধ সম্পদ মূল্য স্বয়ংক্রিয়ভাবে বন্ধ করা হবে<0>।", @@ -3538,9 +3544,8 @@ "-1043117679": "যখন আপনার বর্তমান ক্ষতি আপনার শেকের {{stop_out_percentage}}% এর সমান বা অতিক্রম করে, আপনার চুক্তি নিকটতম উপলব্ধ সম্পত্তির মূল্যে বন্ধ হয়ে যাবে।", "-339236213": "গুণক", "-857660728": "স্ট্রাইক দাম", - "-119134980": "<0>{{trade_type}}: <0>মেয়াদ শেষের সময়ে যদি মার্কেট প্রাইস {{payout_status}} হয় তাহলে আপনি একটি পেআউট পাবেন।", + "-194424366": "উপরে", "-243332856": "{{ underlying_name }}এর জন্য সর্বশেষ ১০০০ টিকটিকির সর্বশেষ অঙ্কের পরিসংখ্যান", - "-1900883796": "<0>{{trade_type}}: যদি বাজার {{payout_status}} হয় তবে মেয়াদ শেষ হওয়ার সময় এই মূল্যটি <0> হলে আপনি একটি অর্থ প্রদান <> অন্যথায়, আপনার পেমেন্ট শূন্য হবে।", "-347156282": "প্রমাণ জমা দিন", "-1738427539": "ক্রয়", "-1937372493": "আপনি যে কোন সময় আপনার ট্রেড বন্ধ করতে পারেন। তবে স্লিপেজ <0>ঝুঁকি <0/> সম্পর্কে সচেতন থাকুন।", diff --git a/packages/translations/src/translations/de.json b/packages/translations/src/translations/de.json index 1a3e545ecfb2..b30a5bdac9e5 100644 --- a/packages/translations/src/translations/de.json +++ b/packages/translations/src/translations/de.json @@ -32,6 +32,7 @@ "45453595": "Binäre Münze", "45941470": "Wo würden Sie gerne anfangen?", "46523711": "Ihr Identitätsnachweis ist verifiziert", + "49404821": "Wenn Sie eine \"<0>{{trade_type}}\"Option kaufen, erhalten Sie bei Fälligkeit eine Auszahlung, wenn der Endpreis {{payout_status}} dem Ausübungspreis entspricht. Andernfalls verfällt Ihre \"<0>{{trade_type}}\" Option wertlos aus.", "49963458": "Wählen Sie eine Option", "50200731": "FX-Majors (Standard-/Micro-Lots), FX-Minors, Korbindizes, Rohstoffe und Kryptowährungen", "53801223": "Hongkong 50", @@ -122,7 +123,6 @@ "158373715": "Tour beenden", "160746023": "Tether als Omni-Token (USDT) ist eine Version von Tether, die auf der Omni-Schicht der Bitcoin-Blockchain gehostet wird.", "160863687": "Kamera wurde nicht erkannt", - "162080773": "Für Put", "164112826": "Mit diesem Block können Sie Blöcke von einer URL laden, wenn Sie sie auf einem Remote-Server gespeichert haben. Sie werden nur geladen, wenn Ihr Bot ausgeführt wird.", "164564432": "Einzahlungen sind aufgrund von Systemwartungsarbeiten vorübergehend nicht verfügbar. Sie können Ihre Einzahlungen tätigen, wenn die Wartung abgeschlossen ist.", "165294347": "Bitte geben Sie in Ihren Kontoeinstellungen Ihr Wohnsitzland an, um auf den Kassenbereich zuzugreifen.", @@ -423,6 +423,7 @@ "498144457": "Eine aktuelle Stromrechnung (z. B. Strom, Wasser oder Gas)", "498562439": "oder", "499522484": "1. für „Zeichenfolge“: 1325,68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Geschäftsführer, hochrangige Beamte und Gesetzgeber", "500920471": "Dieser Block führt arithmetische Operationen zwischen zwei Zahlen durch.", "501401157": "Sie dürfen nur Einzahlungen tätigen", @@ -518,6 +519,7 @@ "611020126": "Adresse auf Blockchain anzeigen", "611786123": "FX-Majors (Standard-/Micro-Lots), FX-Minors, Rohstoffe, Kryptowährungen, Aktien und Aktienindizes", "617345387": "Wenn du „Reset-Up“ auswählst, gewinnst du die Auszahlung, wenn der Startplatz zum Zeitpunkt des Zurücksetzens strikt höher ist als entweder der Startplatz oder der Spot.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Beispiel für ein abgeschnittenes Dokument", "619268911": "<0>a. Die Finanzkommission wird die Gültigkeit der Beschwerde innerhalb von 5 Werktagen untersuchen.", "619407328": "Bist du sicher, dass du die Verknüpfung von {{identifier_title}}aufheben möchtest?", @@ -897,7 +899,6 @@ "1038575777": "Passwort ändern", "1039428638": "EU-Verordnung", "1039755542": "Verwenden Sie ein paar Wörter, vermeiden Sie gebräuchliche Ausdrücke", - "1040053469": "Zum Anrufen", "1040472990": "1. Gehe zu Bot Builder.\n", "1040677897": "Um den Handel fortzusetzen, müssen Sie auch einen Adressnachweis einreichen.", "1041001318": "Dieser Block führt die folgenden Operationen an einer bestimmten Liste aus: Summe, Minimum, Maximum, Durchschnitt, Median, Modus, Antimode, Standardabweichung, zufälliges Element.", @@ -1832,7 +1833,6 @@ "2010866561": "Gibt den Gesamtgewinn/-verlust zurück", "2011609940": "Bitte geben Sie eine Zahl größer als 0 ein", "2011808755": "Zeit des Kaufs", - "2012110280": "Synthetische Produkte, Korbindizes und abgeleitete Devisen", "2014536501": "Nummer der Karte", "2014590669": "Die Variable '{{variable_name}}' hat keinen Wert. Bitte geben Sie einen Wert für die Variable '{{variable_name}}' ein, um eine Benachrichtigung zu erhalten.", "2017672013": "Bitte wählen Sie das Land aus, in dem das Dokument ausgestellt wurde.", @@ -1876,7 +1876,6 @@ "2059365224": "Ja, Sie können mit einem vorgefertigten Bot beginnen, indem Sie die Funktion Quick Strategy verwenden. Hier finden Sie einige der beliebtesten Handelsstrategien: Martingale, D'Alembert und Oscar's Grind. Wählen Sie einfach die Strategie aus, geben Sie Ihre Handelsparameter ein und Ihr Bot wird für Sie erstellt. Sie können die Parameter später jederzeit anpassen.", "2059753381": "Warum ist meine Überprüfung fehlgeschlagen?", "2060873863": "Ihre Bestellung {{order_id}} ist abgeschlossen", - "2062299501": "<0>Für {{title}}: Ihre Auszahlung erhöht sich um diesen Betrag für jeden Punkt {{trade_type}} Ihres Ausübungspreises. Sie werden anfangen, einen Gewinn zu erzielen, wenn die Auszahlung höher ist als Ihr Einsatz.", "2062912059": "Funktion {{ function_name }} {{ function_params }}", "2063655921": "Wenn Sie den „Close-to-Tief“ -Kontrakt kaufen, erhalten Sie während der Vertragsdauer den Multiplikator multipliziert mit der Differenz zwischen dem Schlusskurs und dem Tiefstwert.", "2063812316": "Erklärung in Textform", @@ -2479,6 +2478,7 @@ "-81256466": "Sie benötigen ein Deriv-Konto, um ein CFD-Konto zu erstellen.", "-699372497": "Traden Sie mit Hebelwirkung und engen Spreads, um bei erfolgreichen Trades bessere Renditen zu erzielen. <0>Erfahren Sie mehr", "-1884966862": "Holen Sie sich mehr Deriv MT5-Konten mit unterschiedlichem Typ und unterschiedlicher Gerichtsbarkeit.", + "-596618970": "Other CFDs", "-982095728": "Holen Sie sich", "-1277942366": "Aktiva insgesamt", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFDs <0>{{compare_accounts_title}}", "-318106501": "Handeln Sie CFDs auf MT5 mit synthetischen Produkten, Körben und abgeleiteten Devisen.", "-1328701106": "Handeln Sie CFDs auf MT5 mit Devisen, Aktien, Aktienindizes, Kunststoffen, Kryptowährungen und Rohstoffen.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Wahl der Verordnung", "-249184528": "Sie können echte Konten gemäß EU- oder Nicht-EU-Vorschriften erstellen. Klicken Sie auf das <0><0/>Symbol, um mehr über diese Konten zu erfahren.", "-1505234170": "Trader's Hub-Tour", @@ -2962,7 +2964,6 @@ "-222394569": "Abgeleitetes Vanuatu", "-533935232": "Finanzielles BVI", "-565431857": "Finanzielles Labuan", - "-1290112064": "Deriv EZ", "-291535132": "Tauschfreie Demo", "-1472945832": "Tauschfreie SVG", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Breitet sich aus", "-1587894214": "über erforderliche Überprüfungen.", "-466784048": "Regulator/EDR", + "-1920034143": "Synthetische Produkte, Korbindizes und abgeleitete Devisen", "-1326848138": "Kommission für Finanzdienstleistungen der Britischen Jungferninseln (Lizenz Nr. SIBA/L/18/1114)", "-777580328": "Devisen, Aktien, Aktienindizes, Rohstoffe und Kryptowährungen", "-1372141447": "Unkomplizierte Verarbeitung", @@ -3409,8 +3411,12 @@ "-479119833": "Wählen Sie eine Gerichtsbarkeit für Ihr Deriv MT5 {{account_type}} Konto", "-450424792": "Sie benötigen ein echtes Konto (Fiat-Währung oder Kryptowährung) in Deriv, um ein echtes Deriv MT5-Konto zu erstellen.", "-1760596315": "Erstellen Sie ein Deriv-Konto", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Verwenden Sie dieses Passwort, um sich bei Ihren Deriv X-Konten im Internet und in mobilen Apps anzumelden.", "-1814308691": "Bitte klicken Sie auf den Link in der E-Mail, um Ihr {{platform}}-Passwort zu ändern.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "Nicht {{barrier}}", "-968190634": "Entspricht {{barrier}}", "-1747377543": "Unter {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "Die Mindestdauer beträgt 1 Tag", "-1003473648": "Dauer: {{duration}} Tage", "-700280380": "Deal stornieren. Gebühr", - "-194424366": "über", + "-1669741470": "Die Auszahlung bei Fälligkeit entspricht der Auszahlung pro Punkt multipliziert mit der Differenz zwischen dem Endpreis und dem Ausübungspreis.", "-1527492178": "Kauf gesperrt", "-725375562": "Sie können die Kaufschaltfläche im Einstellungsmenü sperren/entsperren", "-2131851017": "Wachstumsrate", @@ -3524,11 +3530,11 @@ "-511541916": "Ihr Vertrag wird automatisch geschlossen, sobald diese Anzahl von Ticks erreicht ist.", "-1918235233": "Mindesteinsatz", "-1935239381": "Max. Einsatz", - "-1930565757": "Ihr Einsatz ist eine nicht erstattungsfähige einmalige Prämie für den Kauf dieses Vertrags. Ihr Gesamtgewinn/-verlust entspricht dem Kontraktwert abzüglich Ihres Einsatzes.", "-434270664": "Aktueller Preis", "-1956787775": "Barrierepreis:", "-1513281069": "Barriere 2", "-390994177": "Sollte zwischen {{min}} und {{max}}liegen", + "-1804019534": "Verfalldatum: {{date}}", "-2055106024": "Zwischen erweiterten und einfachen Dauer-Einstellungen umschalten", "-1012793015": "Endzeit", "-2037881712": "Ihr Vertrag wird automatisch zum nächsten verfügbaren Vermögenspreis geschlossen<0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "Wenn Ihr aktueller Verlust {{stop_out_percentage}}% Ihres Einsatzes entspricht oder diesen übersteigt, wird Ihr Kontrakt zum nächstgelegenen verfügbaren Vermögenspreis geschlossen.", "-339236213": "Multiplikator", "-857660728": "Basispreise", - "-119134980": "<0>{{trade_type}}: Sie erhalten eine Auszahlung, wenn der Marktpreis zum <0>Ablaufzeitpunkt {{payout_status}} für diesen Preis beträgt. Andernfalls ist Ihre Auszahlung Null.", + "-194424366": "über", "-243332856": "Statistiken der letzten Ziffern für die letzten 1000 Ticks für {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Sie erhalten eine Auszahlung, wenn der Markt zu diesem <0>Preis zum Ablaufzeitpunkt {{payout_status}} ist. Andernfalls ist Ihre Auszahlung Null.", "-347156282": "Nachweis einreichen", "-1738427539": "Kauf", "-1937372493": "Sie können Ihren Handel jederzeit schließen. Beachten Sie jedoch das <0>Slippage-Risiko<0/>.", diff --git a/packages/translations/src/translations/es.json b/packages/translations/src/translations/es.json index be295ec2b511..f748e6431a31 100644 --- a/packages/translations/src/translations/es.json +++ b/packages/translations/src/translations/es.json @@ -32,6 +32,7 @@ "45453595": "Binary Coin", "45941470": "¿Por dónde le gustaría empezar?", "46523711": "Su prueba de identidad está verificada", + "49404821": "Si compra una opción \"<0>{{trade_type}}\", recibirá un pago al vencimiento si el precio final es {{payout_status}} el precio de ejercicio. En caso contrario, su opción \"<0>{{trade_type}}\" expirará sin valor.", "49963458": "Seleccione una opción", "50200731": "FX mayores (lotes estándar/micro), FX menores, cesta de índices, materias primas y criptomonedas", "53801223": "Hong Kong 50", @@ -122,7 +123,6 @@ "158373715": "Salir del recorrido", "160746023": "Tether como token Omni (USDT) es una versión de Tether que está alojada en la capa Omni de la cadena de bloques de Bitcoin.", "160863687": "Cámara no detectada", - "162080773": "Para Put", "164112826": "Este bloque le permite cargar bloques desde una URL si los tiene almacenados en un servidor remoto, y se cargarán solo cuando se ejecute su bot.", "164564432": "Los depósitos no están disponibles temporalmente debido al mantenimiento del sistema. Puede realizar sus depósitos cuando se complete el mantenimiento.", "165294347": "Ajuste su país de residencia en la configuración de la cuenta para acceder al cajero.", @@ -423,6 +423,7 @@ "498144457": "Una factura de servicios públicos reciente (por ejemplo, electricidad, agua o gas)", "498562439": "o", "499522484": "1. para la \"cadena\": 1325.68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Directores ejecutivos, altos funcionarios y legisladores", "500920471": "Este bloque realiza operaciones aritméticas entre dos números.", "501401157": "Solo se le permite realizar depósitos", @@ -518,6 +519,7 @@ "611020126": "Ver dirección en Blockchain", "611786123": "FX-mayores (lotes estándar/micro), FX-menores, Materias primas, Criptomonedas, Acciones e Índices bursátiles", "617345387": "Si selecciona \"Reset-Up\", gana el pago si el punto de salida es estrictamente más alto que el punto de entrada o el punto en el momento del reset.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Ejemplo de un documento cortado", "619268911": "<0>a. La Comisión Financiera investigará la validez de la queja dentro de 5 días hábiles.", "619407328": "¿Está seguro de que desea desvincularse de {{identifier_title}}?", @@ -897,7 +899,6 @@ "1038575777": "Cambiar contraseña", "1039428638": "Reglamento de la UE", "1039755542": "Use algunas palabras, evite frases comunes", - "1040053469": "Para Call", "1040472990": "1. Vaya a Bot Builder.", "1040677897": "Para continuar operando, también debe presentar una prueba de domicilio.", "1041001318": "Este bloque realiza las siguientes operaciones en una lista dada: suma, mínimo, máximo, promedio, mediana, modo, antimodo, desviación estándar, elemento aleatorio.", @@ -1832,7 +1833,6 @@ "2010866561": "Devuelve la ganancia/pérdida total", "2011609940": "Ingrese un número superior a 0", "2011808755": "Hora de compra", - "2012110280": "Sintéticos, Cesta de índices y FX derivado", "2014536501": "Número de tarjeta", "2014590669": "La variable '{{variable_name}}' no tiene valor. Establezca un valor para la variable '{{variable_name}}' para notificar.", "2017672013": "Seleccione el país de emisión del documento.", @@ -1876,7 +1876,6 @@ "2059365224": "Sí, puedes empezar con un bot prediseñado mediante la función Estrategia Rápida. Aquí encontrará algunas de las estrategias de operación más populares: Martingale, D'Alembert y Oscar's Grind. Simplemente seleccione la estrategia, introduzca sus parámetros operativos y se creará su bot para usted. Siempre puede modificar los parámetros más adelante.", "2059753381": "¿Por qué falló mi verificación?", "2060873863": "Su pedido {{order_id}} está completo", - "2062299501": "<0>Para {{title}}: Su pago se incrementará en esta cantidad por cada punto {{trade_type}} de su precio de ejercicio. Comenzará a obtener ganancias cuando el pago sea superior a su inversión.", "2062912059": "función {{ function_name }} {{ function_params }}", "2063655921": "Al comprar el contrato \"Cierre-a-Bajo\", ganará el valor del multiplicador por la diferencia entre el cierre y el bajo a lo largo la duración del contrato.", "2063812316": "Bloque de texto", @@ -2479,6 +2478,7 @@ "-81256466": "Necesita una cuenta Deriv para crear una cuenta de CFD.", "-699372497": "Opere con apalancamiento y spreads ajustados para obtener mejores rendimientos en operaciones exitosas. <0>Saber más", "-1884966862": "Obtenga más cuentas Deriv MT5 de diferentes tipos y jurisdicciones.", + "-596618970": "Other CFDs", "-982095728": "Obtener", "-1277942366": "Total de activos", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD <0>{{compare_accounts_title}}", "-318106501": "Opere con CFD en MT5 con nuestros sintéticos, cestas y FX derivadas.", "-1328701106": "Opere con CFD en MT5 en forex, acciones, índices bursátiles, sintéticos, criptomonedas y materias primas.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Elección del reglamento", "-249184528": "Puede crear cuentas reales según la normativa comunitaria o extracomunitaria. Haga clic en el <0><0/>icono para obtener más información sobre estas cuentas.", "-1505234170": "Tour por el Trader's Hub", @@ -2962,7 +2964,6 @@ "-222394569": "Derivado Vanuatu", "-533935232": "Financiera BVI", "-565431857": "Financial Labuan", - "-1290112064": "Deriv EZ", "-291535132": "Sin swaps Demo", "-1472945832": "Sin swaps SVG", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Spreads desde", "-1587894214": "acerca de las verificaciones necesarias.", "-466784048": "Regulador/EDR", + "-1920034143": "Sintéticos, Cesta de índices y FX derivado", "-1326848138": "British Virgin Islands Financial Services Commission (licencia nº SIBA/L/18/1114)", "-777580328": "Forex, Acciones, Índices bursátiles, Materias primas y Criptomonedas", "-1372141447": "Procesamiento directo", @@ -3409,8 +3411,12 @@ "-479119833": "Elija una jurisdicción para su cuenta {{account_type}} Deriv MT5", "-450424792": "Necesita una cuenta real (moneda fiduciaria o criptomoneda) en Deriv para crear una cuenta Deriv MT5 real.", "-1760596315": "Crear una cuenta Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Utilice esta contraseña para acceder a sus cuentas de Deriv X en la aplicación de escritorio, web y móvil.", "-1814308691": "Haga clic en el enlace del correo electrónico para cambiar su contraseña {{platform}}.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "No {{barrier}}", "-968190634": "Iguales a {{barrier}}", "-1747377543": "Debajo de {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "La duración mínima es de 1 día", "-1003473648": "Duración: {{duration}} día", "-700280380": "Cuota de cancelación de contrato", - "-194424366": "por encima", + "-1669741470": "El pago al vencimiento es igual al pago por punto multiplicado por la diferencia entre el precio final y el precio de ejercicio.", "-1527492178": "Compra bloqueada", "-725375562": "Puede bloquear / desbloquear el botón de compra desde el menú Configuración", "-2131851017": "Tasa de crecimiento", @@ -3524,11 +3530,11 @@ "-511541916": "Su contrato se cerrará automáticamente al alcanzar este número de clics.", "-1918235233": "Inversión mínima", "-1935239381": "Inversión máxima", - "-1930565757": "Su inversión es una prima única no reembolsable para comprar este contrato. Su ganancia/pérdida total es igual al valor del contrato menos su inversión.", "-434270664": "Precio actual", "-1956787775": "Precio de Barrera:", "-1513281069": "Barrera 2", "-390994177": "Debe estar entre {{min}} y {{max}}", + "-1804019534": "Caducidad: {{date}}", "-2055106024": "Alternar entre la configuración de duración avanzada y simple", "-1012793015": "Hora de finalización", "-2037881712": "Su contrato se cerrará automáticamente al próximo precio de activo disponible el <0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "Cuando su pérdida actual es igual a o exceda el {{stop_out_percentage}}% de su inversión, su contrato se cerrará al precio de activo disponible más cercano.", "-339236213": "Multiplicador", "-857660728": "Precio de ejecución", - "-119134980": "<0>{{trade_type}}: Obtendrá un pago si el precio de mercado es {{payout_status}} este precio <0>en el momento del vencimiento. De lo contrario, su pago será cero.", + "-194424366": "por encima", "-243332856": "Estadísticas del último dígito para los últimos 1000 ticks para {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Obtendrá un pago si el mercado es {{payout_status}} este precio <0>en el momento del vencimiento. De lo contrario, su pago será cero.", "-347156282": "Enviar prueba", "-1738427539": "Comprar", "-1937372493": "Puede cerrar su operación en cualquier momento. Sin embargo, tenga en cuenta el riesgo de deslizamiento <0><0/> .", diff --git a/packages/translations/src/translations/fr.json b/packages/translations/src/translations/fr.json index 7604f1c788f4..5ad038c3592c 100644 --- a/packages/translations/src/translations/fr.json +++ b/packages/translations/src/translations/fr.json @@ -32,6 +32,7 @@ "45453595": "Binary Coin", "45941470": "Par où souhaitez-vous commencer?", "46523711": "Votre pièce d'identité est vérifiée", + "49404821": "Si vous achetez une option \"<0>{{trade_type}}\", vous recevez un paiement à l'échéance si le prix final est {{payout_status}} le prix d'exercice. Dans le cas contraire, votre option \"<0>{{trade_type}}\" n'a aucune valeur à l'échéance.", "49963458": "Choisissez une option", "50200731": "Les devises majeures (lots standard/micro), les devises mineures, les indices, les matières premières et les crypto-monnaies", "53801223": "Hong Kong 50", @@ -122,7 +123,6 @@ "158373715": "Arrêter la visite", "160746023": "Tether en tant que jeton Omni (USDT) est une version de Tether qui est hébergée sur la couche Omni de la blockchain Bitcoin.", "160863687": "Caméra non détectée", - "162080773": "Pour Put", "164112826": "Ce bloc vous permet de charger des blocs à partir d'une URL si vous les avez stockés sur un serveur distant, et ils ne seront chargés que lorsque votre bot s'exécutera.", "164564432": "Les dépôts sont temporairement indisponibles en raison d'une maintenance du système. Vous pourrez effectuer vos dépôts lorsque la maintenance sera terminée.", "165294347": "Veuillez définir votre pays de résidence dans les paramètres de votre compte pour accéder à la caisse.", @@ -423,6 +423,7 @@ "498144457": "Une facture de services publics récente (électricité, eau ou gaz, par exemple)", "498562439": "ou", "499522484": "1. pour \"chaîne\": 1325,68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Chefs d’entreprise, hauts fonctionnaires et les législateurs", "500920471": "Ce bloc effectue des opérations arithmétiques entre deux nombres.", "501401157": "Vous êtes uniquement autorisé à effectuer des dépôts", @@ -518,6 +519,7 @@ "611020126": "Voir l'adresse sur Blockchain", "611786123": "FX Majeures (lots standard/micro), FX Mineures, Matières premières, Cryptomonnaies, Actions et Indices Boursiers", "617345387": "Si vous sélectionnez \"Reset-Up\", vous gagnez le paiement si le point de sortie est strictement supérieur au point d'entrée ou au point de réinitialisation.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Exemple de document tronqué", "619268911": "<0>a. La Commission financière examinera la validité de la plainte dans les 5 jours ouvrables.", "619407328": "Etes-vous sûr de vouloir vous déconnecter de {{identifier_title}}?", @@ -897,7 +899,6 @@ "1038575777": "Modifier le mot de passe", "1039428638": "Réglementation européenne", "1039755542": "Utilisez quelques mots, évitez les phrases courantes", - "1040053469": "Pour les Achats", "1040472990": "1. Accédez à Bot Builder.", "1040677897": "Pour continuer le trading, vous devez également soumettre une preuve d'adresse.", "1041001318": "Ce bloc effectue les opérations suivantes sur une liste donnée: somme, minimum, maximum, moyenne, médiane, mode, antimode, écart-type, élément aléatoire.", @@ -1832,7 +1833,6 @@ "2010866561": "Renvoie le total des profits / pertes", "2011609940": "Veuillez saisir un nombre supérieur à 0", "2011808755": "Heure d'achat", - "2012110280": "Synthétiques, Panier d'indices et Dérivés FX", "2014536501": "Numéro de carte", "2014590669": "La variable '{{variable_name}}' n'a pas de valeur. Veuillez définir une valeur pour la variable '{{variable_name}}' pour notifier.", "2017672013": "Veuillez sélectionner le pays de délivrance du document.", @@ -1876,7 +1876,6 @@ "2059365224": "Oui, vous pouvez démarrer avec un bot prédéfini à l'aide de la fonctionnalité Quick strategy . Vous trouverez certaines des stratégies de trading les plus populaires ici : Martingale, D'Alembert et Oscar's Grind. Sélectionnez simplement la stratégie, entrez vos paramètres commerciaux et votre bot sera créé pour vous. Vous pouvez toujours modifier les paramètres ultérieurement.", "2059753381": "Pourquoi ma vérification a-t-elle échoué ?", "2060873863": "Votre commande {{order_id}} est terminée", - "2062299501": "<0>Pour {{title}}: Votre gain augmentera de ce montant pour chaque point de {{trade_type}} jusqu'à votre prix d'exercice. Vous commencerez à faire des bénéfices lorsque le paiement sera supérieur à votre mise.", "2062912059": "fonction {{ function_name }} {{ function_params }}", "2063655921": "En achetant le contrat « Clôture-Bas », vous gagnerez le multiplicateur fois la différence entre la clôture et le bas pendant toute la durée du contrat.", "2063812316": "Relevé en texte", @@ -2479,6 +2478,7 @@ "-81256466": "Vous avez besoin d'un compte Deriv pour créer un compte CFD.", "-699372497": "Tradez avec un effet de levier et des spreads serrés pour obtenir de meilleurs rendements sur les transactions réussies. <0>En savoir plus", "-1884966862": "Obtenez plus de comptes Deriv MT5 avec un type et une juridiction différents.", + "-596618970": "Other CFDs", "-982095728": "Obtenir", "-1277942366": "Total des actifs", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD <0>{{compare_accounts_title}}", "-318106501": "Tradez des CFD sur MT5 avec des produits synthétiques, des paniers et des dérivées FX.", "-1328701106": "Tradez des CFD sur MT5 avec le forex, les actions, les indices boursiers, les matières synthétiques, les cryptomonnaies et les matières premières.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Choix de la réglementation", "-249184528": "Vous pouvez créer des comptes réels conformément à la réglementation européenne ou non européenne. Cliquez sur l'<0><0/>icône pour en savoir plus sur ces comptes.", "-1505234170": "Visite du Trader's Hub", @@ -2962,7 +2964,6 @@ "-222394569": "Dérivées Vanuatu", "-533935232": "Financier BVI", "-565431857": "Financier Labuan", - "-1290112064": "Deriv EZ", "-291535132": "Démo sans échange", "-1472945832": "SVG sans échange", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Les spreads de", "-1587894214": "sur les vérifications nécessaires.", "-466784048": "Régulateur/EDR", + "-1920034143": "Synthétiques, Panier d'indices et Dérivés FX", "-1326848138": "Commission des services financiers des îles Vierges britanniques (Licence nº SIBA/L/18/1114)", "-777580328": "Forex, Stocks, Indices boursiers, Matières premières et Cryptomonnaies", "-1372141447": "Traitement direct", @@ -3409,8 +3411,12 @@ "-479119833": "Choisissez une juridiction pour votre compte Deriv MT5 {{account_type}}", "-450424792": "Vous avez besoin d'un compte réel (monnaie fiduciaire ou crypto-monnaie) dans Deriv pour créer un vrai compte Deriv MT5.", "-1760596315": "Créer un compte Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Utilisez ce mot de passe pour vous connecter à vos comptes Deriv X sur le web et l'application mobile.", "-1814308691": "Veuillez cliquer sur le lien reçu par email afin de modifier votre mot de passe {{platform}}.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "Pas {{barrier}}", "-968190634": "Egal {{barrier}}", "-1747377543": "Sous {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "La durée minimale est de 1 jour", "-1003473648": "Durée: {{duration}} jour", "-700280380": "Offre annulation. coût", - "-194424366": "au-dessus", + "-1669741470": "Le paiement à l'échéance est égal au paiement par point multiplié par la différence entre le prix final et le prix d'exercice.", "-1527492178": "Achat bloqué", "-725375562": "Vous pouvez verrouiller/déverrouiller le bouton d'achat à partir du menu Paramètres", "-2131851017": "Taux de croissance", @@ -3524,11 +3530,11 @@ "-511541916": "Votre contrat sera automatiquement clôturé lorsque ce nombre de ticks sera atteint.", "-1918235233": "La mise minimale", "-1935239381": "La mise maximale", - "-1930565757": "Votre mise est un premier paiement, qui est payé une seule fois et n'est pas remboursable, pour acheter ce contrat. Votre profit/perte total(e) est égal(e) à la valeur du contrat moins votre mise.", "-434270664": "Prix actuel", "-1956787775": "Prix de Barrière :", "-1513281069": "Barrière 2", "-390994177": "Doit être compris entre {{min}} et {{max}}", + "-1804019534": "Expiration : {{date}}", "-2055106024": "Basculer entre les paramètres de durée avancés et simples", "-1012793015": "Heure de fin", "-2037881712": "Votre contrat se fermera automatiquement au prochain prix d'actif disponible le<0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "Lorsque votre perte actuelle est égale ou supérieure à {{stop_out_percentage}}% de votre Equité, votre contrat sera clôturé au prix d'actif disponible le plus proche.", "-339236213": "Multiplicateur", "-857660728": "Le prix d'exercice", - "-119134980": "<0>{{trade_type}}: Vous recevrez un paiement de gain si le prix du marché est plus {{payout_status}} que ce prix <0>à l'heure d'expiration. Sinon, votre paiement de gain sera nul.", + "-194424366": "au-dessus", "-243332856": "Statistiques du dernier chiffre pour les 1000 derniers ticks pour {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Vous recevrez un paiement de gain si le marché est plus {{payout_status}} que ce prix <0>à l'heure d'expiration. Sinon, votre paiement de gain sera nul.", "-347156282": "Soumettre une preuve", "-1738427539": "Acheter", "-1937372493": "Vous pouvez clôturer votre transaction à tout moment. Cependant, soyez conscient du risque de slippage de <0><0/> .", diff --git a/packages/translations/src/translations/id.json b/packages/translations/src/translations/id.json index a9b451924574..559abed6ef19 100644 --- a/packages/translations/src/translations/id.json +++ b/packages/translations/src/translations/id.json @@ -32,6 +32,7 @@ "45453595": "Koin Binary", "45941470": "Darimana anda ingin memulai?", "46523711": "Bukti identitas Anda telah diverifikasi", + "49404821": "Jika Anda membeli opsi \"<0>{{trade_type}}\", Anda akan menerima pembayaran pada saat kedaluwarsa jika harga akhir adalah {{payout_status}} harga kesepakatan. Jika tidak, opsi \"<0>{{trade_type}}\" Anda akan kedaluwarsa tanpa nilai.", "49963458": "Pilih opsi", "50200731": "FX mayor (standar/lot mikro), FX minor, indeks basket, komoditas, dan mata uang kripto", "53801223": "Hong Kong 50", @@ -122,7 +123,6 @@ "158373715": "Keluar dari tur", "160746023": "Tether sebagai token Omni (USDT) adalah versi Tether yang dihostingkan di lapisan Omni pada blockchain Bitcoin.", "160863687": "Kamera tidak terdeteksi", - "162080773": "Untuk Put", "164112826": "Blok ini memberi Anda fasilitas untuk memuat blok dari URL jika Anda menyimpannya pada remote server dan hanya akan dimuat ketika bot Anda beroperasi.", "164564432": "Deposit tidak tersedia untuk sementara waktu berhubung perbaikan sistem. Anda dapat melakukan deposit kembali setelah perbaikan selesai.", "165294347": "Pilih negara domisili Anda pada bagian pengaturan akun untuk mengakses bagian kasir.", @@ -423,6 +423,7 @@ "498144457": "Tagihan utilitas terbaru (seperti listrik, air, atau gas)", "498562439": "atau", "499522484": "1. untuk \"string\": USD 1325,68", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Kepala Eksekutif, Pejabat Senior dan Legislator", "500920471": "Blok ini melakukan operasi aritmatika antara dua angka.", "501401157": "Anda hanya dapat mendeposit", @@ -518,6 +519,7 @@ "611020126": "Lihat alamat pada Blockchain", "611786123": "FX-mayor (standar/lot mikro), FX-minor, Komoditas, Mata Uang Kripto, Saham, dan Indeks Saham", "617345387": "Jika Anda memilih \"Reset-Up”, Anda memperoleh hasil jika spot akhir lebih tinggi dari spot awal atau spot pada waktu reset.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Contoh dokumen yang dipotong", "619268911": "<0>a. Komisi keuangan akan menyelidiki keabsahan pengaduan dalam tempo 5 hari kerja.", "619407328": "Yakin ingin membatalkan tautan dari {{identifier_title}}?", @@ -897,7 +899,6 @@ "1038575777": "Ubah kata sandi", "1039428638": "Peraturan Uni Eropa", "1039755542": "Gunakan beberapa kata, hindari frasa umum", - "1040053469": "Untuk Call", "1040472990": "1. Pergi ke Bot Builder.", "1040677897": "Untuk melanjutkan trading, Anda juga harus mengirimkan bukti alamat.", "1041001318": "Blok ini melakukan operasi berikut pada daftar yang diberikan: jumlah, minimum, maksimum, rata-rata, median, mode, antimode, standar deviasi, item acak.", @@ -1832,7 +1833,6 @@ "2010866561": "Menampilkan total untung/rugi", "2011609940": "Silakan masukkan nomor lebih besar dari 0", "2011808755": "Waktu Beli", - "2012110280": "Sintetis, Indeks Keranjang, dan FX Turunan", "2014536501": "Nomor kartu", "2014590669": "Variabel '{{variable_name}}' tidak memiliki nilai. Mohon tetapkan nilai variabel '{{variable_name}}' untuk memberitahukan.", "2017672013": "Mohon pilih negara pengeluar dokumen.", @@ -1876,7 +1876,6 @@ "2059365224": "Ya, Anda dapat memulai dengan bot pra-bangun menggunakan fitur Strategi Cepat . Anda akan menemukan beberapa strategi perdagangan paling populer di sini: Martingale, D'Alembert, dan Oscar Grind. Cukup pilih strategi, masukkan parameter perdagangan Anda, dan bot Anda akan dibuat untuk Anda. Anda selalu dapat men-tweak parameter nanti.", "2059753381": "Mengapa verifikasi saya gagal?", "2060873863": "Order {{order_id}} telah diproses", - "2062299501": "<0>Untuk {{title}}: Hasil akan bertambah sesuai dengan jumlah berikut bagi setiap poin {{trade_type}} harga strike. Anda akan mulai memperoleh keuntungan ketika hasil lebih tinggi dari modal Anda.", "2062912059": "fungsi {{ function_name }} {{ function_params }}", "2063655921": "Dengan membeli kontrak \"Close-to-Low \", Anda akan memperoleh hasil pada selisih nilai close (penutupan) dan nilai terendah dikalikan dengan nilai multiplier selama durasi kontrak.", "2063812316": "Pernyataan Teks", @@ -2479,6 +2478,7 @@ "-81256466": "Anda memerlukan akun Deriv untuk mendaftar akun CFD.", "-699372497": "Trading menggunakan leverage dan spread rendah untuk memperoleh keuntungan yang lebih baik. <0>Pelajari lebih lanjut", "-1884966862": "Dapatkan akun Deriv MT5 lainnya dengan tipe dan yurisdiksi yang berbeda.", + "-596618970": "Other CFDs", "-982095728": "Dapatkan", "-1277942366": "Total aset", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD <0>{{compare_accounts_title}}", "-318106501": "Trading CFD pada MT5 menggunakan sintetis, basket, dan FX derived.", "-1328701106": "Trade CFD pada MT5 menggunakan forex, saham, indeks saham, sintetis, mata uang kripto, dan komoditas.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Pilihan regulasi", "-249184528": "Anda dapat membuat akun riil berdasarkan peraturan Uni Eropa atau non Uni Eropa. Klik <0><0/>ikon untuk mempelajari lebih lanjut tentang akun ini.", "-1505234170": "Tur Trader's Hub", @@ -2962,7 +2964,6 @@ "-222394569": "Berasal Vanuatu", "-533935232": "Finansial BVI", "-565431857": "Finansial Labuan", - "-1290112064": "Deriv EZ", "-291535132": "Demo Bebas Swap", "-1472945832": "SVG Bebas Swap", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Spread dari", "-1587894214": "tentang verifikasi yang dibutuhkan.", "-466784048": "Regulator/EDR", + "-1920034143": "Sintetis, Indeks Keranjang, dan FX Turunan", "-1326848138": "British Virgin Islands Financial Services Commission (lisensi no. SIBA/L/18/1114)", "-777580328": "Forex, Saham, Indeks Saham, Komoditas, dan Mata uang kripto", "-1372141447": "Pemrosesan langsung", @@ -3409,8 +3411,12 @@ "-479119833": "Pilih yurisdiksi untuk akun Deriv MT5 {{account_type}} Anda", "-450424792": "Anda memerlukan akun riil (dalam mata uang fiat atau kripto) Deriv untuk mendaftar akun riil Deriv MT5.", "-1760596315": "Daftar akun Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Gunakan kata sandi ini untuk mengakses akun Deriv X Anda melalui web dan aplikasi seluler.", "-1814308691": "Klik tautan pada email untuk mengubah kata sandi {{platform}} Anda.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "Bukan {{barrier}}", "-968190634": "Sama (Equal) {{barrier}}", "-1747377543": "Di bawah (Under) {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "Durasi minimum adalah 1 hari", "-1003473648": "Durasi: {{duration}} hari", "-700280380": "Biaya pembatalan", - "-194424366": "di atas", + "-1669741470": "Pembayaran pada saat kedaluwarsa sama dengan pembayaran per poin dikalikan dengan selisih antara harga akhir dan harga kesepakatan.", "-1527492178": "Pembelian dikunci", "-725375562": "Anda dapat mengunci/membuka kunci tombol pembelian dari menu pengaturan", "-2131851017": "Tingkat pertumbuhan", @@ -3524,11 +3530,11 @@ "-511541916": "Kontrak Anda akan ditutup secara otomatis setelah mencapai jumlah tick ini.", "-1918235233": "Modal min.", "-1935239381": "Modal maks.", - "-1930565757": "Modal adalah jumlah yang Anda bayarkan untuk membeli kontrak ini. Jumlah keuntungan/kerugian bersih Anda adalah nilai kontrak dikurangi modal.", "-434270664": "Harga Saat Ini", "-1956787775": "Harga Barrier:", "-1513281069": "Barrier 2", "-390994177": "Harus antara {{min}} dan {{max}}", + "-1804019534": "Kedaluwarsa: {{date}}", "-2055106024": "Beralih antara pengaturan durasi lanjutan dan sederhana", "-1012793015": "Waktu akhir", "-2037881712": "Kontrak Anda akan ditutup secara otomatis pada harga aset yang tersedia berikutnya <0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "Ketika kerugian Anda saat ini sama atau melebihi {{stop_out_percentage}}% dari modal, kontrak Anda akan ditutup pada harga aset terdekat yang tersedia.", "-339236213": "Multiplier", "-857660728": "Harga Strike", - "-119134980": "<0>{{trade_type}}: Anda akan memperoleh hasil jika harga pasar adalah {{payout_status}} dari harga ini <0>pada saat kontrak berakhir. Jika tidak, maka kontrak tidak menghasilkan keuntungan.", + "-194424366": "di atas", "-243332856": "Statistik digit terakhir pada 1000 tik terkini {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Anda akan memperoleh hasil jika harga pasar adalah {{payout_status}} harga ini <0>pada saat kontrak berakhir. Jika tidak, maka kontrak tidak menghasilkan keuntungan.", "-347156282": "Kirim Bukti", "-1738427539": "Beli", "-1937372493": "Anda bisa menutup transaksi Anda kapan saja. Namun, waspadai <0>risiko slippage<0/>.", diff --git a/packages/translations/src/translations/it.json b/packages/translations/src/translations/it.json index a3643145587f..3b593e97166a 100644 --- a/packages/translations/src/translations/it.json +++ b/packages/translations/src/translations/it.json @@ -32,6 +32,7 @@ "45453595": "Moneta Binary", "45941470": "Da dove preferisci iniziare?", "46523711": "La verifica dell'identità è andata a buon fine", + "49404821": "Se acquista un'opzione \"<0>{{trade_type}}\", riceve un pagamento alla scadenza se il prezzo finale è {{payout_status}} il prezzo d'esercizio. In caso contrario, la sua opzione \"<0>{{trade_type}}\" scadrà senza valore.", "49963458": "Scegli un'opzione", "50200731": "Coppie maggiori FX (standard/micro-lotti), coppie minori FX, paniere di indici, materie prime e criptovalute", "53801223": "Hong Kong 50", @@ -122,7 +123,6 @@ "158373715": "Esci dal tour", "160746023": "Tether come Omni token (USDT) è una versione di Tether ospitata sul livello Omni sulla blockchain Bitcoin.", "160863687": "Nessuna fotocamera trovata", - "162080773": "Per Put", "164112826": "Questo blocco permette di caricare altri blocchi da un URL dove sono memorizzati o da un server remoto e saranno caricati solamente quando il bot è attivo.", "164564432": "I depositi non sono momentaneamente disponibili a causa della manutenzione del sistema; potrai effettuarli a manutenzione finita.", "165294347": "Inserisci il Paese di residenza nelle impostazioni del conto per accedere alla cassa.", @@ -423,6 +423,7 @@ "498144457": "Una bolletta delle utenze recente (ad es. elettricità, acqua o gas)", "498562439": "o", "499522484": "1. per \"stringa\": 1325,68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Amministratori delegati, Alti funzionari e Legislatori", "500920471": "Questo blocco svolge operazioni aritmetiche tra due numeri.", "501401157": "Puoi solamente effettuare depositi", @@ -518,6 +519,7 @@ "611020126": "Visualizza l'indirizzo su Blockchain", "611786123": "Coppie FX maggiori (standard/micro lotti) e minori, materie prime, criptovalute, azioni, e indici azionari", "617345387": "Selezionando \"Reset-Up\", vinci il payout se il punto di uscita è strettamente superiore al punto di entrata o al punto alla data di reset.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Esempio di un documento tagliato", "619268911": "<0>a.La commissione finanziaria valuterà la validità del reclamo entro 5 giorni lavorativi.", "619407328": "Vuoi davvero scollegarti da {{identifier_title}}?", @@ -897,7 +899,6 @@ "1038575777": "Modifica password", "1039428638": "Regolamento UE", "1039755542": "Usa poche parole evitando frasi comuni", - "1040053469": "Per Call", "1040472990": "1. Vai a Bot Builder.", "1040677897": "Per continuare l'attività di trading, è necessario inviare una prova a verifica dell'indirizzo.", "1041001318": "Questo blocco esegue le seguenti operazioni di un dato elenco: somma, minimo, massimo, media, mediana, mode, antimode, deviazione standard, elemento casuale.", @@ -1832,7 +1833,6 @@ "2010866561": "Restituisce il profitto/perdita totale", "2011609940": "Inserisci un numero maggiore di 0", "2011808755": "Orario d'acquisto", - "2012110280": "Sintetici, Panieri di indici e FX derivati", "2014536501": "Numero della carta", "2014590669": "La variabile \"{{variable_name}}\" non ha valore. Imposta un valore per \"{{variable_name}}\".", "2017672013": "Seleziona il Paese in cui è stato emesso il documento.", @@ -1876,7 +1876,6 @@ "2059365224": "Sì, puoi iniziare con un bot predefinito utilizzando la funzione Strategia rapida . Qui troverai alcune delle strategie di trading più popolari: Martingale, D'Alembert e Oscar's Grind. Basta selezionare la strategia, inserire i parametri di trading e il bot verrà creato per te. Puoi sempre modificare i parametri in un secondo momento.", "2059753381": "Perché la mia verifica non è riuscita?", "2060873863": "L'ordine {{order_id}} è completo", - "2062299501": "<0>Per {{title}}: la tua vincita aumenterà di questo importo per ogni punto {{trade_type}} della tua puntata. Inizierai a realizzare un profitto quando il pagamento sarà superiore alla tua puntata.", "2062912059": "funzione {{ function_name }} {{ function_params }}", "2063655921": "Acquistando il contratto \"Close-to-Low\", la vincita corrisponderà al prodotto tra il moltiplicatore e la differenza tra il valore di chiusura (close) e il valore minimo (low) nel corso della durata del contratto.", "2063812316": "Estratto di testo", @@ -2479,6 +2478,7 @@ "-81256466": "È necessario un conto Deriv per creare un conto CFD.", "-699372497": "Fai trading con leva e spread ridotti per avere un ritorno maggiore sui trade che vanno a buon fine. <0>Scopri di più", "-1884966862": "Ottieni più conti Deriv MT5 di diverse tipologie e con più giurisdizioni.", + "-596618970": "Other CFDs", "-982095728": "Vai", "-1277942366": "Asset totali", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD <0>{{compare_accounts_title}}", "-318106501": "Fai trading con CFD su MT5 su sintetici, panieri e sugli FX derivati.", "-1328701106": "Fai trading con CFD su MT5 su Forex, azioni, indici azionari, sintetici, criptovalute e materie prime.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Scelta del regolamento", "-249184528": "Puoi creare conti reali in base a normative UE o extra UE. Fai clic sull'<0><0/>icona per saperne di più su questi conti.", "-1505234170": "Visita del Trader's Hub", @@ -2962,7 +2964,6 @@ "-222394569": "Vanuatu derivato", "-533935232": "Finanziario BVI", "-565431857": "Finanziaria Labuan", - "-1290112064": "Deriv EZ", "-291535132": "Demo senza swap", "-1472945832": "SVG senza swap", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Gli spread da", "-1587894214": "sulle verifiche necessarie.", "-466784048": "Regolatore/EDR", + "-1920034143": "Sintetici, Panieri di indici e FX derivati", "-1326848138": "British Virgin Islands Financial Services Commission (Licenza n. SIBA/L/18/1114)", "-777580328": "Forex, Azioni, Indizi azionari azionari, materie prime e Criptovalute", "-1372141447": "Elaborazione diretta", @@ -3409,8 +3411,12 @@ "-479119833": "Scegli una giurisdizione per il tuo conto Deriv MT5 {{account_type}}", "-450424792": "Per creare un conto reale Deriv MT5, devi essere in possesso di un conto reale (in valuta fiat o criptovaluta) su Deriv.", "-1760596315": "Crea un conto Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Usa questa password per accedere ai conti Deriv X via web e app su smartphone.", "-1814308691": "Per modificare la password {{platform}}, fai clic sul link presente nell'e-mail.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "Non {{barrier}}", "-968190634": "Uguale a {{barrier}}", "-1747377543": "Inferiore a {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "La durata minima è 1 giorno", "-1003473648": "Durata: {{duration}} giorni", "-700280380": "Commissione per la cancellazione", - "-194424366": "superiore", + "-1669741470": "Il payout alla scadenza è pari al payout per punto moltiplicato per la differenza tra il prezzo finale e il prezzo d'esercizio.", "-1527492178": "Acquisto bloccato", "-725375562": "Puoi bloccare/sbloccare il pulsante di acquisto dal menu Impostazioni", "-2131851017": "Tasso di crescita", @@ -3524,11 +3530,11 @@ "-511541916": "Il contratto verrà chiuso automaticamente al raggiungimento di questo numero di segni di spunta.", "-1918235233": "Puntata min.", "-1935239381": "Puntata max.", - "-1930565757": "La tua puntata è un premio una tantum non rimborsabile per l'acquisto di questo contratto. Il profitto o perdita totali sono pari al valore del contratto meno la tua puntata.", "-434270664": "Prezzo attuale", "-1956787775": "Prezzo Barriera:", "-1513281069": "Barriera 2", "-390994177": "Dovrebbe essere compreso tra {{min}} e {{max}}", + "-1804019534": "Scadenza: {{date}}", "-2055106024": "Alterna le impostazioni di durata semplici e avanzate", "-1012793015": "Orario di fine", "-2037881712": "Il contratto verrà chiuso automaticamente al successivo prezzo disponibile dell'asset il <0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "Quando le perdite correnti sono pari o maggiori al {{stop_out_percentage}}% della puntata, il contratto viene chiuso al prezzo dell'asset disponibile più vicino.", "-339236213": "Moltiplicatore", "-857660728": "Prezzo della puntata", - "-119134980": "<0>{{trade_type}}: Riceverai un pagamento se il prezzo di mercato è {{payout_status}} a questo <0>prezzo alla scadenza, altrimenti il pagamento sarà pari a zero.", + "-194424366": "superiore", "-243332856": "Statistiche dell'ultima cifra per gli ultimi 1000 tick per {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Riceverai un pagamento se il prezzo del mercato è pari a {{payout_status}} questo <0>prezzo alla scadenza, altrimenti il pagamento sarà pari a zero.", "-347156282": "Invia documento di verifica", "-1738427539": "Acquisto", "-1937372493": "Può chiudere l'operazione in qualsiasi momento. Tuttavia, tenga presente il rischio di slippage <0><0/> .", diff --git a/packages/translations/src/translations/ko.json b/packages/translations/src/translations/ko.json index 6902a0a562a9..19b9cefa0a49 100644 --- a/packages/translations/src/translations/ko.json +++ b/packages/translations/src/translations/ko.json @@ -32,6 +32,7 @@ "45453595": "Binary 코인", "45941470": "어디에서부터 시작하고 싶으신가요?", "46523711": "귀하의 신분 증명이 확인되었습니다", + "49404821": "\"<0>{{trade_type}}\" 옵션을 매수하면 최종 가격이 행사 가격 {{payout_status}} 인 경우 만기 시 지급금을 받게 됩니다. 그렇지 않으면 \"<0>{{trade_type}}\" 옵션은 무가치하게 만료됩니다.", "49963458": "옵션을 선택하세요", "50200731": "FX 메이저 (기준/마이크로 랏), FX 마이너, 바스켓 지수, 원자재 및 암호화폐", "53801223": "홍콩 50 (Hong Kong 50)", @@ -122,7 +123,6 @@ "158373715": "엑시트 투어", "160746023": "옴니 토큰으로써의 테더 (USDT) 는 비트코인 블록체인의 옴니 레이어에서 호스팅되는 테더의 버전입니다.", "160863687": "카메라가 인식되지 않았습니다", - "162080773": "풋 (Put)", "164112826": "귀하께서 원격 서버에 저장하신 블록들을 이 블록을 통해 URL로부터 로드하실 수 있으며, 이러한 블록들은 오직 귀하의 봇이 구동 될 때에만 로드됩니다.", "164564432": "시스템 점검으로 인해 일시적으로 입금을 하실 수 없습니다. 시스템 점검이 완료되면 입금 하실 수 있습니다.", "165294347": "캐셔에 접근하기 위해 계좌 설정에서 귀하의 거주 국가를 설정해 주시기 바랍니다.", @@ -423,6 +423,7 @@ "498144457": "최근 공과금 청구서 (예: 전기, 수도 또는 가스)", "498562439": "또는", "499522484": "1. \"문자열\"의 예시: 1325.68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "최고 경영자, 고위 공무원 및 국회의원", "500920471": "이 블록은 두 숫자간의 산술 연산을 수행합니다.", "501401157": "귀하께서는 입금만 하실 수 있습니다", @@ -518,6 +519,7 @@ "611020126": "Blockchain에서 주소 확인하기", "611786123": "FX 메이저 (스탠다드/마이크로 랏), FX 마이너, 원자재, 암호화폐, 주식 및 주식 지수", "617345387": "\"리셋 업 (Reset-Up)”을 선택하시면, 출구 지점이 진입 지점 또는 리셋 시점의 스팟보다 확실히 높을 경우 지불금을 받을 수 있습니다.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "수락되지 않는 문서의 예시", "619268911": "<0>a.금융 위원회는 영업일 기준 5일 이내에 해당 불만 사항의 유효성을 조사할 것입니다.", "619407328": "귀하께서는 {{identifier_title}} 로부터 연결 해제를 희망하시는 것이 분명한가요?", @@ -897,7 +899,6 @@ "1038575777": "비밀번호 변경", "1039428638": "유럽연합 규정", "1039755542": "몇몇 단어들 사용하시고, 평범한 문구는 피하세요", - "1040053469": "콜 (Call)", "1040472990": "1. Bot Builder로 이동합니다.", "1040677897": "거래를 계속 하기 위해, 귀하께서는 주소증명 또한 반드시 제출하셔야 합니다.", "1041001318": "이 블록은 주어진 목록에서 다음의 연산들을 수행합니다: 합, 최소, 최대, 평균, 중앙값, 최빈값, 반최빈값, 표준편차, 무작위 항목.", @@ -1832,7 +1833,6 @@ "2010866561": "총 이윤/손실을 불러옵니다", "2011609940": "0보다 큰 숫자를 입력해주시기 바랍니다", "2011808755": "구매 시간", - "2012110280": "합성수지, 바스켓 인덱스 및 파생 FX", "2014536501": "카드 번호", "2014590669": "변수 '{{variable_name}}'가 값을 가지고 있지 않습니다. 공지하기 위해 변수 '{{variable_name}}'에 대하여 값을 설정해 주시기 바랍니다.", "2017672013": "문서가 발급된 국가를 선택해 주시기 바랍니다.", @@ -1876,7 +1876,6 @@ "2059365224": "예, Quick Strategy 기능을 사용하여 사전 빌드된 봇으로 시작할 수 있습니다.마틴게일, 달랑베르, 오스카의 그라인드 등 가장 인기 있는 트레이딩 전략을 여기에서 찾을 수 있습니다.전략을 선택하고 거래 매개 변수를 입력하기만 하면 봇이 자동으로 생성됩니다.매개변수는 나중에 언제든지 조정할 수 있습니다.", "2059753381": "제 인증이 왜 실패했나요?", "2060873863": "귀하의 주문 {{order_id}} 은 완료되었습니다", - "2062299501": "<0>{{title}}: 귀하의 지불금은 귀하의 행사 가격에 대하여 {{trade_type}} 의 각 포인트당 이 금액만큼 증가할 것입니다. 귀하의 지분보다 지급 금액이 높게 되면 수익이 발생합니다.", "2062912059": "함수 {{ function_name }} {{ function_params }}", "2063655921": "\"종가-저가\" 계약을 구매함으로써, 귀하께서는 해당 계약의 기간에 걸쳐 종가와 저가의 차이에 승수를 곱한만큼 획득하게 될 것입니다.", "2063812316": "문자 제어문", @@ -2479,6 +2478,7 @@ "-81256466": "CFD 계정을 만들려면 Deriv 계정이 필요합니다.", "-699372497": "성공적인 거래들에 대하여 더 나은 보상을 위해 레버리지와 촘촘한 스프레드와 함께 거래하세요. <0>자세히 알아보기", "-1884966862": "유형 및 관할 구역이 다른 Deriv MT5 계정을 더 많이 확보하십시오.", + "-596618970": "Other CFDs", "-982095728": "받기", "-1277942366": "총 자산", "-1255879419": "트레이더 허브", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD <0>{{compare_accounts_title}}", "-318106501": "합성상품, 바스켓 및 파생 FX로 MT5에서 CFD를 거래하세요.", "-1328701106": "외환, 주식, 주식 지수, 합성상품, 암호화폐 및 원자재로 MT5에서 CFD를 거래하세요.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "규제 항목 선택", "-249184528": "EU 또는 비 EU 규정에 따라 실제 계정을 만들 수 있습니다.<0><0/>아이콘을 클릭하면 해당 계정에 대해 자세히 알아볼 수 있습니다.", "-1505234170": "트레이더 허브 투어", @@ -2962,7 +2964,6 @@ "-222394569": "Derived Vanuatu", "-533935232": "금융 BVI", "-565431857": "금융 라부안", - "-1290112064": "Deriv EZ", "-291535132": "스왑-프리 데모", "-1472945832": "스왑프리 SVG", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "스프레드 출처", "-1587894214": "필요한 검증에 대해.", "-466784048": "레귤레이터/EDR", + "-1920034143": "합성수지, 바스켓 인덱스 및 파생 FX", "-1326848138": "British Virgin Islands Financial Services Commission (라이센스 번호. SIBA/L/18/1114)", "-777580328": "외환, 주식, 주가지수, 원자재 및 암호화폐", "-1372141447": "일괄처리시스템", @@ -3409,8 +3411,12 @@ "-479119833": "귀하의 Deriv MT5 {{account_type}} 계정의 관할 지역을 선택하세요", "-450424792": "실제 Deriv MT5 계정을 만들기 위해서는 Deriv에 실제 계정 (법정통화 또는 암호화폐) 이 필요합니다.", "-1760596315": "Deriv 계정 생성하기", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "이 비밀번호를 사용하여 웹 및 모바일 앱에서 Deriv X 계정에 로그인하세요.", "-1814308691": "귀하의 {{platform}} 비밀번호를 변경하기 위해서 이메일에 있는 링크를 클릭하시기 바랍니다.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "{{barrier}} 아님", "-968190634": "{{barrier}} 일치", "-1747377543": "{{barrier}} 아래", @@ -3514,7 +3520,7 @@ "-338707425": "최소한의 기간은 1일입니다", "-1003473648": "기간: {{duration}} 일", "-700280380": "거래 취소 비용", - "-194424366": "이상", + "-1669741470": "만기 시 지급금은 포인트당 지급금에 최종 가격과 행사 가격의 차이를 곱한 금액입니다.", "-1527492178": "구매가 차단되었습니다", "-725375562": "귀하께서는 설정 메뉴에서 구매 버튼을 잠금/잠금해제 하실 수 있습니다", "-2131851017": "성장률", @@ -3524,11 +3530,11 @@ "-511541916": "이 틱 수에 도달하면 계약이 자동으로 종료됩니다.", "-1918235233": "최소 판돈", "-1935239381": "최대 판돈", - "-1930565757": "귀하의 판돈은 본 계약을 구매하기 위한 환불되지 않는 일회성 프리미엄입니다.총 수익/손실은 계약 금액에서 지분을 뺀 금액과 같습니다.", "-434270664": "현재 가격", "-1956787775": "배리어 가격:", "-1513281069": "장벽 2", "-390994177": "{{min}} 과 {{max}} 사이여야 합니다", + "-1804019534": "만료: {{date}}", "-2055106024": "고급 및 단순 기간 설정 사이를 왕래하세요", "-1012793015": "종료 시간", "-2037881712": "귀하의 계약은 <0>에서 다음의 가능한 자산 가격에서 자동으로 종료될 것입니다.", @@ -3538,9 +3544,8 @@ "-1043117679": "귀하의 현재 손실이 귀하의 지분의 {{stop_out_percentage}}%과 같거나 또는 이를 초과하면, 귀하의 계약은 가능한 가장 근접한 자산 가격으로 종료될 것입니다.", "-339236213": "승수", "-857660728": "행사 가격", - "-119134980": "<0>{{trade_type}}: <0>만기시에 이 가격에 대하여 시장이 {{payout_status}} 인 경우 지불금을 받습니다. 그렇지 않으면, 지불금은 없습니다.", + "-194424366": "이상", "-243332856": "{{ underlying_name }} 에 대하여 최근 1000 틱들에 대한 마지막 숫자 스탯", - "-1900883796": "<0>{{trade_type}}: <0>만기시에 이 가격에 대하여 시장이 {{payout_status}} 인 경우 지불금을 받습니다. 그렇지 않으면, 지불금은 없습니다.", "-347156282": "증명 제출", "-1738427539": "구매", "-1937372493": "언제든지 거래를 청산할 수 있습니다. 하지만 <0>미끄러짐 위험<0/> 에 유의하세요.", diff --git a/packages/translations/src/translations/pl.json b/packages/translations/src/translations/pl.json index 888d2b43ca1b..2992e4630fd2 100644 --- a/packages/translations/src/translations/pl.json +++ b/packages/translations/src/translations/pl.json @@ -32,6 +32,7 @@ "45453595": "Moneta binarna", "45941470": "Od czego chcesz zacząć?", "46523711": "Twoje potwierdzenie tożsamości zostało zweryfikowane", + "49404821": "Jeśli kupią Państwo opcję \"<0>{{trade_type}}\", otrzymują Państwo wypłatę w momencie wygaśnięcia, jeśli cena końcowa wynosi {{payout_status}} cena wykonania. W przeciwnym razie Państwa opcja \"<0>{{trade_type}}\" wygaśnie bezwartościowa.", "49963458": "Wybierz opcję", "50200731": "Główne-FX (standardowe/mikro partie), drugorzędne-FX, wskaźniki koszyków, towary i kryptowaluty", "53801223": "Hongkong 50", @@ -122,7 +123,6 @@ "158373715": "Wycieczka po wyjściu", "160746023": "Tether jako token Omni (USDT) to wersja Tether hostowana na poziomie Omni w oparciu o technologię blockchain Bitcoin.", "160863687": "Nie wykryto aparatu", - "162080773": "Do Put", "164112826": "Ten blok umożliwia załadowanie bloków z URL, jeśli przechowujesz je na zdalnym serwerze. Zostaną załadowane tylko, jeśli bot jest uruchomiony.", "164564432": "Wpłaty są tymczasowo niedostępne z powodu konserwacji systemu. Możesz dokonać wpłaty po zakończeniu konserwacji.", "165294347": "Ustaw swój kraj zamieszkania w ustawieniach swojego konta, aby uzyskać dostęp do kasjera.", @@ -423,6 +423,7 @@ "498144457": "Rachunek za media z ostatnich miesięcy (np. za prąd, wodę lub gaz)", "498562439": "lub", "499522484": "1. dla „ciągu”: 1325,68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Dyrektorzy, urzędnicy wysokiego szczebla, prawodawcy", "500920471": "Ten blok wykonuje działania matematyczne między dwoma liczbami.", "501401157": "Możesz dokonywać tylko wpłat", @@ -518,6 +519,7 @@ "611020126": "Wyświetl adres na Blockchain", "611786123": "Główne-FX (standardowe/mikro partie), Drugorzędne-FX, Towary, Kryptowaluty, Akcje, i Wskaźniki giełdowe", "617345387": "Jeśli wybierzesz „Reset-Up”, zdobędziesz wypłatę, gdy punkt wyjściowy będzie znacząco wyższy niż punkt wejściowy lub punkt spot w momencie resetowania.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Przykład przyciętego dokumentu", "619268911": "<0>a.Komisja Finansowa sprawdzi ważność skargi w ciągu 5 dni roboczych.", "619407328": "Czy na pewno chcesz zakończyć powiązanie z {{identifier_title}}?", @@ -897,7 +899,6 @@ "1038575777": "Zmień hasło", "1039428638": "Rozporządzenie UE", "1039755542": "Użyj kilku słów, unikaj popularnych zwrotów", - "1040053469": "Do połączenia", "1040472990": "1. Idź do Bot Builder.", "1040677897": "Aby kontynuować handlowanie, musisz przesłać również potwierdzenie adresu.", "1041001318": "Blok wykonuje następujące działania na określonej liście: suma, minimum, maksimum, średnia, mediana, tryb, anty-tryb, odchylenie standardowe, element losowy.", @@ -1832,7 +1833,6 @@ "2010866561": "Zwraca całkowity zysk/stratę", "2011609940": "Wprowadź liczbę większą od 0", "2011808755": "Godzina zakupu", - "2012110280": "Syntetyki, indeksy koszykowe i pochodne FX", "2014536501": "Numer karty", "2014590669": "Zmienna '{{variable_name}}' nie ma żadnych wartości. Ustal wartość zmiennej '{{variable_name}}' do powiadomienia.", "2017672013": "Wybierz kraj wydania dokumentu.", @@ -1876,7 +1876,6 @@ "2059365224": "Tak, możesz zacząć od gotowego bota, korzystając z funkcji Szybka strategia . Tutaj znajdziesz niektóre z najpopularniejszych strategii handlowych: Martingale, D'Alembert i Oscar's Grind. Po prostu wybierz strategię, wprowadź swoje parametry handlowe, a Twój bot zostanie stworzony dla Ciebie. Zawsze możesz dostosować parametry później.", "2059753381": "Dlaczego moja weryfikacja nie powiodła się?", "2060873863": "Twoje zlecenie {{order_id}} zostało ukończone", - "2062299501": "<0>Dla {{title}}: Twoja wypłata wzrośnie o tę kwotę za każdy punkt {{trade_type}} cena wykonania. Zaczniesz osiągać zysk, gdy wypłata będzie wyższa niż Twoja stawka.", "2062912059": "funkcja {{ function_name }} {{ function_params }}", "2063655921": "W przypadku zakupu kontraktu Zamknięcia-na-Niską zyskasz wypłatę o wartości mnożnika pomnożonego przez różnicę wartości ceny zamknięcia i niskiej w okresie trwania kontraktu.", "2063812316": "Twierdzenie tekstu", @@ -2479,6 +2478,7 @@ "-81256466": "Aby utworzyć konto CFD, potrzebujesz konta Deriv.", "-699372497": "Handluj z dźwignią finansową i wąskimi spreadami, aby <0>uzyskać lepszy zwrot z udanych transakcji.", "-1884966862": "Uzyskaj więcej kont Deriv MT5 z innym typem i jurysdykcją.", + "-596618970": "Other CFDs", "-982095728": "Dostać", "-1277942366": "Całkowite aktywa", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD <0>{{compare_accounts_title}}", "-318106501": "Handluj kontraktami CFD na MT5 z syntetyki, koszyki i pochodne FX.", "-1328701106": "Inwestuj w kontrakty CFD na platformie MT5, oferującej forex, akcje, indeksy giełdowe, towary i kryptowaluty.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Wybór regulacji", "-249184528": "Możesz tworzyć konta rzeczywiste zgodnie z przepisami UE lub spoza UE. Kliknij <0><0/>ikonę, aby dowiedzieć się więcej o tych kontach.", "-1505234170": "Wycieczka po Trader's Hub", @@ -2962,7 +2964,6 @@ "-222394569": "Pochodne Vanuatu", "-533935232": "Finansowe BVI", "-565431857": "Finansowe Labuan", - "-1290112064": "Deriv EZ", "-291535132": "Demo bez Swapu", "-1472945832": "SVG bez wymiany", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Rozprzestrzenia się od", "-1587894214": "o potrzebnych weryfikacjach.", "-466784048": "Regulator/EDR", + "-1920034143": "Syntetyki, indeksy koszykowe i pochodne FX", "-1326848138": "British Virgin Islands Financial Services Commission (Nr licencji: SIBA/L/18/1114)", "-777580328": "Ponad aktywów: forex, indeksy giełdowe, towary i kryptowaluty", "-1372141447": "Nieskomplikowane przetwarzanie", @@ -3409,8 +3411,12 @@ "-479119833": "Wybierz jurysdykcję dla swojego konta Deriv MT5 {{account_type}}", "-450424792": "Aby utworzyć prawdziwe konto Deriv MT5, musisz mieć prawdziwe konto (waluta fiducjarna lub kryptowaluta) w Deriv.", "-1760596315": "Załóż konto Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Użyj tego hasła, aby zalogować się do kont Deriv X na aplikacji na urządzenia mobilne oraz aplikacji internetowej.", "-1814308691": "Kliknij link z wiadomości e-mail, aby zmienić swoje hasło {{platform}}.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "Nie {{barrier}}", "-968190634": "Równa się {{barrier}}", "-1747377543": "Poniżej {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "Minimalny czas trwania to 1 dzień", "-1003473648": "Czas trwania: {{duration}} dzień", "-700280380": "Anulowanie transakcji. Opłata", - "-194424366": "powyżej", + "-1669741470": "Wypłata w momencie wygaśnięcia jest równa wypłacie za punkt pomnożonej przez różnicę między ceną końcową a ceną wykonania.", "-1527492178": "Zablokowano zakup", "-725375562": "Możesz zablokować/odblokować przycisk zakupu w menu Ustawienia", "-2131851017": "Tempo wzrostu", @@ -3524,11 +3530,11 @@ "-511541916": "Twoja umowa zostanie automatycznie zamknięta po osiągnięciu tej liczby kleszczy.", "-1918235233": "Min. stawka", "-1935239381": "Max. stawka", - "-1930565757": "Twoja stawka to jednorazowa składka bezzwrotna za zakup tej umowy. Twój całkowity zysk/strata jest równa wartości kontraktu pomniejszonej o stawkę.", "-434270664": "Aktualna cena", "-1956787775": "Bariera Cena:", "-1513281069": "Limit 2", "-390994177": "Powinna być pomiędzy {{min}} a {{max}}", + "-1804019534": "Data ważności: {{date}}", "-2055106024": "Przełącz między zaawansowanymi i prostymi ustawieniami czasu trwania", "-1012793015": "Godzina zakończenia", "-2037881712": "Kontrakt zostanie zamknięty automatycznie po następnej dostępnej cenie aktywa dnia <0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "Gdy Twoje bieżące straty zrównają się z {{stop_out_percentage}}% Twojej stawki lub przewyższą tę wartość, Twój kontrakt zostanie zamknięty po najbliższej dostępnej cenie aktywa.", "-339236213": "Mnożnik", "-857660728": "Ceny wykonania", - "-119134980": "<0>{{trade_type}}: Otrzymasz wypłatę, jeśli cena rynkowa wynosi {{payout_status}} ta cena <0>w czasie wygaśnięcia. w przeciwnym razie Twoja wypłata będzie zerowa.", + "-194424366": "powyżej", "-243332856": "Statystyki ostatnich cyfr dla ostatnich 1000 ticków dla {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Otrzymasz wypłatę, jeśli rynek wynosi {{payout_status}} ta cena <0>w czasie wygaśnięcia. w przeciwnym razie, twoja wypłata będzie zerowa.", "-347156282": "Prześlij dowód", "-1738427539": "Zakup", "-1937372493": "Mogą Państwo zamknąć transakcję w dowolnym momencie. Proszę jednak pamiętać o ryzyku poślizgu <0><0/> .", diff --git a/packages/translations/src/translations/pt.json b/packages/translations/src/translations/pt.json index 80a24008e67d..c0d95fb1ad21 100644 --- a/packages/translations/src/translations/pt.json +++ b/packages/translations/src/translations/pt.json @@ -29,92 +29,93 @@ "35089987": "Carregue a frente e o verso da sua carteira de habilitação.", "41737927": "Obrigado", "44877997": "Autorização de residência", - "45453595": "Moeda binária", - "45941470": "Por onde você gostaria de começar?", - "46523711": "Sua prova de identidade é verificada", + "45453595": "Moeda Binary", + "45941470": "Por onde gostaria de começar?", + "46523711": "O seu documento de identidade está verificado", + "49404821": "Se comprar uma opção \"<0>{{trade_type}}\", recebe um pagamento no vencimento se o preço final for {{payout_status}} o preço de exercício. Caso contrário, a sua opção \"<0>{{trade_type}}\" expirará sem valor.", "49963458": "Escolha uma opção", - "50200731": "Principais mercados de câmbio (lotes padrão/micro), menores de câmbio, cesta de índices, commodities e cryptocurrencies", + "50200731": "Pares principais (lotes padrão/micro), pares secundários, cesta de índices e criptomoedas", "53801223": "Hong Kong 50", - "53964766": "5. Clique em Salvar para baixar seu bot. Você pode escolher baixar seu bot para o seu dispositivo ou para o Google Drive.", + "53964766": "5. Clique em Salvar para fazer o transferir o seu bot. Pode optar por descarregar o seu bot para o seu aparelho ou para o Google Drive.", "54185751": "Menos de $100 000", - "55340304": "Manter seu contrato atual?", + "55340304": "Manter o contrato atual?", "55916349": "Tudo", - "56764670": "Deriv Bot não irá prosseguir com quaisquer novos negócios. Quaisquer transacções em curso serão completadas pelo nosso sistema. Quaisquer alterações não guardadas serão perdidas<0>. Nota: Por favor verifique o seu extrato para ver as transacções concluídas.", + "56764670": "A Deriv Bot não irá prosseguir com quaisquer novas negociações. Quaisquer transações em curso serão completadas pelo nosso sistema. Quaisquer alterações não guardadas serão perdidas<0>. Nota: Por favor verifique o seu extrato para ver as transações concluídas.", "58254854": "Escopos", - "59169515": "Se você selecionar “Ascensão asiática”, ganhará o pagamento se o último tick for maior que a média dos tiques.", - "59341501": "Formato de arquivo não reconhecido", - "59662816": "Os limites estabelecidos estão sujeitos a alterações sem aviso prévio.", + "59169515": "Se selecionar \"Asiático Em Alta\", ganhará o pagamento se o último tick for superior à média dos ticks.", + "59341501": "Formato de ficheiro não reconhecido", + "59662816": "Os limites declarados estão sujeitos a alterações sem aviso prévio.", "62748351": "Comprimento da lista", - "63869411": "Este bloco testa um determinado número de acordo com a seleção", + "63869411": "Este bloco testa um determinado número conforme a seleção", "64402604": "Verifique as informações de transferência", - "65185694": "Rampa de acesso Fiat", + "65185694": "Fiat onramp", "65982042": "Total", "66519591": "Senha do investidor", - "67923436": "Não, o Deriv Bot deixará de funcionar quando o navegador da Web for fechado.", - "68885999": "Repete a negociação anterior quando um erro é encontrado.", + "67923436": "Não, o Deriv Bot deixará de funcionar quando o navegador web for fechado.", + "68885999": "Repete a transação anterior quando é encontrado um erro.", "69005593": "O exemplo abaixo reinicia a negociação após 30 ou mais segundos após o início da vela de 1 minuto.", "71016232": "OMG/USD", "71445658": "Aberto", - "71563326": "Um serviço de pagamento fiat to crypto rápido e seguro. Deposit cryptocurrencies de qualquer lugar do mundo usando seus cartões de crédito/débito e transferências bancárias.", - "71853457": "$100.001 - $500.000", + "71563326": "Um serviço de pagamento de moeda fiduciária-para-cripto, rápido e seguro. Deposite criptomoedas de qualquer lugar do mundo usando os seus cartões de crédito/débito e transferências bancárias.", + "71853457": "$100 001 - $500 000", "72500774": "Por favor, preencha a residência fiscal.", - "73086872": "Você se autoexcluiu da negociação", - "73326375": "A baixa é o ponto mais baixo já alcançado pelo mercado durante o período do contrato.", + "73086872": "Foi auto-excluído da negociação", + "73326375": "A baixa é o ponto mais baixo alguma vez atingido pelo mercado durante o período do contrato.", "74963864": "Abaixo", - "76916358": "Você atingiu o limite de saque. <0/> Faça o upload de seu comprovante de identidade e endereço para aumentar o limite e continuar sua retirada.", - "77945356": "Trade em qualquer lugar com nosso aplicativo móvel.", - "77982950": "As opções baunilha permitem-lhe prever uma direção ascendente (alta) ou descendente (baixa) do ativo subjacente através da compra de uma \"Call\" ou de uma \"Put\".", + "76916358": "Atingiu o limite de levantamento.<0/>Carregue o seu comprovativo de identidade e morada para levantar o limite e continuar o seu levantamento.", + "77945356": "Negocie em qualquer lugar com a nossa aplicação móvel.", + "77982950": "As Opções Vanilla permitem-lhe prever uma direção ascendente (alta) ou descendente (baixa) do ativo subjacente através da compra de uma \"Call\" ou de uma \"Put\".", "81450871": "Não conseguimos encontrar essa página", - "82839270": "Faça o upload da página do seu passaporte que contém sua foto.", - "83202647": "Bloqueio de colapso", - "84402478": "Onde posso encontrar os blocos de que preciso?", + "82839270": "Carregue a página do seu passaporte que contém a sua fotografia.", + "83202647": "Recolher bloco", + "84402478": "Onde posso encontrar os blocos de que necessito?", "85343079": "Avaliação financeira", "85359122": "40 ou mais", - "85389154": "Etapas necessárias para continuar a verificação em seu celular", - "89062902": "Trade no MT5", - "90266322": "2. Inicie um bate-papo com seu bot recém-criado do Telegram e certifique-se de enviar algumas mensagens para ele antes de prosseguir para a próxima etapa. (por exemplo, Hello Bot!)", - "91993812": "A Estratégia Martingale é uma técnica clássica de negociação usada há mais de cem anos, popularizada pelo matemático francês Paul Pierre Levy no século XVIII.", - "93154671": "1. Pressione Reset na parte inferior do painel de estatísticas.", - "96381225": "Falha na verificação de identidade", - "98473502": "Não somos obrigados a realizar um teste de adequação nem fornecer nenhum aviso de risco.", + "85389154": "Etapas necessárias para continuar a verificação no seu telemóvel", + "89062902": "Negocie na MT5", + "90266322": "2. Inicie uma conversa com o seu recém-criado bot do Telegram e certifique-se de enviar-lhe algumas mensagens antes de avançar para o passo seguinte. (por exemplo, Olá Bot!)", + "91993812": "A Estratégia Martingale é uma técnica de negociação clássica que tem sido utilizada há mais de cem anos, popularizada pelo matemático francês Paul Pierre Levy no século XVIII.", + "93154671": "1. Clique Redefinir na parte inferior do painel de estatísticas.", + "96381225": "A verificação de ID falhou", + "98473502": "Não somos obrigados a efetuar um teste de adequação, nem a fornecer-lhe quaisquer avisos de risco.", "98972777": "item aleatório", - "100239694": "Carregue a frente do cartão do seu computador", + "100239694": "Carregue a frente do cartão a partir do seu computador", "102226908": "O campo não pode estar vazio", "108916570": "Duração: {{duration}} dias", - "109073671": "Use uma carteira eletrônica que você já usou para depósitos anteriormente. Certifique-se de que a carteira eletrônica ofereça suporte à retirada. <0>Veja a lista de carteiras eletrônicas que oferecem suporte a saques aqui.", + "109073671": "Utilize uma carteira eletrónica que já tenha utilizado anteriormente para depósitos. Certifique-se de que a carteira eletrónica suporta levantamentos. Consulte a lista de carteiras electrónicas que suportam levantamentos <0>aqui.", "111215238": "Afaste-se da luz direta", "111718006": "Data de término", - "111931529": "Aposta total máxima em 7 dias", + "111931529": "Entrada total máxima em 7 dias", "113378532": "ETC/USD", "115032488": "Preço de compra e P/L", "116005488": "Indicadores", - "117318539": "A senha deve ter letras maiúsculas e minúsculas em inglês com números.", - "118586231": "Número do documento (carteira de identidade, passaporte)", - "119261701": "Prediction:", + "117318539": "A senha deve conter letras maiúsculas, minúsculas e números.", + "118586231": "Número do documento (bilhete de identidade, passaporte)", + "119261701": "Previsão:", "119446122": "O tipo de contrato não está selecionado", - "120340777": "Complete seus dados pessoais", + "120340777": "Preencha os seus dados pessoais", "123454801": "{{withdraw_amount}} {{currency_symbol}}", - "124723298": "Faça o upload de um comprovante de endereço para verificar seu endereço", + "124723298": "Carregue um comprovativo de morada para verificar a sua morada", "125443840": "6. Reinicie a última negociação em caso de erro", - "127307725": "Uma pessoa politicamente exposta (PEP) é alguém nomeado para uma posição pública de destaque. Associados próximos e familiares de um PEP também são considerados PEPs.", + "127307725": "Uma pessoa politicamente exposta (PEP) é alguém nomeado para um cargo público proeminente. Os associados próximos e os membros da família de uma PEP também são considerados PEP.", "129729742": "Número de identificação fiscal*", - "130567238": "ENTÃO", - "132596476": "Ao fornecer nossos serviços a você, devemos solicitar algumas informações para avaliar se um determinado produto ou serviço é apropriado para você e se você tem a experiência e o conhecimento necessários para entender os riscos envolvidos. <0/> <0/>", - "132689841": "Trade no terminal web", - "133523018": "Acesse a página de Deposit para obter um endereço.", + "130567238": "EM SEGUIDA", + "132596476": "Ao prestar-lhe os nossos serviços, somos obrigados a pedir-lhe algumas informações para avaliar se um determinado produto ou serviço é adequado para si e se tem a experiência e os conhecimentos necessários para compreender os riscos envolvidos.<0/><0/>", + "132689841": "Negociar no terminal web", + "133523018": "Aceda à página Depósito para obter um endereço.", "133536621": "e", - "133655768": "Nota: Se quiser saber mais sobre o Bot Builder, você pode ir até a guia <0>Tutoriais.", - "139454343": "Confirme meus limites", - "141265840": "Informações sobre transferência de fundos", - "141626595": "Certifique-se de que seu dispositivo tenha uma câmera em funcionamento", + "133655768": "Nota: Se quiser saber mais sobre o Bot Builder, pode ir ao separador <0>Tutoriais.", + "139454343": "Confirmar os meus limites", + "141265840": "Informações sobre a transferência de fundos", + "141626595": "Certifique-se de que o seu dispositivo tem uma câmara funcional", "142050447": "defina {{ variable }} para criar texto com", - "142390699": "Conectado ao seu celular", - "143970826": "Problemas com o pagamento?", - "145146541": "Nossas contas e serviços não estão disponíveis para o código postal de Jersey", + "142390699": "Ligado ao seu telemóvel", + "143970826": "Problemas de pagamento?", + "145146541": "As nossas contas e serviços não estão disponíveis para o código postal de Jersey", "145736466": "Tire uma selfie", "150486954": "Nome do token", - "151344063": "O ponto de saída é o preço de mercado quando o contrato é fechado.", - "151646545": "Não é possível ler o arquivo {{name}}", + "151344063": "O preço à vista de saída é o preço de mercado quando o contrato é fechado.", + "151646545": "Não é possível ler o ficheiro {{name}}", "152415091": "Matemática", "152524253": "Negocie nos mercados mundiais com nossa popular plataforma fácil de usar.", "154545319": "O país de residência é onde você mora atualmente.", @@ -122,7 +123,6 @@ "158373715": "Excursão de saída", "160746023": "O Tether como token Omni (USDT) é uma versão do Tether hospedada na camada Omni na blockchain Bitcoin.", "160863687": "Câmera não detectada", - "162080773": "Para Put", "164112826": "Esse bloco permite que você carregue blocos de um URL se você os tiver armazenados em um servidor remoto, e eles serão carregados somente quando o bot for executado.", "164564432": "Os depósitos estão temporariamente indisponíveis devido à manutenção do sistema. Você pode fazer seus depósitos quando a manutenção estiver concluída.", "165294347": "Defina seu país de residência nas configurações da sua conta para acessar o caixa.", @@ -167,80 +167,80 @@ "210385770": "Se você tiver uma conta ativa, faça login para continuar. Caso contrário, inscreva-se.", "211224838": "Investimento", "211461880": "Nomes e sobrenomes comuns são fáceis de adivinhar", - "211847965": "Seus <0>dados pessoais estão incompletos. Acesse as configurações da sua conta e preencha seus dados pessoais para permitir saques.", - "216650710": "Você está usando uma conta demo", + "211847965": "Os seus <0>dados pessoais estão incompletos. Aceda às definições da sua conta e complete os seus dados pessoais para permitir levantamentos.", + "216650710": "Está a utilizar uma conta demo", "217403651": "São Vicente e Granadinas", "217504255": "Avaliação financeira enviada com sucesso", "218441288": "Número do bilhete de identidade", - "220014242": "Faça upload de uma selfie do seu computador", + "220014242": "Carregue uma selfie a partir do seu computador", "220186645": "O texto está vazio", - "220232017": "CFDs de demonstração", + "220232017": "CFDs demo", "223120514": "Neste exemplo, cada ponto da linha SMA é uma média aritmética dos preços de fechamento dos últimos 50 dias.", "223607908": "Estatísticas do último dígito para os últimos 1000 ticks para {{underlying_name}}", "224650827": "IOT/USD", - "224929714": "<1>As apostas baseadas em eventos virtuais no Reino Unido e na Ilha de Man são oferecidas pela {{legal_entity_name}}, Millennium House, Level 1, Victoria Road, Douglas IM2 4RW, Ilha de Man, licenciada e regulamentada na Grã-Bretanha pela Comissão de Jogos de Azar sob a <0>conta nº 39172 e pela Comissão de Supervisão de Jogos na Ilha de Man (ver licença).", - "225887649": "Esse bloqueio é obrigatório. Ela é adicionada à sua estratégia por padrão quando você cria uma nova estratégia. Você não pode adicionar mais de uma cópia desse bloco à tela.", + "224929714": "As apostas baseadas em eventos virtuais no Reino Unido e na Ilha de Man são oferecidas por {{legal_entity_name}}, Millennium House, Level 1, Victoria Road, Douglas IM2 4RW, Ilha de Man, licenciada e regulamentada na Grã-Bretanha pela Gambling Commission sob a <0>conta n. º 39172 e pela Gambling Supervision Commission na Ilha de Man<1>(ver licença).", + "225887649": "Este bloco é obrigatório. É adicionado à sua estratégia como padrão quando cria uma estratégia. Não é possível adicionar mais de uma cópia deste bloco ao ecrã.", "227591929": "Para registar a data e hora {{ input_datetime }} {{ dummy }}", - "227903202": "Cobraremos uma taxa de transferência de 1% para transferências em moedas diferentes entre suas contas Deriv fiat e {{platform_name_mt5}} .", - "228079844": "Clique aqui para fazer o upload", - "228521812": "Testa se uma sequência de texto está vazia. Retorna um valor booleano (verdadeiro ou falso).", - "229355215": "Trade em {{platform_name_dbot}}", - "233500222": "- Alto: o preço mais alto", - "235583807": "O SMA é um indicador frequentemente usado na análise técnica. Ele calcula o preço médio de mercado em um período especificado e geralmente é usado para identificar a direção da tendência do mercado: para cima ou para baixo. Por exemplo, se o SMA está subindo, significa que a tendência do mercado está em alta. ", + "227903202": "Cobraremos uma taxa de transferência de 1% para transferências em moedas diferentes entre as suas contas Deriv fiat e {{platform_name_mt5}}.", + "228079844": "Clique aqui para carregar", + "228521812": "Testa se uma cadeia de texto está vazia. Devolve um valor booleano (verdadeiro ou falso).", + "229355215": "Negocie na {{platform_name_dbot}}", + "233500222": "- Alto: o preço mais elevado", + "235583807": "A SMA é um indicador frequentemente utilizado na análise técnica. Calcula o preço médio de mercado durante um período específico e é normalmente utilizado para identificar a direção da tendência do mercado: para cima ou para baixo. Por exemplo, se a SMA estiver a mover-se para cima, significa que a tendência do mercado é para cima. ", "236642001": "Diário", - "238496287": "A negociação Alavancagem é de alto risco, por isso é uma boa ideia usar recursos de gerenciamento de risco, como stop loss. O Stop loss permite que você", - "243537306": "1. No menu Blocos , vá para Utilitário > Variáveis.", - "243614144": "Isso só está disponível para clientes existentes.", - "245005091": "abaixar", - "245187862": "A RDC tomará uma <0>decisão sobre a reclamação (observe que a RDC não menciona nenhum prazo para anunciar sua decisão).", + "238496287": "A negociação com alavancagem é de alto risco, por isso é uma boa ideia usar recursos de gestão de risco, como o stop loss. O stop loss permite-lhe", + "243537306": "1. No menu Blocks (Blocos) , aceda a Utility (Utilitário) > Variables (Variáveis).", + "243614144": "Esta opção só está disponível para os clientes existentes.", + "245005091": "inferior", + "245187862": "A DRC tomará uma <0>decisão sobre a queixa (por favor, note que a DRC não menciona nenhum prazo para anunciar a sua decisão).", "245812353": "se {{ condition }} retornar {{ value }}", - "247418415": "A negociação de jogos pode se tornar um verdadeiro vício, assim como qualquer outra atividade levada ao limite. Para evitar o perigo de tal vício, fornecemos uma verificação da realidade que fornece um resumo de suas negociações e contas regularmente.", - "248565468": "Verifique o e-mail da sua conta {{ identifier_title }} e clique no link do e-mail para continuar.", - "248909149": "Envie um link seguro para seu telefone", - "251134918": "Informações da conta", + "247418415": "A negociação de jogos pode tornar-se um verdadeiro vício, tal como qualquer outra atividade levada aos seus limites. Para evitar o perigo de tal vício, fornecemos uma verificação da realidade que lhe dá um resumo das suas negociações e contas com frequência.", + "248565468": "Verifique o e-mail da sua conta {{ identifier_title }} e clique no link do e-mail para prosseguir.", + "248909149": "Enviar um link seguro para o seu telemóvel", + "251134918": "Informações sobre a conta", "251322536": "Contas Deriv EZ", "251445658": "Tema escuro", - "251882697": "Obrigada! Sua resposta foi registrada em nosso sistema. <0/> <0/> Clique em 'OK' para continuar.", - "254912581": "Esse bloco é semelhante ao EMA, exceto que fornece toda a linha EMA com base na lista de entrada e no período determinado.", - "256031314": "Negócio de caixa", - "256602726": "Se você fechar sua conta:", + "251882697": "Obrigado! A sua resposta foi registada no nosso sistema.<0/><0/>Clique em 'OK' para continuar.", + "254912581": "Este bloco é semelhante ao EMA, exceto que lhe oferece toda a linha EMA com base na lista de entrada e no período dado.", + "256031314": "Negócio a dinheiro", + "256602726": "Se encerrar a sua conta:", "258448370": "MT5", "258912192": "Avaliação de negociação", "260069181": "Ocorreu um erro ao tentar carregar o URL", - "260086036": "Coloque blocos aqui para realizar tarefas uma vez quando seu bot começar a funcionar.", + "260086036": "Coloque blocos aqui para executar tarefas uma vez quando o seu bot começa a funcionar.", "260361841": "O número de identificação fiscal não pode ter mais de 25 caracteres.", - "261074187": "4. Depois que os blocos forem carregados na área de trabalho, ajuste os parâmetros se quiser ou pressione Executar para começar a negociar.", - "261250441": "<0>Arraste o bloco <0>Negociar novamente e adicione-o à parte de execução do bloco <0>Repetir até.", - "262095250": "Se selecionar <0>\"Put\", receberá um pagamento se o preço final for inferior ao preço de exercício no final do prazo. Caso contrário, não receberá qualquer pagamento.", - "264976398": "3. 'Erro' exibe uma mensagem em vermelho para destacar algo que precisa ser resolvido imediatamente.", - "265644304": "Tipos de comércio", + "261074187": "4. Quando os blocos estiverem carregados na área de trabalho, ajuste os parâmetros se quiser ou clique Executar para começar a negociar.", + "261250441": "Arraste o bloco <0>Negociar novamente e adicione-o à parte \" <0>fazer \" do bloco <0>Repetir até.", + "262095250": "Se selecionar <0>\"Put\", receberá um pagamento se o preço final for inferior ao preço de exercício no final do prazo. Caso contrário, não receberá nenhum pagamento.", + "264976398": "3. \"Erro\" apresenta uma mensagem a vermelho para realçar algo que tem de ser resolvido imediatamente.", + "265644304": "Tipos de negociação", "267992618": "As plataformas carecem de recursos ou funcionalidades importantes.", - "268940240": "Seu saldo ({{format_balance}} {{currency}}) é menor que o saque mínimo permitido atualmente ({{format_min_withdraw_amount}} {{currency}}). Por favor, recarregue sua conta para continuar com seu saque.", - "269322978": "Deposit com sua moeda local por meio de câmbio ponto a ponto com outros traders em seu país.", + "268940240": "O seu saldo ({{format_balance}} {{currency}}) é inferior ao atual levantamento mínimo permitido ({{format_min_withdraw_amount}} {{currency}}). Por favor, carregue a sua conta para continuar com o seu levantamento.", + "269322978": "Deposite com a sua moeda local através do câmbio peer-to-peer (ponto a ponto) com outros traders no seu país.", "269607721": "Carregar", "270339490": "Se você selecionar “Mais”, ganhará o pagamento se o último dígito da última marca for maior do que sua previsão.", "270610771": "Neste exemplo, o preço de abertura de uma vela é atribuído à variável “candle_open_price”.", - "270712176": "descedentes", - "270780527": "Você atingiu o limite para enviar seus documentos.", - "272042258": "Quando você define seus limites, eles serão agregados em todos os seus tipos de conta em {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} e {{platform_name_bbot}} no Deriv. Por exemplo, as perdas feitas em todas as quatro plataformas serão somadas e contabilizadas no limite de perda que você definir.", - "272179372": "Esse bloco é comumente usado para ajustar os parâmetros de sua próxima negociação e implementar a lógica de stop loss/take profit.", - "273350342": "Copie e cole o token no aplicativo.", + "270712176": "descedente", + "270780527": "Atingiu o limite para carregar os seus documentos.", + "272042258": "Quando definir os seus limites, estes serão agregados a todos os seus tipos de conta em {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} e {{platform_name_bbot}} na Deriv. Por exemplo, as perdas efetuadas em todas as quatro plataformas serão somadas e contadas para o limite de perdas que definiu.", + "272179372": "Este bloco é normalmente utilizado para ajustar os parâmetros da sua próxima negociação e para implementar a lógica de stop loss/take profit.", + "273350342": "Copie e cole o token na aplicação.", "273728315": "Não deve ser 0 ou estar vazio", - "274268819": "Índice de Volatilidade 100", + "274268819": "Índice Volatilidade 100", "275116637": "Deriv X", - "277469417": "O tempo de exclusão não pode ser por mais de cinco anos.", - "278684544": "obtenha a sublista de # do final", - "282319001": "Verifique sua imagem", - "282564053": "Em seguida, precisaremos do seu comprovante de endereço.", - "283830551": "Seu endereço não corresponde ao seu perfil", - "283986166": "A autoexclusão no site só se aplica à sua conta {{brand_website_name}} e não inclui outras empresas ou sites.", + "277469417": "O período de exclusão não pode ser superior a cinco anos.", + "278684544": "obter sub-lista de # do final", + "282319001": "Verifique a sua imagem", + "282564053": "Em seguida, precisamos do seu comprovativo de morada.", + "283830551": "O seu endereço não corresponde ao seu perfil", + "283986166": "A autoexclusão no site aplica-se apenas à sua conta {{brand_website_name}} e não inclui outras empresas ou sites.", "284527272": "antimodo", "284772879": "Contrato", - "284809500": "Demonstração financeira", - "287934290": "Tem certeza de que deseja cancelar essa transação?", - "289898640": "TERMOS DE USO", - "291744889": "<0>1. Parâmetros Trade: <0>", - "291817757": "Acesse nossa comunidade Deriv e saiba mais sobre APIs, tokens de API, maneiras de usar APIs Deriv e muito mais.", + "284809500": "Demo Financeira", + "287934290": "Tem a certeza de que pretende cancelar esta transação?", + "289898640": "TERMOS DE UTILIZAÇÃO", + "291744889": "<0>1. Parâmetros de negociação:<0>", + "291817757": "Aceda à nossa comunidade Deriv e saiba mais sobre APIs, tokens de API, formas de utilizar APIs Deriv e muito mais.", "292491635": "Se você selecionar “Stop loss” e especificar um valor para limitar sua perda, sua posição será fechada automaticamente quando sua perda for maior ou igual a esse valor. Sua perda pode ser maior do que o valor inserido, dependendo do preço de mercado no fechamento.", "292526130": "Análise de Tick e velas", "292589175": "Isso exibirá o SMA para o período especificado, usando uma lista de velas.", @@ -252,7 +252,7 @@ "303959005": "Preço de venda:", "304309961": "Estamos analisando sua solicitação de saque. Você ainda pode cancelar essa transação, se desejar. Depois de iniciarmos o processamento, você não poderá cancelar.", "310234308": "Feche todas as suas posições.", - "312142140": "Salvar novos limites?", + "312142140": "Guardar novos limites?", "312300092": "Apara os espaços em uma determinada string ou texto.", "313298169": "Nosso caixa está temporariamente inativo devido à manutenção do sistema. Você pode acessar o caixa em alguns minutos quando a manutenção estiver concluída.", "313741895": "Esse bloco retornará “Verdadeiro” se a última vela for preta. Ele pode ser colocado em qualquer lugar na tela, exceto no bloco raiz dos parâmetros de Trade.", @@ -423,6 +423,7 @@ "498144457": "Uma conta de serviços públicos recente (por exemplo, eletricidade, água ou gás)", "498562439": "ou", "499522484": "1. para “string”: 1325,68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Diretores executivos, altos funcionários e legisladores", "500920471": "Esse bloco executa operações aritméticas entre dois números.", "501401157": "Você só tem permissão para fazer depósitos", @@ -518,6 +519,7 @@ "611020126": "Ver endereço no Blockchain", "611786123": "FX-Majors (lotes padrão/micro), FX-Minors, Matérias primas, Cryptocurrencies, Ações e Índices de Ações", "617345387": "Se você selecionar “Reiniciar”, você ganha o pagamento se a vaga de saída for estritamente maior do que a vaga de entrada ou a vaga no momento da reinicialização.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Exemplo de um documento de corte", "619268911": "<0>a. A Comissão Financeira investigará a validade da reclamação dentro de 5 dias úteis.", "619407328": "Tem certeza de que deseja desvincular de {{identifier_title}}?", @@ -897,7 +899,6 @@ "1038575777": "Alterar senha", "1039428638": "Regulamentação da UE", "1039755542": "Use algumas palavras, evite frases comuns", - "1040053469": "Para ligar", "1040472990": "1. Vá para Bot Builder.", "1040677897": "Para continuar negociando, você também deve enviar um comprovante de endereço.", "1041001318": "Esse bloco executa as seguintes operações em uma determinada lista: soma, mínimo, máximo, média, mediana, modo, antimodo, desvio padrão, item aleatório.", @@ -1373,7 +1374,7 @@ "1534796105": "Obtém o valor da variável", "1537711064": "Você precisa fazer uma verificação rápida de identidade antes de acessar o caixa. Acesse as configurações da sua conta para enviar sua prova de identidade.", "1540585098": "Declinar", - "1541508606": "Procurando CFDs? Vá para o Trader's Hub", + "1541508606": "Procurando CFDs? Aceda ao Trader's Hub", "1541969455": "Ambos", "1542742708": "Sintéticos, Forex, Ações, índices de ações, Matérias primas e Cryptocurrencies", "1544642951": "Se você selecionar “Only Ups”, você ganha o pagamento se os tiques consecutivos aumentarem sucessivamente após a vaga de entrada. Nenhum pagamento se algum carrapato cair ou for igual a qualquer um dos tiques anteriores.", @@ -1832,7 +1833,6 @@ "2010866561": "Retorna o lucro/perda total", "2011609940": "Insira um número maior que 0", "2011808755": "Tempo de compra", - "2012110280": "Sintéticos, índices de cesta e câmbio derivado", "2014536501": "Número do cartão", "2014590669": "A variável '{{variable_name}}' não tem valor. Defina um valor para a variável '{{variable_name}}' a ser notificada.", "2017672013": "Selecione o país de emissão do documento.", @@ -1876,7 +1876,6 @@ "2059365224": "Sim, você pode começar com um bot pré-construído usando o recurso Quick Strategy . Você encontrará algumas das estratégias de negociação mais populares aqui: Martingale, D'Alembert e Oscar's Grind. Basta selecionar a estratégia, inserir seus parâmetros de negociação e seu bot será criado para você. Você sempre pode ajustar os parâmetros posteriormente.", "2059753381": "Por que minha verificação falhou?", "2060873863": "Seu pedido {{order_id}} está concluído", - "2062299501": "<0>Por {{title}}: Seu pagamento aumentará nesse valor para cada ponto {{trade_type}} do seu preço de exercício. Você começará a lucrar quando o pagamento for maior do que sua aposta.", "2062912059": "função {{ function_name }} {{ function_params }}", "2063655921": "Ao comprar o contrato “Próximo ao mínimo”, você ganhará o multiplicador vezes a diferença entre o fechamento e o mínimo durante a duração do contrato.", "2063812316": "Declaração de texto", @@ -2479,6 +2478,7 @@ "-81256466": "Você precisa de uma conta Deriv para criar uma conta CFD.", "-699372497": "<0>Trade com alavancagem e spreads reduzidos para obter melhores retornos em negociações bem-sucedidas. Saiba mais", "-1884966862": "Obtenha mais contas Deriv MT5 com diferentes tipos e jurisdições.", + "-596618970": "Other CFDs", "-982095728": "Obter", "-1277942366": "Total de ativos", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFDs <0>{{compare_accounts_title}}", "-318106501": "Trade CFDs no MT5 com produtos sintéticos, cestas e câmbio derivados.", "-1328701106": "Negocie CFDs no MT5 com forex, ações, índices de ações, sintéticos, criptomoedas e commodities.", + "-1290112064": "Derivar EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Escolha do regulamento", "-249184528": "Você pode criar contas reais de acordo com a regulamentação da UE ou de fora da UE. Clique no <0><0/>ícone para saber mais sobre essas contas.", "-1505234170": "Visita ao Trader's Hub", @@ -2962,7 +2964,6 @@ "-222394569": "Vanuatu derivado", "-533935232": "Financial BVI", "-565431857": "Financial Labuan", - "-1290112064": "Derivar EZ", "-291535132": "Demonstração sem troca", "-1472945832": "SVG sem troca", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Se espalha a partir de", "-1587894214": "sobre as verificações necessárias.", "-466784048": "Regulador/EDR", + "-1920034143": "Sintéticos, cabazes e derivados de FX", "-1326848138": "Comissão de Serviços Financeiros das Ilhas Virgens Britânicas (Licença no. SIBA/L/18/1114)", "-777580328": "Forex, Ações, índices de ações, Matérias primas e Cryptocurrencies", "-1372141447": "Processamento direto", @@ -3409,8 +3411,12 @@ "-479119833": "Escolha uma jurisdição para a sua conta Deriv MT5 {{account_type}}", "-450424792": "Você precisa de uma conta real (moeda fiduciária ou cryptocurrency) no Deriv para criar uma conta real do Deriv MT5.", "-1760596315": "Crie uma conta Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Use essa senha para fazer login em suas contas Deriv X na web e em aplicativos móveis.", "-1814308691": "Clique no link do e-mail para alterar sua senha {{platform}} .", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "Não {{barrier}}", "-968190634": "Igual a {{barrier}}", "-1747377543": "Menos de {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "A duração mínima é de 1 dia", "-1003473648": "Duração: {{duration}} dia", "-700280380": "Taxa de cancelamento da oferta", - "-194424366": "acima", + "-1669741470": "O pagamento no vencimento é igual ao pagamento por ponto multiplicado pela diferença entre o preço final e o preço de exercício.", "-1527492178": "Compra bloqueada", "-725375562": "Você pode bloquear/desbloquear o botão de compra no menu Configurações", "-2131851017": "Taxa de crescimento", @@ -3524,11 +3530,11 @@ "-511541916": "Seu contrato será automaticamente encerrado ao atingir esse número de ticks.", "-1918235233": "Aposta mínima", "-1935239381": "Estaca máxima", - "-1930565757": "Sua aposta é um prêmio único não reembolsável para comprar este contrato. Seu lucro/perda total é igual ao valor do contrato menos sua aposta.", "-434270664": "Preço atual", "-1956787775": "Preço de Barreira:", "-1513281069": "Barreira 2", "-390994177": "Deve estar entre {{min}} e {{max}}", + "-1804019534": "Prazo de validade: {{date}}", "-2055106024": "Alternar entre configurações de duração avançadas e simples", "-1012793015": "Hora de término", "-2037881712": "Seu contrato será fechado automaticamente no próximo preço de ativo disponível em<0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "Quando a sua perda atual for igual ou superior a {{stop_out_percentage}}% da sua participação, o seu contrato será fechado ao preço do ativo disponível mais próximo.", "-339236213": "Multiplicador", "-857660728": "Preços de greve", - "-119134980": "<0>{{trade_type}}: Você receberá um pagamento se o preço de mercado for {{payout_status}} esse preço <0>no prazo de expiração. Caso contrário, seu pagamento será zero.", + "-194424366": "acima", "-243332856": "Estatísticas do último dígito para os últimos 1000 ticks para {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Você receberá um pagamento se o mercado for igual a {{payout_status}} esse preço <0>no prazo de validade. Caso contrário, seu pagamento será zero.", "-347156282": "Enviar prova", "-1738427539": "Compra", "-1937372493": "Pode fechar a sua transação em qualquer altura. No entanto, esteja ciente do risco de derrapagem <0><0/> .", @@ -3853,23 +3858,23 @@ "-513103225": "Tempo de transação", "-2066666313": "Crédito/Débito", "-2140412463": "Preço de compra", - "-1981004241": "Tempo de venda", + "-1981004241": "Horário da venda", "-600828210": "Lucro/perda indicativos", "-706219815": "Preço indicativo", "-3423966": "Take profit <0 /> Stop loss", - "-2082644096": "Participação atual", + "-2082644096": "Entrada atual", "-1131753095": "Os {{trade_type_name}} detalhes do contrato não estão disponíveis no momento. Estamos trabalhando para disponibilizá-los em breve.", "-360975483": "Você não fez transações desse tipo durante esse período.", "-740395276": "Eu não tenho nenhum desses", "-2092611555": "Desculpe, este aplicativo não está disponível em sua localização atual.", "-1488537825": "Se você tiver uma conta, faça login para continuar.", - "-555592125": "Infelizmente, as opções de negociação não são possíveis em seu país", - "-1571816573": "Desculpe, a negociação não está disponível em sua localização atual.", + "-555592125": "Infelizmente, não é possível negociar opções no seu país", + "-1571816573": "Lamentamos, mas a negociação não está disponível na sua localização atual.", "-1603581277": "minutos", - "-922253974": "Ascensão/queda", - "-1361254291": "Maior/Inferior", + "-922253974": "Sobe/Desce", + "-1361254291": "Superior/Inferior", "-335816381": "Termina entrada/termina fora", - "-1789807039": "Asiático em cima/Ásia em baixo", + "-1789807039": "Asiático Acima/Asiático Abaixo", "-330437517": "Combina/Difere", "-657360193": "Acima/Abaixo", "-558031309": "Tick alto/Tick baixo", diff --git a/packages/translations/src/translations/ru.json b/packages/translations/src/translations/ru.json index 47e27e42c627..1d207ea94d6d 100644 --- a/packages/translations/src/translations/ru.json +++ b/packages/translations/src/translations/ru.json @@ -32,6 +32,7 @@ "45453595": "Binary Coin", "45941470": "С чего бы вы хотели начать?", "46523711": "Ваше подтверждение личности принято", + "49404821": "Если Вы покупаете \"<0>{{trade_type}}\" опцион, Вы получаете выплату по истечении срока действия опциона, если конечная цена составляет {{payout_status}} цену исполнения. В противном случае, Ваш \"<0>{{trade_type}}\" опцион истечет бесполезным.", "49963458": "Выбрать", "50200731": "Основные валютные пары (стандартные/микро лоты), минорные валютные пары, валютные индексы, сырьевые товары и криптовалюты", "53801223": "Hong Kong 50", @@ -63,7 +64,7 @@ "74963864": "Ниже", "76916358": "Вы достигли лимита на вывод.<0/>Загрузите документ, подтверждающий личность и адрес, чтобы снять лимит и продолжить вывод средств.", "77945356": "Приложение для мобильного трейдинга.", - "77982950": "Ванильные опционы позволяют Вам прогнозировать восходящее (бычье) или нисходящее (медвежье) направление движения базового актива путем покупки опциона \"колл\" или \"пут\".", + "77982950": "Ванильные опционы позволяют прогнозировать восходящее (бычье) или нисходящее (медвежье) направление движения базового актива через покупку опциона \"колл\" или \"пут\".", "81450871": "Мы не смогли найти эту страницу", "82839270": "Загрузите страницу паспорта с фотографией.", "83202647": "Свернуть блок", @@ -122,7 +123,6 @@ "158373715": "Выездной тур", "160746023": "Tether токен Omni (USDT) — это версия Tether, которая базируется на уровне Omni в блокчейне Биткойн.", "160863687": "Камера не обнаружена", - "162080773": "Для Put", "164112826": "Этот блок позволяет загружать блоки из URL, если они хранятся на удаленном сервере. Они будут загружены только при запуске вашего бота.", "164564432": "Пополнение счета временно недоступно из-за технического обслуживания системы. Вы можете пополнить счет после завершения работ.", "165294347": "Для доступа к кассе укажите страну проживания в настройках счета.", @@ -410,7 +410,7 @@ "480356486": "*Индекс Boom 300 и Crash 300", "481276888": "Выйдет за пределы", "483279638": "Оценка завершена<0/><0/>", - "483551811": "Ваша <0>выплата - это сумма Вашей первоначальной ставки и прибыли.", + "483551811": "Ваша <0>выплата – это сумма первоначальной ставки и прибыли.", "483591040": "Удалить блоки ({{ delete_count }})?", "485379166": "Смотреть транзакции", "487239607": "Преобразует заданное Верно или Неверно в противоположное значение", @@ -423,6 +423,7 @@ "498144457": "Недавний счет за коммунальные услуги (за электричество, воду или газ)", "498562439": "или", "499522484": "1. в формате строки: 1325.68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Руководители, высокопоставленные чиновники и работники законодательных органов", "500920471": "Этот блок выполняет арифметические операции с двумя числами.", "501401157": "Вы можете только пополнять счет", @@ -518,6 +519,7 @@ "611020126": "Смотреть адрес в блокчейне", "611786123": "Основные валютные пары (стандартные/микро лоты), минорные валютные пары, сырьевые товары, криптовалюты, акции и фондовые индексы", "617345387": "Если вы выбираете \"Reset-Вверх\", вы получаете выплату, если спот-котировка на выходе будет строго выше входной спот-котировки или котировки на момент Reset.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Пример документа, который не будет принят", "619268911": "<0>a.Финансовая комиссия рассмотрит обоснованность жалобы в течение 5 рабочих дней.", "619407328": "Вы уверены, что хотите отвязать {{identifier_title}}?", @@ -897,7 +899,6 @@ "1038575777": "Изменить пароль", "1039428638": "Регулирование в ЕС", "1039755542": "Используйте несколько слов, избегайте распространенных фраз", - "1040053469": "Для Call", "1040472990": "1. Перейдите в конструктор ботов.", "1040677897": "Чтобы возобновить торговлю, вам необходимо предоставить подтверждение адреса.", "1041001318": "Этот блок выполняет следующие операции над заданным списком: сумма, минимум, максимум, среднее, медиана, мода, антимода, стандартное отклонение, случайный элемент.", @@ -1819,7 +1820,7 @@ "1995023783": "Первая строка адреса*", "1996767628": "Подтвердите свою налоговую информацию.", "1997138507": "Если последний тик равен среднему значению тиков, вы не получите выплату.", - "1997313835": "Ваша ставка будет расти до тех пор, пока текущая спот-цена остается в определенном <0>диапазоне от <0>предыдущей спот-цены. В противном случае Вы теряете свою ставку, и торговля прекращается.", + "1997313835": "Выплата будет расти до тех пор, пока текущая спот-цена остается в определенном <0>диапазоне от <0>предыдущей спот-цены. В противном случае вы теряете свою ставку, и контракт закрывается.", "1998199587": "Вы также можете полностью самоисключиться на определенный срок. Если вы решите возобновить торговлю, свяжитесь с нашей службой поддержки клиентов, чтобы завершить период самоисключения. Прежде чем вы сможете вернуться к трейдингу, потребуется 24-часовой таймаут. ", "2001222130": "Проверьте папку со спамом или нежелательной почтой. Если его там нет, попробуйте запросить письмо еще раз.", "2004395123": "Новые торговые инструменты MT5", @@ -1832,7 +1833,6 @@ "2010866561": "Возвращает общую прибыль/убыток", "2011609940": "Введите число больше 0", "2011808755": "Время покупки", - "2012110280": "Синтетические активы, валютные индексы и Derived FX", "2014536501": "Номер карты", "2014590669": "Отсутствует значение переменной '{{variable_name}}'. Пожалуйста, установите значение переменной '{{variable_name}}' для уведомления.", "2017672013": "Выберите страну выдачи документа.", @@ -1876,7 +1876,6 @@ "2059365224": "Да, вы можете начать с готового бота, используя функцию Quick strategy . Здесь вы найдете некоторые из самых популярных торговых стратегий: Martingale, D'Alembert и Oscar's Grind. Просто выберите стратегию, введите параметры торговли, и ваш бот будет создан для вас. Вы всегда можете настроить параметры позже.", "2059753381": "Почему не удалась верификация?", "2060873863": "Ваш ордер {{order_id}} завершен", - "2062299501": "<0>Для {{title}}: Выплата будет расти на эту сумму за каждый пункт {{trade_type}} цены исполнения. Вы начнете получать прибыль, когда выплата превысит ставку.", "2062912059": "функция {{ function_name }} {{ function_params }}", "2063655921": "Покупая контракт \"Закрытие-Мин.\", вы выиграете разницу между ценой закрытия и минимальной ценой, достигнутой в период действия контракта, умноженную на выбранный мультипликатор.", "2063812316": "Текстовая Инструкция", @@ -2479,6 +2478,7 @@ "-81256466": "Для открытия счета CFD нужно открыть счет Deriv.", "-699372497": "Торгуйте с кредитным плечом и узкими спредами. Больше прибыли от успешных контрактов. <0>Подробнее", "-1884966862": "Больше счетов Deriv MT5 разных типов и юрисдикций.", + "-596618970": "Other CFDs", "-982095728": "Открыть", "-1277942366": "Всего активов", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD <0>{{compare_accounts_title}}", "-318106501": "Торгуйте CFD на MT5 на синтетических активах, валютных индексах и Derived FX.", "-1328701106": "Торгуйте CFD на MT5 на forex, акциях, криптовалютах, сырьевых товарах, фондовых и синтетических индексах.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Выбор регулятора", "-249184528": "Можно открыть счет под юрисдикцией регулятора в ЕС или за его пределами. Нажмите <0><0/>, чтобы узнать больше об этих счетах.", "-1505234170": "Тур по Trader's Hub", @@ -2962,7 +2964,6 @@ "-222394569": "Derived Vanuatu", "-533935232": "Финансовый BVI", "-565431857": "Финансовый Лабуан", - "-1290112064": "Deriv EZ", "-291535132": "Демо без свопов", "-1472945832": "Без свопов SVG", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Спреды от", "-1587894214": "о необходимых проверках.", "-466784048": "Регулятор/EDR", + "-1920034143": "Синтетические активы, валютные индексы и Derived FX", "-1326848138": "British Virgin Islands Financial Services Commission (лицензия SIBA/L/18/1114)", "-777580328": "Форекс, акции, фондовые индексы, криптовалюты и сырьевые товары", "-1372141447": "Сквозная обработка транзакций", @@ -3409,8 +3411,12 @@ "-479119833": "Выберите юрисдикцию для счета Deriv MT5 {{account_type}}", "-450424792": "Вам нужен реальный счет Deriv (в фиатной валюте или криптовалюте), чтобы открыть реальный счет Deriv MT5.", "-1760596315": "Открыть счет Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Используйте этот пароль для входа на счета Deriv X с веб-браузеров и мобильных приложений.", "-1814308691": "Нажмите на ссылку в письме, чтобы сбросить пароль {{platform}}.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "Не {{barrier}}", "-968190634": "Равно {{barrier}}", "-1747377543": "Под {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "Минимальная длительность - 1 день", "-1003473648": "Длительность: {{duration}} дн.", "-700280380": "Комиссия за отмену", - "-194424366": "выше", + "-1669741470": "Выплата по истечении срока действия равна выплате за пункт, умноженной на разницу между конечной ценой и ценой исполнения.", "-1527492178": "Покупка заблокирована", "-725375562": "Вы можете заблокировать/разблокировать кнопку покупки в меню настроек", "-2131851017": "Темп роста", @@ -3524,11 +3530,11 @@ "-511541916": "По достижении этого количества тиков ваш контракт будет автоматически закрыт.", "-1918235233": "Мин. ставка", "-1935239381": "Макс. ставка", - "-1930565757": "Ваша ставка – это невозмещаемая единовременная плата за покупку контракта. Ваша общая прибыль/убыток равна стоимости контракта минус ставка.", "-434270664": "Текущая цена", "-1956787775": "Барьерная цена:", "-1513281069": "Барьер 2", "-390994177": "Должно быть между {{min}} и {{max}}", + "-1804019534": "Срок действия: {{date}}", "-2055106024": "Переключение между расширенными и простыми настройками длительности", "-1012793015": "Окончание", "-2037881712": "Ваш контракт будет автоматически закрыт по следующей доступной цене актива. Срок действия: <0>.", @@ -3538,12 +3544,11 @@ "-1043117679": "Когда ваш текущий убыток станет равен или превысит {{stop_out_percentage}}% вашей ставки, контракт будет закрыт по ближайшей доступной цене актива.", "-339236213": "Мультипликатор", "-857660728": "Цены исполнения", - "-119134980": "<0>{{trade_type}}: Вы получите выплату, если рыночная цена будет {{payout_status}} эта цена <0>в момент истечения срока действия. В противном случае выплата будет равна нулю.", + "-194424366": "выше", "-243332856": "Статистика последней десятичной последних 1000 тиков для {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Вы получите выплату, если рынок будет {{payout_status}} эта цена <0>на момент экспирации. В противном случае выплата будет равна нулю.", "-347156282": "Отправить подтверждение", "-1738427539": "Покупка", - "-1937372493": "Вы можете закрыть свою сделку в любое время. Однако помните о риске проскальзывания <0><0/> .", + "-1937372493": "Вы можете закрыть контракт в любое время, но помните о риске <0>проскальзывания<0/>.", "-1422269966": "Вы можете выбрать темп роста со значениями 1%, 2%, 3%, 4% и 5%.", "-1186791513": "Выплата - это сумма Вашей первоначальной ставки и прибыли.", "-1682624802": "Это процент от предыдущей спот-цены. Процентная ставка зависит от выбранного Вами индекса и темпа роста.", @@ -3553,7 +3558,7 @@ "-1587076792": "Если Вы выберете \"Put\", Вы получите выплату, если конечная цена будет ниже цены исполнения по истечении срока действия. В противном случае, Вы не получите выплату.", "-1482134885": "Мы рассчитываем это на основе цены исполнения и срока, который Вы выбрали.", "-1890561510": "Время отключения", - "-565990678": "Срок действия Вашего контракта истечет в эту дату (по Гринвичу), исходя из выбранного Вами времени окончания.", + "-565990678": "Срок действия вашего контракта истечет в эту дату (по Гринвичу), исходя из выбранного времени окончания.", "-461955353": "цена покупки", "-172348735": "прибыль", "-1624674721": "тип контракта", diff --git a/packages/translations/src/translations/si.json b/packages/translations/src/translations/si.json index b505f75a8571..4c4ebcce218b 100644 --- a/packages/translations/src/translations/si.json +++ b/packages/translations/src/translations/si.json @@ -32,6 +32,7 @@ "45453595": "ද්විමය කාසිය", "45941470": "ඔබ ආරම්භ කිරීමට කැමති කොහේද?", "46523711": "අනන්යතාවය පිළිබඳ ඔබේ සාක්ෂිය සත්යාපනය වේ", + "49404821": "ඔබ \"<0>{{trade_type}}\" විකල්පයක් මිල දී ගන්නේ නම්, අවසාන මිල වර්ජන මිල {{payout_status}} නම් කල් ඉකුත් වන විට ඔබට ගෙවීමක් ලැබේ. එසේ නොමැතිනම්, ඔබේ “<0>{{trade_type}}” විකල්පය නිෂ්ඵල වනු ඇත.", "49963458": "විකල්පයක් තෝරන්න", "50200731": "එෆ්එක්ස් මේජර්ස් (සම්මත/ක්ෂුද්ර කැබලි අක්ෂර), එෆ්එක්ස් බාල වයස්කරුවන්, බාස්කට් දර්ශක, වෙළඳ භාණ්ඩ සහ ගුප්තකේතන මුදල්", "53801223": "හොංකොං 50", @@ -122,7 +123,6 @@ "158373715": "පිටවීමේ චාරිකාව", "160746023": "ඔම්නි ටෝකනයක් (යූඑස්ඩීටී) ලෙස ටෙතර් යනු ටෙතර්ගේ අනුවාදයක් වන අතර එය බිට්කොයින් බ්ලොක්චේන් හි ඔම්නි ස්ථරයේ සත්කාරකත්වය දරයි.", "160863687": "කැමරාව අනාවරණය කර නැත", - "162080773": "දාන්න සඳහා", "164112826": "දුරස්ථ සේවාදායකයක ගබඩා කර ඇත්නම් URL එකකින් කුට්ටි පැටවීමට මෙම කොටස ඔබට ඉඩ සලසයි, ඒවා පටවනු ලබන්නේ ඔබේ බොට් ධාවනය වන විට පමණි.", "164564432": "පද්ධති නඩත්තු කිරීම හේතුවෙන් තැන්පතු තාවකාලිකව ලබා ගත නොහැක. නඩත්තු කටයුතු අවසන් වූ විට ඔබට ඔබේ තැන්පතු කළ හැකිය.", "165294347": "මුදල් අයකැමි වෙත ප්රවේශ වීම සඳහා කරුණාකර ඔබගේ ගිණුම් සැකසුම් තුළ ඔබගේ පදිංචි රට සකසන්න.", @@ -423,6 +423,7 @@ "498144457": "මෑත කාලීන උපයෝගිතා බිල්පතක් (උදා: විදුලිය, ජලය හෝ ගෑස්)", "498562439": "හෝ", "499522484": "1. “string” සඳහා: 1325.68 ඇමරිකානු ඩොලර් මිලියන", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "ප්රධාන විධායකයින්, ජ්යෙෂ්ඨ නිලධාරීන් සහ ව්යවස්ථාදායකයින්", "500920471": "මෙම කොටස අංක දෙකක් අතර අංක ගණිතමය මෙහෙයුම් සිදු කරයි.", "501401157": "ඔබට අවසර ඇත්තේ තැන්පතු කිරීමට පමණි", @@ -518,6 +519,7 @@ "611020126": "බ්ලොක්චේන් හි ලිපිනය බලන්න", "611786123": "FX-මේජර් (සම්මත/ක්ෂුද්ර කැබලි අක්ෂර), FX-බාල වයස්කරුවන්, වෙළඳ භාණ්ඩ, ගුප්තකේතන මුදල්, කොටස් සහ කොටස් දර්ශක", "617345387": "ඔබ “Reset-Up” තෝරා ගන්නේ නම්, නැවත පිහිටුවීමේ වේලාවේදී පිටවීමේ ස්ථානය පිවිසුම් ස්ථානයට හෝ ස්ථානයට වඩා දැඩි ලෙස වැඩි නම් ඔබ ගෙවීම දිනා ගනී.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "කඩඉම් ලේඛනයක උදාහරණය", "619268911": "<0>අ. 5 ව්යාපාරික දින තුළ පැමිණිල්ලේ වලංගුභාවය මූල්ය කොමිෂන් සභාව විසින් විමර්ශනය කරනු ඇත.", "619407328": "ඔබට {{identifier_title}}වෙතින් ඉවත් කිරීමට අවශ්ය බව ඔබට විශ්වාසද?", @@ -897,7 +899,6 @@ "1038575777": "මුරපදය වෙනස් කරන්න", "1039428638": "යුරෝපා සංගම් නියාමනය", "1039755542": "වචන කිහිපයක් භාවිතා කරන්න, පොදු වාක්ය ඛණ්ඩ වලින් වළකින්න", - "1040053469": "ඇමතුම් සඳහා", "1040472990": "1. බොට් බිල්ඩර් වෙත යන්න.", "1040677897": "වෙළඳාම දිගටම කරගෙන යාමට, ඔබ ලිපිනය පිළිබඳ සාක්ෂියක් ද ඉදිරිපත් කළ යුතුය.", "1041001318": "මෙම කොටස ලබා දී ඇති ලැයිස්තුවක පහත සඳහන් මෙහෙයුම් සිදු කරයි: එකතුව, අවම, උපරිම, සාමාන්යය, මධ්යන්ය, මාදිලිය, ප්රතිමෝදය, සම්මත අපගමනය, අහඹු අයිතමය.", @@ -1832,7 +1833,6 @@ "2010866561": "මුළු ලාභය/අලාභය ආපසු ලබා දෙයි", "2011609940": "කරුණාකර ආදාන අංකය 0 ට වඩා වැඩිය", "2011808755": "මිලදී ගැනීමේ කාලය", - "2012110280": "කෘතිම, බාස්කට් දර්ශක සහ ව්යුත්පන්න එෆ්එක්ස්", "2014536501": "කාඩ් අංකය", "2014590669": "විචල්ය '{{variable_name}}' අගය නැත. දැනුම් දීමට කරුණාකර විචල්ය '{{variable_name}}' සඳහා අගයක් සකසන්න.", "2017672013": "කරුණාකර ලේඛන නිකුත් කිරීමේ රට තෝරන්න.", @@ -1876,7 +1876,6 @@ "2059365224": "ඔව්, Quick strategy විශේෂාංගය භාවිතා කරමින් ඔබට පෙර සාදන ලද බොට් එකකින් ආරම්භ කළ හැකිය. වඩාත් ජනප්රිය වෙළඳ උපාය මාර්ග කිහිපයක් ඔබට මෙහි සොයාගත හැකිය: මාටින්ගේල්, ඩි ඇලෙම්බර්ට් සහ ඔස්කාර්ගේ ග්රින්ඩ්. උපායමාර්ගය තෝරන්න, ඔබේ වෙළඳ පරාමිතීන් ඇතුළත් කරන්න, එවිට ඔබේ බොට් ඔබ වෙනුවෙන් නිර්මාණය වේ. ඔබට සෑම විටම පසුව පරාමිතීන් වෙනස් කළ හැකිය.", "2059753381": "මගේ සත්යාපනය අසාර්ථක වූයේ ඇයි?", "2060873863": "ඔබගේ ඇණවුම {{order_id}} සම්පූර්ණයි", - "2062299501": "<0> {{title}}සඳහා: ඔබේ වැඩ වර්ජන මිල {{trade_type}} ක් සඳහා ඔබේ ගෙවීම මෙම මුදලින් වර්ධනය වේ. ගෙවීම ඔබේ කොටුවට වඩා වැඩි වූ විට ඔබ ලාභයක් ලබා ගැනීමට පටන් ගනී.", "2062912059": "ශ්රිතය {{ function_name }} {{ function_params }}", "2063655921": "“සමීප සිට පහත්” කොන්ත්රාත්තුව මිලදී ගැනීමෙන්, කොන්ත්රාත්තුවේ කාල සීමාවට වඩා සමීප හා පහත් අතර වෙනස මෙන් ගුණකය ඔබ දිනා ගනු ඇත.", "2063812316": "පෙළ ප්රකාශය", @@ -2479,6 +2478,7 @@ "-81256466": "CFD ගිණුමක් නිර්මාණය කිරීම සඳහා ඔබට ඩෙරිව් ගිණුමක් අවශ්ය වේ.", "-699372497": "සාර්ථක වෙළඳාම් වලදී වඩා හොඳ ප්රතිලාභ ලබා ගැනීම සඳහා ලීවරය සහ තද පැතිරීම් සමඟ වෙළඳාම් කරන්න. <0>වැඩිදුර ඉගෙන ගන්න", "-1884966862": "විවිධ වර්ගයේ සහ අධිකරණ බලය සහිත තවත් ඩෙරිව් එම්ටී 5 ගිණුමක් ලබා ගන්න.", + "-596618970": "Other CFDs", "-982095728": "ලබා ගන්න", "-1277942366": "මුළු වත්කම්", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "සීඑෆ්ඩී <0>{{compare_accounts_title}}", "-318106501": "MT5 හි සින්තටික්, බාස්කට් සහ ව්යුත්පන්න එෆ්එක්ස් සමඟ සීඑෆ්ඩී වෙළඳාම් කරන්න.", "-1328701106": "විදේශ විනිමය, තොග, කොටස් දර්ශක, සින්තටික්, ගුප්තකේතන මුදල් සහ වෙළඳ භාණ්ඩ සමඟ MT5 මත CFDs වෙළඳාම් කරන්න.", + "-1290112064": "EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "නියාමනය තෝරා ගැනීම", "-249184528": "ඔබට යුරෝපා සංගම් හෝ යුරෝපා සංගම් නොවන නියාමනය යටතේ සැබෑ ගිණුම් නිර්මාණය කළ හැකිය. <0>මෙම ගිණුම් පිළිබඳ වැඩිදුර දැන ගැනීමට<0/> අයිකනය ක්ලික් කරන්න.", "-1505234170": "වෙළෙන්දාගේ හබ් චාරිකාව", @@ -2962,7 +2964,6 @@ "-222394569": "ව්යුත්පන්න වනුවාටු", "-533935232": "මූල්ය BVI", "-565431857": "මූල්ය ලාබුවාන්", - "-1290112064": "EZ", "-291535132": "ස්වප්-නිදහස් Demo", "-1472945832": "හුවමාරු රහිත SVG", "-1669418686": "විගණනය/කැඩ්", @@ -3312,6 +3313,7 @@ "-1647612934": "සිට පැතිරෙයි", "-1587894214": "අවශ්ය සත්යාපන ගැන.", "-466784048": "නියාමක/EDR", + "-1920034143": "කෘතිම, බාස්කට් දර්ශක සහ ව්යුත්පන්න එෆ්එක්ස්", "-1326848138": "බ්රිතාන්ය වර්ජින් දූපත් මූල්ය සේවා කොමිෂන් සභාව (බලපත්ර අංකය. කෑම/එල්/18/1114)", "-777580328": "ෆොරෙක්ස්, කොටස්, කොටස් දර්ශක, වෙළඳ භාණ්ඩ සහ ගුප්තකේතන මුදල්", "-1372141447": "කෙළින්ම සැකසීම", @@ -3409,8 +3411,12 @@ "-479119833": "ඔබේ Deriv MT5 {{account_type}} ගිණුම සඳහා අධිකරණ බලයක් තෝරන්න", "-450424792": "සැබෑ ඩෙරිව් එම්ටී 5 ගිණුමක් නිර්මාණය කිරීම සඳහා ඔබට ඩෙරිව් හි සැබෑ ගිණුමක් (ෆියට් මුදල් හෝ ගුප්තකේතන මුදල්) අවශ්ය වේ.", "-1760596315": "ඩෙරිව් ගිණුමක් සාදන්න", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "වෙබ් සහ ජංගම යෙදුම් ඔබේ Deriv X ගිණුම් වෙත ප්රවිෂ්ට වීමට මෙම මුරපදය භාවිතා කරන්න.", "-1814308691": "ඔබගේ {{platform}} මුරපදය වෙනස් කිරීමට කරුණාකර විද්යුත් තැපෑලෙහි ඇති සබැඳිය ක්ලික් කරන්න.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "{{barrier}}නොවේ", "-968190634": "සමාන {{barrier}}", "-1747377543": "{{barrier}}යටතේ", @@ -3514,7 +3520,7 @@ "-338707425": "අවම කාලය දින 1 කි", "-1003473648": "කාල සීමාව: {{duration}} දින", "-700280380": "ගනුදෙනුව අවලංගු කරන්න. ගාස්තු", - "-194424366": "ඉහත", + "-1669741470": "කල් ඉකුත් වීමේ දී ගෙවීම අවසාන මිල සහ වැඩ වර්ජන මිල අතර වෙනස මගින් ගුණ කරන ලක්ෂ්යයකට ගෙවීමකට සමාන වේ.", "-1527492178": "අගුලු දමා මිලදී", "-725375562": "සැකසුම් මෙනුවෙන් ඔබට මිලදී ගැනීමේ බොත්තම අගුළු ඇරීමට/අගුළු ඇරීමට හැකිය", "-2131851017": "වර්ධන වේගය", @@ -3524,11 +3530,11 @@ "-511541916": "මෙම කිනිතුල්ලන් සංඛ්යාව කරා ළඟා වූ පසු ඔබේ කොන්ත්රාත්තුව ස්වයංක්රීයව වසා දැමෙනු ඇත.", "-1918235233": "විනාඩි. කොටස්", "-1935239381": "මැක්ස්. කොටස්", - "-1930565757": "මෙම කොන්ත්රාත්තුව මිලදී ගැනීම සඳහා ඔබේ කොටස ආපසු නොගෙවන එක් වරක් වාරිකයක් වේ. ඔබේ මුළු ලාභය/අලාභය කොන්ත්රාත්තුවේ වටිනාකමට සමාන වේ.", "-434270664": "වත්මන් මිල", "-1956787775": "බාධක මිල:", "-1513281069": "බාධක 2", "-390994177": "{{min}} සහ {{max}}අතර විය යුතුය", + "-1804019534": "කල් ඉකුත්වීම: {{date}}", "-2055106024": "උසස් හා සරල කාල සැකසුම් අතර ටොගල් කරන්න", "-1012793015": "අවසන් කාලය", "-2037881712": "ඊළඟ ලබා ගත හැකි වත්කම් මිලට ඔබේ කොන්ත්රාත්තුව ස්වයංක්රීයව වසා දැමෙනු ඇත<0>.", @@ -3538,9 +3544,8 @@ "-1043117679": "ඔබගේ වත්මන් අලාභය ඔබගේ කොටස් වලින් {{stop_out_percentage}}%ට සමාන වන විට හෝ ඉක්මවන විට, ඔබගේ කොන්ත්‍රාත්තුව පවතින ආසන්නතම වත්කම් මිලට වසා දමනු ඇත.", "-339236213": "ගුණකය", "-857660728": "වැඩ වර්ජන මිල", - "-119134980": "<0>{{trade_type}}: වෙළඳපල මිල <0>කල් ඉකුත් වන විට මෙම මිල {{payout_status}} නම් ඔබට ගෙවීමක් ලැබෙනු ඇත. එසේ නොමැති නම්, ඔබේ ගෙවීම ශුන්ය වේ.", + "-194424366": "ඉහත", "-243332856": "නවතම 1000 කිනිතුල්ලන් සඳහා {{ underlying_name }}සඳහා අවසාන ඉලක්කම් සංඛ්යාන", - "-1900883796": "<0>{{trade_type}}: <0>කල් ඉකුත් වන විට වෙළඳපල මෙම මිල {{payout_status}} ක් නම් ඔබට ගෙවීමක් ලැබෙනු ඇත. එසේ නොමැති නම්, ඔබේ ගෙවීම ශුන්ය වේ.", "-347156282": "සාධනය ඉදිරිපත් කරන්න", "-1738427539": "මිලදී ගැනීම", "-1937372493": "ඔබට ඕනෑම වේලාවක ඔබේ වෙළඳාම වසා දැමිය හැකිය. කෙසේ වෙතත්, <0>ලිස්සා යාමේ අවදානම ගැන සැලකිලිමත් වන්න. <0/>", diff --git a/packages/translations/src/translations/th.json b/packages/translations/src/translations/th.json index c96eb34b93b9..d7ca23b39005 100644 --- a/packages/translations/src/translations/th.json +++ b/packages/translations/src/translations/th.json @@ -32,6 +32,7 @@ "45453595": "Binary Coin", "45941470": "คุณต้องการเริ่มต้นที่ไหน?", "46523711": "หลักฐานยืนยันตัวตนของคุณได้รับการยืนยันแล้ว", + "49404821": "หากคุณซื้อตราสารสิทธิ \"<0>{{trade_type}}\" คุณจะได้รับเงินผลตอบแทนเมื่อสัญญาหมดอายุถ้าราคาสุดท้ายเป็นสถานะ {{payout_status}} ราคาใช้สิทธิ มิฉะนั้นตราสารสิทธิ “<0>{{trade_type}}” ของคุณจะหมดอายุอย่างไร้ค่า", "49963458": "เลือกจากตัวเลือก", "50200731": "คู่เงินสกุลหลักหรือ FX majors (ขนาดล็อตมาตรฐาน/ไมโครล็อต), คู่เงินสกุลรองหรือ FX minors, ดัชนีตะกร้า, สินค้าโภคภัณฑ์ และคริปโตเคอเรนซี่", "53801223": "Hong Kong 50", @@ -122,7 +123,6 @@ "158373715": "ออกจากการเยี่ยมชม", "160746023": "เหรียญดิจิทัล Tether Omni (USDT) นั้นเป็นเวอร์ชันหนึ่งของเหรียญโทเคน Tether ที่ถูกผูกมูลค่าไว้กับค่าเงิน USD โดยถูกสร้างขึ้นโดยใช้แพลตฟอร์ม Omni layer บนเครือข่าย Bitcoin blockchain", "160863687": "ตรวจไม่พบกล้อง", - "162080773": "สำหรับ Put", "164112826": "บล็อกนี้อนุญาตให้คุณโหลดบล็อกมาจาก URL ได้หากว่าคุณเก็บบล๊อกเหล่านั้นไว้ในเซิร์ฟเวอร์ระยะไกล ทั้งนี้บล๊อกเหล่านั้นจะถูกโหลดก็ต่อเมื่อบอทของคุณกำลังทำงานเท่านั้น", "164564432": "เงินฝากไม่สามารถใช้ได้ชั่วคราวเนื่องจากมีการบำรุงรักษาระบบ คุณจะสามารถฝากเงินได้ก็ต่อเมื่อการบำรุงรักษาระบบเสร็จสิ้นแล้ว", "165294347": "โปรดระบุประเทศที่คุณพำนักในการตั้งค่าบัญชีของคุณเพื่อเข้าถึงแคชเชียร์", @@ -423,6 +423,7 @@ "498144457": "บิลค่าสาธารณูปโภคอันล่าสุด (เช่น ไฟฟ้า น้ำ แก๊ส)", "498562439": "หรือ", "499522484": "1. สำหรับ \"สตริง\": 1325.68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "ผู้บริหารระดับสูง เจ้าหน้าที่อาวุโส และสมาชิกของสภานิติบัญญัติ", "500920471": "บล็อกนี้เป็นการดำเนินการทางเลขคณิตระหว่าง 2 ตัวเลข", "501401157": "คุณได้รับอนุญาตให้ฝากเงินได้เท่านั้น", @@ -518,6 +519,7 @@ "611020126": "ดูที่อยู่บนบล็อกเชน", "611786123": "คู่เงินหลักหรือ FX-majors (ขนาดล็อตมาตรฐาน/ไมโครล็อต), คู่เงินรองหรือ FX-minors, สินค้าโภคภัณฑ์, คริปโตเคอเรนซี่, หุ้น และดัชนีหุ้น", "617345387": "หากคุณเลือก \"Reset-Up” คุณจะได้รับเงินผลตอบแทนต่อเมื่อจุดออกนั้นมีมูลค่าสูงกว่าจุดเข้าหรือสูงกว่าจุด ณ เวลารีเซ็ต", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "ตัวอย่างเอกสารที่ตัดออก", "619268911": "<0>a คณะกรรมการการเงินจะตรวจสอบความถูกต้องของข้อร้องเรียนภายใน 5 วันทําการ", "619407328": "คุณแน่ใจหรือไม่ว่าคุณต้องการยกเลิกการเชื่อมโยงจาก {{identifier_title}}?", @@ -897,7 +899,6 @@ "1038575777": "เปลี่ยนรหัสผ่าน", "1039428638": "กฎระเบียบของสหภาพยุโรปหรือ EU", "1039755542": "ใช้คำไม่กี่คำ หลีกเลี่ยงคำวลีทั่วไป", - "1040053469": "สำหรับ Call", "1040472990": "1. ไปที่ ตัวสร้างบอท", "1040677897": "คุณต้องส่งหลักฐานยืนยันที่อยู่ด้วยเพื่อดำเนินการซื้อขายต่อ", "1041001318": "บล็อกนี้จะดำเนินการตามปฏิบัติการดังต่อไปนี้จากลิสต์รายการที่ให้มา: แสดงผลรวม ค่าต่ำสุด ค่าสูงสุด ค่าเฉลี่ย ค่ามัธยฐาน โหมด แอนตี้โหมด ค่าเบี่ยงเบนมาตรฐาน และรายการสุ่ม", @@ -1832,7 +1833,6 @@ "2010866561": "ส่งคืนยอดรวมกำไร/ขาดทุนทั้งหมด", "2011609940": "โปรดป้อนหมายเลขที่มากกว่า 0", "2011808755": "เวลาซื้อ", - "2012110280": "ดัชนีสังเคราะห์ ดัชนีตะกร้า และดัชนี Derived FX", "2014536501": "หมายเลขบัตร", "2014590669": "ตัวแปร '{{variable_name}}' นั้นไม่มีการตั้งค่า โปรดตั้งค่าสำหรับตัวแปร '{{variable_name}}' เพื่อการแจ้งเตือน", "2017672013": "กรุณาเลือกประเทศที่ออกเอกสาร", @@ -1876,7 +1876,6 @@ "2059365224": "ได้ คุณสามารถเริ่มต้นด้วยการใช้งานบอทที่สร้างไว้แล้วล่วงหน้าโดยใช้ฟีเจอร์ กลยุทธ์ด่วน ที่นี่คุณจะได้พบกับกลยุทธ์การเทรดที่ได้รับความนิยมมากที่สุดอย่างเช่น กลยุทธ์มาติงเกล (Martingale) กลยุทธ์ดาล็องแบร์ (D'Alembert) และกลยุทธ์ออสการ์ กรินด์ (Oscar's Grind) คุณเพียงแค่เลือกกลยุทธ์ ป้อนพารามิเตอร์การค้าของคุณ แล้วบอทจะถูกสร้างขึ้นสำหรับคุณโดยที่คุณสามารถปรับแต่งพารามิเตอร์ภายหลังได้ตลอดเวลา", "2059753381": "เหตุใดการตรวจสอบยืนยันของฉันจึงล้มเหลว", "2060873863": "คำสั่งค้าของคุณ {{order_id}} เสร็จสมบูรณ์แล้ว", - "2062299501": "<0>สำหรับ {{title}}: เงินผลตอบแทนของคุณจะเพิ่มขึ้นตามจำนวนนี้สำหรับทุกๆ พอยต์ {{trade_type}} ไปสู่ราคาใช้สิทธิของคุณ คุณจะเริ่มทำกำไรเมื่อเงินผลตอบแทนนั้นสูงกว่าเงินทุนทรัพย์ที่ลงไปของคุณ", "2062912059": "ฟังก์ชัน {{ function_name }} {{ function_params }}", "2063655921": "ในการซื้อสัญญา \"ปิด-ถึง-ต่ำ\" คุณจะทำเงินตอบแทนที่มาจากการเอาตัวคูณมาคูณกับค่าส่วนต่างระหว่างค่าปิดและค่าต่ำตลอดระยะเวลาของสัญญา", "2063812316": "ข้อความรายการบัญชี", @@ -2479,6 +2478,7 @@ "-81256466": "คุณต้องมีบัญชี Deriv เพื่อสร้างบัญชี CFD", "-699372497": "ทำการซื้อขายด้วยเลเวอเรจและสเปรดที่แคบเพื่อผลตอบแทนที่ดีขึ้นจากการเทรดที่สำเร็จ <0>เรียนรู้เพิ่มเติม", "-1884966862": "รับบัญชี Deriv MT5 เพิ่มด้วยประเภทและเขตอำนาจศาลที่แตกต่างกัน", + "-596618970": "Other CFDs", "-982095728": "รับ", "-1277942366": "สินทรัพย์ทั้งหมด", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "สัญญาส่วนต่างหรือ CFD <0>{{compare_accounts_title}}", "-318106501": "เทรด CFD บน MT5 ในกลุ่มดัชนีสังเคราะห์ ดัชนีตะกร้า และดัชนี Derived FX", "-1328701106": "เทรด CFD บน MT5 กับฟอเร็กซ์ หุ้น ดัชนีหุ้น สินทรัพย์สังเคราะห์ คริปโตเคอเรนซี่ และสินค้าโภคภัณฑ์", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "ทางเลือกของกฎระเบียบ", "-249184528": "คุณสามารถสร้างบัญชีจริงภายใต้กฎระเบียบของสหภาพยุโรปหรือที่ไม่ใช่สหภาพยุโรป คลิกที่ไอคอน <0><0/>เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับบัญชีเหล่านี้", "-1505234170": "เยี่ยมชม Trader's Hub", @@ -2962,7 +2964,6 @@ "-222394569": "Derived Vanuatu", "-533935232": "Financial BVI", "-565431857": "ทางการเงิน ลาบวน", - "-1290112064": "Deriv EZ", "-291535132": "บัญชีทดลองปลอดสวอป", "-1472945832": "บัญชี SVG ปลอดสวอป", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "ค่าสเปรดจาก", "-1587894214": "เกี่ยวกับการตรวจสอบยืนยันที่จำเป็น", "-466784048": "หน่วยงานกำกับดูแล/EDR", + "-1920034143": "ดัชนีสังเคราะห์ ดัชนีตะกร้า และดัชนี Derived FX", "-1326848138": "British Virgin Islands Financial Services Commission (ใบอนุญาตเลขที่ SIBA/L/18/1114)", "-777580328": "ฟอเร็กซ์ หุ้น ดัชนีหุ้น สินค้าโภคภัณฑ์ และคริปโตเคอเรนซี่", "-1372141447": "การประมวลผลโดยตรงทุกขั้นตอน", @@ -3409,8 +3411,12 @@ "-479119833": "เลือกเขตอำนาจรับผิดชอบสำหรับบัญชี DMT5 {{account_type}} ของคุณ", "-450424792": "คุณจำเป็นต้องมีบัญชีจริง (สกุลเงินตรารัฐบาลหรือเงินดิจิทัล) ใน Deriv เพื่อสร้างบัญชี Deriv MT5 จริง", "-1760596315": "สร้างบัญชี Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "ใช้รหัสผ่านนี้เพื่อเข้าสู่ระบบบัญชี Deriv X ของคุณบนเว็บและแอปสําหรับอุปกรณ์เคลื่อนที่", "-1814308691": "โปรดคลิกที่ลิงก์ในอีเมล์เพื่อเปลี่ยนรหัสผ่าน {{platform}} ของคุณ", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "ไม่ใช่ {{barrier}}", "-968190634": "เท่ากับ {{barrier}}", "-1747377543": "ต่ำกว่า {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "ระยะเวลาขั้นต่ำคือ 1 วัน", "-1003473648": "ระยะเวลา: {{duration}} วัน", "-700280380": "ค่าธรรมเนียมการยกเลิกดีลข้อตกลง", - "-194424366": "ด้านบน", + "-1669741470": "เงินผลตอบแทน ณ เวลาหมดอายุนั้นจะเท่ากับการเอาเงินผลตอบแทนต่อจุดพอยท์มาคูณด้วยส่วนต่างระหว่างราคาสุดท้ายและราคาใช้สิทธิ", "-1527492178": "ล็อกการซื้อ", "-725375562": "คุณสามารถล็อก/ปลดล็อกปุ่มซื้อได้จากเมนูการตั้งค่า", "-2131851017": "อัตราการเติบโต", @@ -3524,11 +3530,11 @@ "-511541916": "สัญญาของคุณจะถูกปิดโดยอัตโนมัติเมื่อถึงจำนวนจุด Tick นี้", "-1918235233": "เงินทุนทรัพย์ขั้นต่ำสุด", "-1935239381": "เงินทุนทรัพย์ขั้นสูงสุด", - "-1930565757": "เงินทุนทรัพย์ที่ลงไปของคุณนั้นคือค่าพรีเมี่ยมที่จ่ายไปครั้งเดียวและไม่สามารถเรียกคืนเงินได้เพื่อที่จะซื้อสัญญานี้ ผลรวมกำไร/ขาดทุนทั้งหมดของคุณเท่ากับมูลค่าสัญญาลบด้วยเงินทุนทรัพย์ที่ลงไปของคุณ", "-434270664": "ราคาปัจจุบัน", "-1956787775": "ราคาเส้นระดับเป้าหมาย:", "-1513281069": "เส้นระดับราคาเป้าหมาย 2", "-390994177": "ควรอยู่ระหว่าง {{min}} ถึง {{max}}", + "-1804019534": "เวลาหมดอายุ: {{date}}", "-2055106024": "สลับระหว่างการตั้งค่าระยะเวลาขั้นสูงและการตั้งค่าระยะเวลาแบบง่าย", "-1012793015": "เวลาสิ้นสุด", "-2037881712": "สัญญาของคุณจะถูกปิดโดยอัตโนมัติที่จุดแสดงราคาอันถัดไปของสินทรัพย์ในวันที่ <0>", @@ -3538,9 +3544,8 @@ "-1043117679": "เมื่อการขาดทุนปัจจุบันของคุณนั้นเท่ากับหรือเกินกว่า {{stop_out_percentage}}% ของเงินทุนทรัพย์ของคุณ สัญญาการค้าของคุณจะถูกปิดที่จุดราคาสินทรัพย์ที่อยู่ใกล้ที่สุด", "-339236213": "ตัวคูณ", "-857660728": "ราคาใช้สิทธิ", - "-119134980": "<0>{{trade_type}}: คุณจะได้รับเงินผลตอบแทนถ้าราคาตลาด {{payout_status}} ราคานี้ <0>ณ เวลาหมดอายุ มิฉะนั้นเงินผลตอบแทนของคุณจะเป็นศูนย์", + "-194424366": "ด้านบน", "-243332856": "สถิติเลขหลักสุดท้ายของจุด Tick จำนวน 1000 จุดล่าสุดสำหรับ {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: คุณจะได้รับเงินผลตอบแทนหากตลาด {{payout_status}} ราคานี้ <0>ณ เวลาหมดอายุ มิฉะนั้นเงินผลตอบแทนของคุณจะเป็นศูนย์", "-347156282": "โปรดส่งหลักฐาน", "-1738427539": "ซื้อ", "-1937372493": "คุณสามารถปิดการซื้อขายของคุณได้ทุกเวลา อย่างไรก็ตามจงตระหนักถึง <0>ความเสี่ยงจากความคลาดเคลื่อน<0/>", diff --git a/packages/translations/src/translations/tr.json b/packages/translations/src/translations/tr.json index 42adae88e130..b191cc8a820b 100644 --- a/packages/translations/src/translations/tr.json +++ b/packages/translations/src/translations/tr.json @@ -32,6 +32,7 @@ "45453595": "Binary Koin", "45941470": "Nereden başlamak istersiniz?", "46523711": "Kimlik kanıtınız doğrulandı", + "49404821": "Eğer bir \"<0>{{trade_type}}\" opsiyonunda, nihai fiyat {{payout_status}} kullanım fiyatı ise vade sonunda bir ödeme alırsınız. Aksi takdirde, \"<0>{{trade_type}}\" seçeneği değersiz olarak sona erecektir.", "49963458": "Bir seçenek seçin", "50200731": "FX majör (standart/mikro lot), FX minörler, basket indeksleri, emtialar ve kripto para birimleri", "53801223": "Hong Kong 50", @@ -39,7 +40,7 @@ "54185751": "100.000$'dan daha az", "55340304": "Mevcut sözleşmeniz devam etsin mi?", "55916349": "Hepsi", - "56764670": "Deriv Bot herhangi bir yeni işlemle devam etmeyecektir. Devam eden tüm işlemler sistemimiz tarafından tamamlanacaktır. Kaydedilmemiş tüm değişiklikler kaybolacaktır<0>Not: Tamamlanan işlemleri görüntülemek için lütfen ekstrenizi kontrol edin.", + "56764670": "Deriv Bot herhangi bir yeni işlemle devam etmeyecektir. Devam eden tüm işlemler sistemimiz tarafından tamamlanacaktır. Kaydedilmemiş tüm değişiklikler kaybolacaktır. <0>Not: Tamamlanan işlemleri görüntülemek için lütfen ekstrenizi kontrol edin.", "58254854": "Kapsam", "59169515": "\"Asian Rise\"ı seçerseniz, son tik tiklerin ortalamasından daha yüksekse ödemeyi kazanırsınız.", "59341501": "Tanınmayan dosya formatı", @@ -63,7 +64,7 @@ "74963864": "Altında", "76916358": "Para çekme sınırına ulaştınız. <0/>Para çekme işleminize devam etmek ve sınırı yükseltmek için lütfen kimlik kanıtınızı ve adresinizi yükleyin.", "77945356": "Mobil uygulamamızla hareket halindeyken ticaret yapın.", - "77982950": "Vanilya opsiyonlar, bir \"Alım\" veya \"Satım\" satın alarak dayanak varlığın yukarı (yükseliş) veya aşağı (düşüş) yönünü tahmin etmenizi sağlar.", + "77982950": "Vanilya opsiyonlar, bir \"Call\" veya \"Put\" satın alarak dayanak varlığın yukarı (bullish) veya aşağı (bearish) yönünü tahmin etmenizi sağlar.", "81450871": "Bu sayfayı bulamadık", "82839270": "Pasaportunuzun fotoğrafınızı içeren sayfasını yükleyin.", "83202647": "Bloğu Daralt", @@ -122,7 +123,6 @@ "158373715": "Turdan çıkın", "160746023": "Bir Omni token (USDT) olarak Tether, Bitcoin blok zincirindeki Omni katmanında barındırılan bir Tether sürümüdür.", "160863687": "Kamera algılanmadı", - "162080773": "Put için", "164112826": "Bu blok, uzak bir sunucuda depolanmışsa bir URL'den bloklar yüklemenizi sağlar ve yalnızca botunuz çalıştığında yüklenecektir.", "164564432": "Sistem bakımı nedeniyle para yatırma işlemleri geçici olarak kullanılamıyor. Bakım tamamlandığında para yatırma işlemlerini yapabilirsiniz.", "165294347": "Kasiyere erişmek için lütfen hesap ayarlarınızda ikamet ettiğiniz ülkeyi ayarlayın.", @@ -152,7 +152,7 @@ "192436105": "Sembol, rakam veya büyük harf gerekmez", "192573933": "Doğrulama tamamlandı", "195972178": "Karakter alın", - "196810983": "Süre 24 saatten fazlaysa, bunun yerine Kesim saati ve Son Kullanma tarihi geçerli olacaktır.", + "196810983": "Süre 24 saatten fazlaysa, bunun yerine Kesme saati ve Bitiş tarihi geçerli olacaktır.", "196998347": "Müşteri fonlarını, iflas durumunda şirketin varlıklarının bir parçasını oluşturmayan operasyonel hesaplarımızdan ayrı olarak banka hesaplarında tutuyoruz. Bu, <0>Bahis Komisyonu tarafından müşteri fonlarının ayrılmasına ilişkin gereksinimlerini karşılamaktdır: <1>medium koruma.", "197190401": "Son kullanma tarihi", "201091938": "30 gün", @@ -423,6 +423,7 @@ "498144457": "Yakın zamana ait bir hizmet faturası (örn. elektrik, su veya gaz)", "498562439": "yada", "499522484": "1. \"dize\" için: 1325.68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "İcra Kurulu Başkanı, Üst Düzey Yetkililer ve Yasa Koyucular", "500920471": "Bu blok iki sayı arasında aritmetik işlemler gerçekleştirir.", "501401157": "Sadece para yatırmanıza izin verilir", @@ -518,6 +519,7 @@ "611020126": "Blockchain'de ki adresi görüntüle", "611786123": "FX-majörler (standart/mikro lotlar), FX-minörler, Emtialar, Kripto para birimleri, Hisse Senetleri ve Hisse Senedi Endeksleri", "617345387": "\"Reset-Up\"ı seçerseniz çıkış noktası giriş noktasından veya sıfırlama zamanındaki noktadan çok daha yüksekse ödeme kazanırsınız.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Bir kesilmiş belgesi örneği", "619268911": "<0>a. Finansal Komisyon, şikayetin geçerliliği hakkında 5 iş günü içinde araştırma yapacak.", "619407328": "{{identifier_title}} ile bağlantıyı kesmek istediğinizden emin misiniz?", @@ -897,7 +899,6 @@ "1038575777": "Parolayı değiştir", "1039428638": "AB yönetmeliği", "1039755542": "Birkaç sözcük kullanın, sık kullanılan ifadelerden kaçının", - "1040053469": "Call için", "1040472990": "1. Bot Oluşturucu ögesine gidin.", "1040677897": "Alım satım işlemine devam etmek için bir adres kanıtı da göndermeniz gerekir.", "1041001318": "Bu blok verilen bir liste üzerinde aşağıdaki işlemleri gerçekleştirir: toplam, minimum, maksimum, ortalama, medyan, mod, antimode, standart sapma, rastgele öğe.", @@ -1832,7 +1833,6 @@ "2010866561": "Toplam kar/zararı verir", "2011609940": "Lütfen 0'den büyük bir sayı girin", "2011808755": "Satın alma zamanı", - "2012110280": "Sentetikler, Sepet endeksleri ve Türev FX", "2014536501": "Kart numarası", "2014590669": "'{{variable_name}}' değişkeninin değeri yok. Lütfen '{{variable_name}}' değişkeni için bildirimde bulunmak üzere bir değer ayarlayın.", "2017672013": "Lütfen belgenin düzenlendiği ülkeyi seçin.", @@ -1876,7 +1876,6 @@ "2059365224": "Evet, Hızlı strateji özelliğini kullanarak önceden oluşturulmuş bir botla başlayabilirsiniz. Burada en popüler ticaret stratejilerinden bazılarını bulacaksınız: Martingale, D'Alembert ve Oscar's Grind. Sadece stratejiyi seçin, ticaret parametrelerinizi girin ve botunuz sizin için yaratılacaktır. Parametreleri daha sonra her zaman değiştirebilirsiniz.", "2059753381": "Doğrulamam neden başarısız oldu?", "2060873863": "Siparişiniz {{order_id}} tamamlandı", - "2062299501": "<0>İçin {{title}}: Ödemeniz her nokta için bu miktarda büyüyecek {{trade_type}} grev fiyatınız. Ödeme, hissenizden daha yüksek olduğunda kar elde etmeye başlayacaksınız.", "2062912059": "işlev {{ function_name }} {{ function_params }}", "2063655921": "\"Close-to-Low\" sözleşmesini satın alarak, sözleşme süresi boyunca kapanış ve düşük arasındaki farkın çarpan ile çarpımını kazanacaksınız.", "2063812316": "Metin Beyanı", @@ -2479,6 +2478,7 @@ "-81256466": "Bir CFD hesabı oluşturmak için bir Deriv hesabına ihtiyacınız var.", "-699372497": "Başarılı işlemlerde daha iyi getiri elde etmek için kaldıraç ve sıkı spreadlerle ticaret yapın. <0>Daha fazla bilgi edin", "-1884966862": "Farklı tür ve yetki alanına sahip daha fazla Deriv MT5 hesabı edinin.", + "-596618970": "Other CFDs", "-982095728": "Edin", "-1277942366": "Toplam varlıklar", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD'ler <0>{{compare_accounts_title}}", "-318106501": "Sentetikler, sepetler ve türev FX ile MT5 üzerinde CFD ticareti yapın.", "-1328701106": "MT5'te forex, hisse senetleri, hisse senedi endeksleri, sentetikler, kripto para birimleri ve emtialar ile CFD ticareti yapın.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Düzenleme seçimi", "-249184528": "AB veya AB dışı düzenlemeler kapsamında gerçek hesaplar oluşturabilirsiniz. Bu hesaplar hakkında daha fazla bilgi edinmek için <0><0/> simgesine tıklayın.", "-1505234170": "Trader's Hub turu", @@ -2943,7 +2945,7 @@ "-625024929": "Hemen gidiyor musun?", "-584289785": "Hayır, kalacağım", "-1435060006": "Ayrılmanız durumunda mevcut sözleşmeniz tamamlanır ancak botunuz hemen çalışmayı durduracak.", - "-24780060": "Ticarete hazır olduğunuzda, vurmak ", + "-24780060": "Ticarete hazır olduğunuzda, tıklayın ", "-2147110353": ". Botunuzun performansını buradan takip edebileceksiniz.", "-1717650468": "Online", "-1825471709": "Güçlü ve kullanımı kolay bir platformda tamamen yeni bir ticari deneyim.", @@ -2957,13 +2959,12 @@ "-568280383": "Deriv Gaming", "-895331276": "Adres kanıtınızı tamamlayın", "-782679300": "Kimlik kanıtınızı tamamlayın", - "-579984289": "Türetilmiş Demo", + "-579984289": "Türev Demo", "-1596515467": "Derived BVI", - "-222394569": "Türetilmiş Vanuatu", + "-222394569": "Türev Vanuatu", "-533935232": "Finansal BVI", "-565431857": "Finansal Labuan", - "-1290112064": "Deriv EZ", - "-291535132": "Takas İçermeyen Demo", + "-291535132": "Swap-Free Demo", "-1472945832": "Swap-Free SVG", "-1669418686": "AUD/CAD", "-1548588249": "AUD/CHF", @@ -2990,7 +2991,7 @@ "-617646862": "Almanya 40", "-2077690248": "Japonya 225", "-512194910": "US Tech 100", - "-381746202": "BİZE 500", + "-381746202": "US 500", "-1935463381": "İsviçre 20", "-1941767726": "Euro 50", "-1925264914": "Volatilite 25 Endeksi", @@ -3053,9 +3054,9 @@ "-945275490": "Opsiyonlar hesabınızdan tüm fonları çekin.", "-2093768906": "{{name}} paranızı serbest bıraktı.
Geri bildiriminizi vermek ister misiniz?", "-705744796": "Demo hesap bakiyeniz maksimum sınıra ulaştı ve yeni işlem yapamayacak. Demo hesabınızdan alım satım işlemine devam etmek için bakiyenizi sıfırlayın.", - "-2063700253": "engelli", + "-2063700253": "devre dışı", "-800774345": "Acuity\"den sezgisel araçlarla Finansal işlemlerinizi güçlendirin.", - "-279582236": "Daha fazla bilgi", + "-279582236": "Daha fazla bilgi edinin", "-1211460378": "Acuity ile işlemlerinizi güçlendirin", "-703292251": "Piyasa olaylarını takip etmek için sezgisel ticaret araçlarını indirin. Acuity paketi yalnızca Windows için kullanılabilir, ve en çok finansal varlıklar için tavsiye edilir.", "-1585069798": "Uygunluk Testinizi tamamlamak için lütfen aşağıdaki bağlantıya tıklayın.", @@ -3066,7 +3067,7 @@ "-1815573792": "Yorumunuzu Trustpilot'a bırakın.", "-823349637": "Trustpilot'a git", "-1204063440": "Hesabımın para birimini ayarla", - "-1601813176": "Günlük limitlerinizi {{max_daily_buy}} değerine yükseltmek ister misiniz {{currency}} (satın al) ve {{max_daily_sell}} {{currency}} (satmak)?", + "-1601813176": "Günlük limitlerinizi {{max_daily_buy}} değerine yükseltmek ister misiniz {{currency}} (buy) ve {{max_daily_sell}} {{currency}} (sell)?", "-1751632759": "<0>{{platform_name_go}} uygulamasıyla daha hızlı bir mobil ticaret deneyimi yaşayın!", "-1164554246": "Süresi dolmuş kimlik belgeleri gönderdiniz", "-219846634": "Kimliğinizi doğrulayalım", @@ -3107,18 +3108,18 @@ "-949074612": "Lütfen canlı sohbet yoluyla bizimle iletişime geçin.", "-2087822170": "Çevrimdışısınız", "-1669693571": "Bağlantınızı kontrol edin.", - "-1706642239": "<0>Mülkiyet kanıtı <1>gerekli", - "-553262593": "<0><1>Hesabınız şu anda kilitli <3>Hesabınızın kilidini açmak için<2> lütfen sahiplik kanıtınızı yükleyin<4>.<5>", + "-1706642239": "<0>Sahiplik kanıtı <1>gerekli", + "-553262593": "<0><1>Hesabınız şu anda kilitli <2><3>Hesabınızın kilidini açmak için <4> lütfen sahiplik kanıtınızı yükleyin <5>", "-1834929362": "Belgemi yükle", - "-1043638404": "<0>Sahiplik doğrulaması kanıtı <1>başarısız oldu", - "-1766760306": "<0><1>Lütfen belgenizi doğru ayrıntılarla yükleyin<2>.<3>", + "-1043638404": "<0>Sahiplik kanıtı <1>doğrulama başarısız oldu", + "-1766760306": "<0><1>Lütfen belgenizi yükleyin <2>doğru detaylarla. <3>", "-8892474": "Değerlendirmeye başla", "-1330929685": "Hesabınızı doğrulamak ve ticarete devam etmek için lütfen kimlik kanıtınızı ve adres kanıtınızı gönderin.", "-99461057": "Hesabınızı doğrulamak ve ticarete devam etmek için lütfen adres kanıtınızı gönderin.", "-577279362": "Hesabınızı doğrulamak ve ticarete devam etmek için lütfen kimlik kanıtınızı gönderin.", "-197134911": "Kimlik kanıtınızın süresi doldu", "-152823394": "Kimlik kanıtınızın süresi doldu. Hesabınızı doğrulamak ve ticarete devam etmek için lütfen yeni bir kimlik kanıtı gönderin.", - "-2142540205": "Görünüşe göre belgenizdeki adres, adresle eşleşmiyor Deriv profilinizde. Lütfen kişisel bilgilerinizi şimdi Doğru adres.", + "-2142540205": "Görünüşe göre belgenizdeki adres, Deriv profilinizdeki adresle eşleşmiyor. Lütfen kişisel bilgilerinizi şimdi doğru adresle güncelleyin.", "-482715448": "Kişisel bilgiler'e gidin", "-2072411961": "Adres kanıtınız doğrulandı", "-384887227": "Profilinizdeki adresi güncelleyin.", @@ -3283,7 +3284,7 @@ "-815070480": "Feragatname: Acuity tarafından sağlanan ticaret hizmetleri ve bilgiler, yatırım ve/veya ticaret için bir talep olarak yorumlanmamalıdır. Deriv yatırım tavsiyesi sunmamaktadır. Geçmiş, gelecekteki performans için bir rehber değildir, ve geçmişte işe yarayan stratejiler gelecekte işe yaramayabilir.", "-2111521813": "Acuity'yi İndirin", "-941870889": "Kasiyer sadece gerçek hesaplar içindir", - "-352838513": "Görünüşe göre gerçek bir {{regulation}} hesabın yok. Kasiyeri kullanmak için, senin {{active_real_regulation}} gerçek hesap, veya al {{regulation}} gerçek hesap.", + "-352838513": "Görünüşe göre gerçek bir {{regulation}} hesabın yok. Kasiyeri kullanmak için, {{active_real_regulation}} gerçek hesabınıza geçin, veya {{regulation}} gerçek hesabı alın.", "-1858915164": "Gerçek para yatırmaya ve ticarete hazır mısınız?", "-162753510": "Gerçek hesap ekle", "-1208519001": "Kasiyere erişmek için gerçek bir Deriv hesabına ihtiyacınız var.", @@ -3309,9 +3310,10 @@ "-1382029900": "70+", "-1493055298": "90+", "-1835174654": "1:30", - "-1647612934": "Spreadlerin değeri", + "-1647612934": "Spreadler", "-1587894214": "about verifications doğrulamalar needed gerekli.", "-466784048": "Regülatör/EDR", + "-1920034143": "Sentetikler, Sepet endeksleri ve Türev FX", "-1326848138": "British Virgin Islands Financial Services Commission (lisans no. SIBA/L/18/1114)", "-777580328": "Forex, Hisse Senetleri, Hisse Senedi Endeksleri, Emtialar ve Kripto Para Birimleri", "-1372141447": "Kesintisiz işlem", @@ -3409,8 +3411,12 @@ "-479119833": "Choose a jurisdiction for your Deriv MT5 {{account_type}} account", "-450424792": "Gerçek bir Deriv MT5 hesabı oluşturmak için Deriv'de gerçek bir hesaba (fiat para birimi veya kriptopara birimi) ihtiyacınız var.", "-1760596315": "Bir Deriv hesabı oluştur", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Bu parolayı, web ve mobil uygulamalardaki Deriv X hesaplarınızda oturum açmak için kullanın.", "-1814308691": "{{platform}} parolanızı değiştirmek için lütfen e-postadaki bağlantıyı tıklayın.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "{{barrier}} değil", "-968190634": "Eşittir {{barrier}}", "-1747377543": "{{barrier}} altında", @@ -3514,7 +3520,7 @@ "-338707425": "Minimum süre 1 gündür", "-1003473648": "Süre: {{duration}} gün", "-700280380": "Anlaşma iptal. ücreti", - "-194424366": "üzerinde", + "-1669741470": "Vade sonunda ödeme, puan başına ödemenin nihai fiyat ile kullanım fiyatı arasındaki farkla çarpımına eşittir.", "-1527492178": "Satın alma kilitlendi", "-725375562": "Satın alma düğmesini Ayarlar menüsünden kilitleyebilir/kilidini açabilirsiniz", "-2131851017": "Büyüme oranı", @@ -3524,11 +3530,11 @@ "-511541916": "Bu sayıda kene ulaşıldığında sözleşmeniz otomatik olarak kapatılacaktır.", "-1918235233": "Min. kazık", "-1935239381": "Maks. bahis miktarı", - "-1930565757": "Hisseleriniz, bu sözleşmeyi satın almak için iade edilmeyen tek seferlik bir primdir. Toplam kârınız/zararınız, sözleşme değerine eksi bahis tutarınıza eşittir.", "-434270664": "Mevcut Fiyat", "-1956787775": "Bariyer Fiyatı:", "-1513281069": "Bariyer 2", "-390994177": "{{min}} ile {{max}} arasında olmalıdır", + "-1804019534": "Son kullanma tarihi: {{date}}", "-2055106024": "Gelişmiş ve basit süre ayarları arasında geçiş", "-1012793015": "Bitiş zamanı", "-2037881712": "Sözleşmeniz, <0> üzerinde bir sonraki mevcut varlık fiyatı üzerinden otomatik olarak kapatılacaktır.", @@ -3538,10 +3544,9 @@ "-1043117679": "Mevcut kaybınız bahisinizin {{stop_out_percentage}}% değerine eşit olduğunda veya aştığında, sözleşmeniz mevcut en yakın varlık fiyatından kapatılacaktır.", "-339236213": "Çarpan", "-857660728": "Grev Fiyatları", - "-119134980": "<0>{{trade_type}}: Piyasa fiyatı ise bir ödeme alacaksınız {{payout_status}} <0>son kullanma zamanında bu fiyat. aksi takdirde, ödemeniz sıfır olacaktır.", + "-194424366": "üzerinde", "-243332856": "{{ underlying_name }} için en son 1000 tikin son basamak durumu", - "-1900883796": "<0>{{trade_type}}: Piyasa ise bir ödeme alacaksınız {{payout_status}} <0>son kullanma zamanında bu fiyat. aksi takdirde, ödemeniz sıfır olacaktır.", - "-347156282": "İspat Gönder", + "-347156282": "Kanıt sunun", "-1738427539": "Satın al", "-1937372493": "İşleminizi istediğiniz zaman kapatabilirsiniz. Ancak, <0>kayma riskinin farkında olun<0/>.", "-1422269966": "1, %2, %3, %4 ve %5 değerlerine sahip bir büyüme oranı seçebilirsiniz.", diff --git a/packages/translations/src/translations/vi.json b/packages/translations/src/translations/vi.json index 6d1ae74350f9..bc3301defad6 100644 --- a/packages/translations/src/translations/vi.json +++ b/packages/translations/src/translations/vi.json @@ -32,6 +32,7 @@ "45453595": "Tiền nhị phân", "45941470": "Bạn muốn bắt đầu từ đâu?", "46523711": "Giấy tờ chứng minh danh tính của bạn đã được xác minh", + "49404821": "Nếu bạn mua một tùy chọn \"<0>{{trade_type}}\", bạn nhận được một khoản thanh toán khi hết hạn nếu giá cuối cùng là {{payout_status}} giá đình công. Nếu không, tùy chọn “<0>{{trade_type}}” của bạn sẽ hết hạn vô giá trị.", "49963458": "Chọn một quyền chọn", "50200731": "Cặp tiền tệ chính (lô tiêu chuẩn/micro), cặp tiền tệ phụ, giỏ chỉ số, hàng hoá thương mại và tiền điện tử", "53801223": "Hong Kong 50", @@ -122,7 +123,6 @@ "158373715": "Thoát khám phá", "160746023": "Tether như một token Omni (USDT) là một phiên bản của Tether được lưu trữ trên lớp Omni trên blockchain Bitcoin.", "160863687": "Không tìm thấy camera", - "162080773": "Với Lệnh bán", "164112826": "Khung này cho phép bạn tải các khối từ một liên kết URL nếu chúng được lưu trữ trên một máy chủ từ xa và chúng sẽ chỉ được tải khi bot của bạn chạy.", "164564432": "Tạm thời không thể nạp tiền do bảo trì hệ thống. Bạn có thể nạp tiền khi quá trình bảo trì hoàn tất.", "165294347": "Vui lòng thiết lập quốc gia cư trú của bạn trong phần cài đặt tài khoản để truy cập vào cổng thanh toán.", @@ -373,7 +373,7 @@ "437485293": "Loại tệp này không được hỗ trợ", "437904704": "Số vị thế mở tối đa", "438067535": "Hơn $500.000", - "439398769": "Chiến lược này hiện không tương thích với Delev Bot.", + "439398769": "Chiến lược này hiện không tương thích với Deriv Bot.", "442520703": "$250.001 — $500.000", "443203714": "Hợp đồng của bạn sẽ tự động đóng nếu số lỗ của bạn đạt đến con số này.", "443559872": "Financial SVG", @@ -410,7 +410,7 @@ "480356486": "*Chỉ số Boom 300 và Crash 300", "481276888": "Ra Ngoài", "483279638": "Ðã hoàn thành đánh giá<0/><0/>", - "483551811": "<0>Khoản thanh toán của bạn là tổng số cổ phần và lợi nhuận của bạn.", + "483551811": "<0>Khoản chi trả là tổng số tiền cược và lợi nhuận của bạn.", "483591040": "Xóa tất cả {{ delete_count }} khung?", "485379166": "Xem giao dịch", "487239607": "Chuyển đổi một giá trị Đúng hoặc Sai đã cho thành giá trị ngược lại", @@ -423,6 +423,7 @@ "498144457": "Hóa đơn tiện ích gần đây (ví dụ: điện, nước hoặc gas)", "498562439": "hoặc", "499522484": "1. cho \"dải\": 1325.68 USD", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "Giám đốc điều hành, quan chức cấp cao và các nhà lập pháp", "500920471": "Khung này thực hiện các phép toán số học giữa hai số.", "501401157": "Bạn chỉ được phép nạp tiền", @@ -433,7 +434,7 @@ "505793554": "ký tự cuối", "508390614": "Thử nghiệm tài chính STP", "510815408": "Chỉ dùng chữ cái, số, dấu cách, dấu gạch nối", - "511679687": "<0>Tích lũy cho phép bạn thể hiện một cái nhìn về phạm vi chuyển động của một chỉ số và tăng cổ phần của bạn theo cấp số nhân với tốc độ tăng trưởng cố định.", + "511679687": "Tích lũy là loại giao dịch quyền chọn cho phép bạn dự đoán phạm vi chuyển động của một chỉ số và tăng số tiền cược ban đầu của bạn theo cấp số nhân với một <0>tốc độ tăng trưởng cố định.", "514031715": "danh sách {{ input_list }} trống", "514776243": "Mật khẩu cho {{account_type}} của bạn đã được đổi.", "514948272": "Sao chép đường dẫn", @@ -518,6 +519,7 @@ "611020126": "Xem địa chỉ trên Chuỗi khối", "611786123": "Cặp tiền tệ chính (lô tiêu chuẩn/micro), cặp tiền tệ phụ, hàng hoá, tiền điện tử, chứng khoán và các chỉ số", "617345387": "Nếu bạn chọn \"Reset-Up\", hợp đồng quyền chọn của bạn sẽ sinh lời khi giá thoát cao hơn hẳn so với giá vào hoặc tại mốc thời điểm đặt lại.", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "Ví dụ về tài liệu bị khuyết", "619268911": "<0>a. Ủy ban Tài chính sẽ điều tra tính hợp lệ của đơn khiếu nại trong vòng 5 ngày làm việc.", "619407328": "Bạn có chắc muốn bỏ liên kết từ {{identifier_title}}?", @@ -559,7 +561,7 @@ "654507872": "Đúng - Sai", "654924603": "Martingale", "655937299": "Chúng tôi sẽ cập nhật giới hạn của bạn. Chọn <0>Đồng ý để xác nhận rằng bạn hoàn toàn chịu trách nhiệm cho các hành động của mình và chúng tôi sẽ không chịu trách nhiệm cho bất kỳ ảnh hưởng gây nghiện hoặc mất mát nào.", - "656296740": "Trong khi “Deal cancellation” đang hoạt động:", + "656296740": "Khi “Hủy giao dịch” còn khả dụng:", "657325150": "Khung này được sử dụng để xác định các tùy chọn giao dịch trong khung tham số Giao dịch gốc. Một số tùy chọn chỉ áp dụng cho một số loại giao dịch nhất định. Các thông số như thời lượng và tiền cược rất phổ biến cho hầu hết các loại giao dịch. Dự đoán được sử dụng cho các loại giao dịch như Chữ số, trong khi các bù đắp rào cản là dành cho các loại giao dịch liên quan đến các rào cản như Chạm/Không chạm (Touch/No Touch) , Kết thúc vào/ra (Ends In/Out), v. v.", "659482342": "Xin nhớ rằng bạn có trách nhiệm giữ cho câu trả lời của mình chính xác và cập nhật. Bạn có thể cập nhật thông tin cá nhân của mình bất kỳ lúc nào trong phần cài đặt tài khoản của mình.", "660481941": "Để truy cập vào các ứng dụng di động của bạn và các ứng dụng bên thứ ba khác, bạn cần tạo mã thông báo API trước.", @@ -586,7 +588,7 @@ "685391401": "Nếu bạn gặp sự cố khi đăng nhập, hãy cho chúng tôi biết qua<0> chat", "686312916": "Tài khoản giao dịch", "686387939": "Làm thế nào để xóa nhật ký giao dịch?", - "687193018": "Rủi ro trượt", + "687193018": "Rủi ro trượt giá", "687212287": "Phải điền số tiền.", "688510664": "Bạn có {{two_fa_status}} 2FA trên thiết bị này. Bạn sẽ bị buộc đăng xuất khỏi tài khoản của mình trên các thiết bị khác (nếu có). Sử dụng mật khẩu của bạn và mã 2FA để đăng nhập lại.", "689137215": "Giá mua", @@ -605,7 +607,7 @@ "706413212": "Để truy cập vào thủ quỹ, bạn đang ở trong tài khoản {{regulation}} {{currency}} ({{loginid}}) của bạn.", "706727320": "Tần suất giao dịch các quyền chọn nhị phân", "706755289": "Khung này thực hiện các hàm lượng giác.", - "706960383": "Chúng tôi sẽ đề nghị mua hợp đồng của bạn ở mức giá này nếu bạn chọn bán nó trước khi hết hạn. Điều này dựa trên một số yếu tố, chẳng hạn như giá giao ngay hiện tại, thời gian, vv Tuy nhiên, chúng tôi sẽ không cung cấp giá trị hợp đồng nếu thời gian còn lại dưới 60 giây.", + "706960383": "Chúng tôi sẽ đề nghị mua hợp đồng của bạn ở mức giá này nếu bạn chọn bán nó trước khi hết hạn. Đề nghị mua này dựa trên một số yếu tố, chẳng hạn như giá giao ngay hiện tại, thời gian, v. v. Tuy nhiên, chúng tôi sẽ không chấp nhận hợp đồng nếu thời gian còn lại dưới 60 giây.", "707662672": "{{unblock_date}} vào lúc {{unblock_time}}", "708055868": "Số giấy phép lái xe", "710123510": "lặp lại {{ while_or_until }} {{ boolean }}", @@ -652,7 +654,7 @@ "761576760": "Nạp tiền vào tài khoản và bắt đầu giao dịch.", "762185380": "<0>Nhân lợi nhuận mà <0> chỉ mạo hiểm số tiền cược ban đầu.", "762871622": "{{remaining_time}} giây", - "762926186": "Một chiến lược nhanh chóng là một chiến lược sẵn sàng mà bạn có thể sử dụng trong Div Bot. Có 3 chiến lược nhanh chóng mà bạn có thể chọn: Martingale, D'Alembert, và Oscar của Grind.", + "762926186": "Chiến lược nhanh là chiến lược được tạo sẵn mà bạn có thể sử dụng trong Deriv Dbot. Có 3 chiến lược nhanh mà bạn có thể chọn: Martingale, D'Alembert và Oscar's Grind.", "763019867": "Tài khoản Gaming của bạn đã được lên lịch để đóng lại", "764366329": "Giới hạn giao dịch", "764540515": "Sẽ có rủi ro khi dừng bot", @@ -672,7 +674,7 @@ "785969488": "Chỉ số Jump 75", "787727156": "Ngưỡng", "788005234": "Không tồn tại", - "792164271": "Đây là thời điểm hợp đồng của bạn sẽ hết hạn dựa trên Thời gian hoặc Thời gian Kết thúc bạn đã chọn.", + "792164271": "Đây là thời điểm hợp đồng của bạn sẽ hết hạn dựa trên thời hạn hợp đồng hoặc thời gian kết thúc mà bạn đã chọn.", "792622364": "Bảo vệ số dư tài khoản không về âm", "793526589": "Để gửi khiếu nại về dịch vụ của chúng tôi, hãy gửi email đến <0>complaints@deriv.com và nêu chi tiết khiếu nại của bạn. Vui lòng gửi bất kỳ ảnh chụp màn hình nào liên quan đến giao dịch của bạn hoặc hệ thống để chúng tôi hiểu rõ hơn.", "793531921": "Công ty chúng tôi là một trong những công ty giao dịch trực tuyến lâu đời và uy tín nhất trên thế giới. Chúng tôi cam kết đối xử công bằng với khách hàng và cung cấp dịch vụ tốt nhất. <0/><1/>Vui lòng cung cấp cho chúng tôi phản hồi về cách chúng tôi có thể cải thiện dịch vụ của mình. Hãy yên tâm rằng bạn sẽ được lắng nghe, trân trọng và đối xử công bằng mọi lúc.", @@ -693,9 +695,9 @@ "807499069": "Thủ tục khiếu nại hoa hồng tài chính", "808323704": "Bạn cũng có thể sử dụng khung \"So sánh\" và \"Thuật toán logic\" để thử các biến.", "811876954": "Bạn có thể chuyển khoản giữa các tài khoản tiền pháp định Deriv, tiền kỹ thuật số, {{platform_name_mt5}}, và {{platform_name_dxtrade}} của mình.", - "812430133": "Spot price trên tick trước đó.", - "814827314": "Mức dừng trên biểu đồ cho biết mức giá mà tại đó lỗ tiềm năng của bạn bằng toàn bộ cổ phần của bạn. Khi giá thị trường đạt đến mức này, vị thế của bạn sẽ được đóng tự động. Điều này đảm bảo rằng khoản lỗ của bạn không vượt quá số tiền bạn đã trả để mua hợp đồng.", - "815925952": "Khối này là bắt buộc. Chỉ cho phép một bản sao của khối này. Nó được thêm vào canvas theo mặc định khi bạn mở Div Bot.", + "812430133": "Giá giao ngay của tick trước đó.", + "814827314": "Mức dừng giao dịch trên biểu đồ cho biết mức giá mà tại đó khoản lỗ tiềm năng sẽ bằng toàn bộ tiền cược của bạn. Khi giá thị trường đạt đến mức này, vị thế của bạn sẽ tự động đóng. Điều này để đảm bảo rằng khoản lỗ của bạn không vượt quá số tiền bạn đã trả để mua hợp đồng.", + "815925952": "Khung này là bắt buộc. Chỉ được sao chép thêm một bản cho khung này. Khung này được mặc định thêm vào khi bạn mở Deriv Bot.", "816580787": "Chào mừng trở lại! Tin nhắn của bạn đã được khôi phục.", "816738009": "<0/><1/>Bạn cũng có thể gửi tranh chấp chưa được giải quyết của mình đến <2>Văn phòng Trọng tài cho Dịch vụ Tài chính (Office of the Arbiter for Financial Services).", "818447476": "Đổi tài khoản?", @@ -727,7 +729,7 @@ "845213721": "Đăng xuất", "845304111": "Thời lượng EMA chậm {{ input_number }}", "847888634": "Vui lòng rút tất cả tiền của bạn.", - "848083350": "Thanh toán của bạn bằng với <0>khoản thanh toán cho mỗi điểm nhân với chênh lệch giữa giá cuối cùng và giá đình công. Bạn sẽ chỉ kiếm được lợi nhuận nếu thanh toán của bạn cao hơn cổ phần ban đầu của bạn.", + "848083350": "Khoản chi trả của bạn sẽ bằng <0>khoản chi trả của mỗi điểm nhân với chênh lệch giữa giá cuối cùng và giá thực hiện. Bạn sẽ chỉ kiếm được lợi nhuận nếu khoản chi trả cho bạn cao hơn số tiền cược ban đầu.", "850582774": "Vui lòng cập nhật thông tin cá nhân của bạn", "851054273": "Nếu bạn chọn \"Cao hơn\" (Higher), hợp đồng quyền chọn của bạn sẽ sinh lời nếu giá thoát hoàn toàn cao hơn mức giá ngưỡng.", "851264055": "Tạo danh sách với một mục nhất định được lặp lại một số lần cụ thể.", @@ -757,12 +759,12 @@ "873166343": "1. \"Nhật ký\" hiển thị một thông báo thông thường.", "874461655": "Quét mã QR bằng điện thoại của bạn", "874484887": "Số chốt lời phải là số dương.", - "875101277": "Nếu tôi đóng trình duyệt web của mình, Delev Bot sẽ tiếp tục chạy?", + "875101277": "Nếu tôi đóng trình duyệt web của mình, thì Deriv Bot có tiếp tục chạy không?", "875532284": "Bắt đầu lại quá trình trên thiết bị khác", "876086855": "Hoàn thành biểu mẫu đánh giá tài chính", "876292912": "Thoát", "879014472": "Đã đạt tới tối đa số lượng số thập phân", - "879647892": "Bạn có thể bán hợp đồng cho đến 60 giây trước khi hết hạn. Nếu bạn làm, chúng tôi sẽ trả cho bạn <0>giá trị hợp đồng.", + "879647892": "Bạn có thể bán hợp đồng cho đến 60 giây trước khi hết hạn. Nếu bán, chúng tôi sẽ trả cho bạn <0>giá trị hợp đồng.", "881000060": "{{transaction_type_display_text}} {{currency}}", "885065431": "Tạo tài khoản Deriv", "888274063": "Tỉnh/Thành phố", @@ -849,7 +851,7 @@ "982829181": "Ngưỡng", "983451828": "2. Chọn tài sản và loại giao dịch.", "987224688": "Bạn đã thực hiện bao nhiêu giao dịch với các công cụ tài chính khác trong 12 tháng qua?", - "988064913": "4. Trở lại Div Bot và thêm khối Notify Telegram vào không gian làm việc. Dán mã thông báo Telegram API và ID chat vào các trường khối cho phù hợp.", + "988064913": "4. Trở lại Deriv Bot và thêm khối Thông báo Telegram vào không gian làm việc. Dán mã thông báo Telegram API và ID chat vào các trường khối cho phù hợp.", "988361781": "Bạn chưa có hoạt động giao dịch nào.", "988934465": "Khi được nhắc, bạn phải bật quyền truy cập máy ảnh để tiếp tục", "990739582": "170+", @@ -881,7 +883,7 @@ "1024205076": "Hoạt động lý luận", "1025887996": "Bảo vệ cân bằng số âm", "1026046972": "Vui lòng nhập số tiền thanh toán thấp hơn {{max_payout}}.", - "1027098103": "Đòn bẩy cung cấp khả năng giao dịch ở vị thế lớn hơn, sử dụng vốn hiện có của bạn. Đòn bẩy thay đổi trên các biểu tượng khác nhau.", + "1027098103": "Đòn bẩy cung cấp khả năng giao dịch ở vị thế lớn hơn, sử dụng vốn hiện có của bạn. Các mã chứng khoán khác nhau sẽ có tỉ lệ đòn bẩy khác nhau.", "1028211549": "Yêu cầu nhập đủ tất cả các ô", "1028758659": "Quốc tịch*", "1029164365": "Chúng tôi cho rằng bạn có kinh nghiệm, kiến thức và chuyên môn để đưa ra quyết định đầu tư của riêng mình và đánh giá đúng rủi ro liên quan.", @@ -897,7 +899,6 @@ "1038575777": "Thay đổi mật khẩu", "1039428638": "Quy định của châu Âu", "1039755542": "Sử dụng một vài từ, tránh các cụm từ phổ biến", - "1040053469": "Với Lệnh mua", "1040472990": "1. Đi đến Bot Builder.", "1040677897": "Để tiếp tục giao dịch, bạn cũng cần gửi giấy tờ xác \u001dthực địa chỉ.", "1041001318": "Khung này thực hiện các thao tác sau trong một danh sách nhất định: tổng, tối thiểu, tối đa, trung bình, trung vị, mode, antimode, độ lệch chuẩn, mục ngẫu nhiên.", @@ -929,7 +930,7 @@ "1057749183": "Xác thực hai yếu tố (2FA)", "1057765448": "Mức dừng", "1057904606": "Khái niệm về chiến lược D’Alembert được cho là tương tự như chiến lược Martingale (chiến lược tăng quy mô hợp đồng sau khi thua lỗ). Với chiến lược D’Alembert, bạn sẽ giảm quy mô hợp đồng sau khi giao dịch thành công.", - "1058804653": "Sự hết hạn", + "1058804653": "Hết hạn", "1060231263": "Khi nào bạn cần phải trả một khoản ký quỹ ban đầu?", "1061308507": "Mua {{ contract_type }}", "1062536855": "Tương đương", @@ -1096,7 +1097,7 @@ "1240688917": "Thuật ngữ", "1241238585": "Bạn có thể chuyển khoản giữa các tài khoản tiền pháp định Deriv, tiền kỹ thuật số và {{platform_name_mt5}} của mình.", "1242288838": "Nhấp vào hộp đánh dấu ở trên để chọn giấy tờ của bạn.", - "1242994921": "Nhấp vào đây để bắt đầu xây dựng Div Bot của bạn.", + "1242994921": "Nhấp vào đây để bắt đầu tạo Deriv Bot của riêng bạn.", "1243064300": "Địa phương", "1246207976": "Nhập mã xác thực được tạo bởi ứng dụng 2FA của bạn:", "1246880072": "Chọn quốc gia phát hành", @@ -1133,7 +1134,7 @@ "1289646209": "Gọi ký quỹ", "1290525720": "Ví dụ: ", "1291887623": "Tần suất giao dịch quyền chọn kỹ thuật số", - "1291997417": "Contracts sẽ hết hạn vào đúng 23:59:59 GMT vào ngày hết hạn đã chọn.", + "1291997417": "Hợp đồng sẽ hết hạn lúc 23:59:59 GMT vào ngày hết hạn đã chọn.", "1292188546": "Đặt lại mật khẩu nhà đầu tư Deriv MT5", "1292891860": "Thông báo Telegram", "1293660048": "Tổng mức thua lỗ tối đa mỗi ngày", @@ -1274,7 +1275,7 @@ "1433367863": "Rất tiếc, đã xảy ra lỗi khi đang xử lý yêu cầu của bạn.", "1433468641": "Chúng tôi cung cấp dịch vụ ở tất cả các quốc gia, ngoại trừ những dịch vụ được đề cập trong các điều khoản và điều kiện của chúng tôi.", "1434382099": "Hiển thị cửa sổ hộp thoại với một thông báo", - "1434767075": "Bắt đầu trên Derov Bot", + "1434767075": "Bắt đầu với Deriv Bot", "1434976996": "Thông báo", "1435363248": "\bKhung này chuyển đổi số giây kể từ Unix Epoch sang định dạng ngày và giờ như 2019-08-01 00:00:00.", "1435380105": "Tiền nạp tối thiểu", @@ -1310,7 +1311,7 @@ "1466900145": "Doe", "1467017903": "Thị trường này hiện chưa có mặt trên {{platform_name_trader}}, nhưng đã có trên {{platform_name_smarttrader}}.", "1467421920": "với khoảng thời gian: %1", - "1467534387": "Giá giao ngay có thể thay đổi vào thời điểm đơn hàng của bạn đến máy chủ của chúng tôi. Khi điều này xảy ra, thanh toán của bạn có thể bị ảnh hưởng.", + "1467534387": "Giá giao ngay có thể thay đổi tại thời điểm lệnh giao dịch của bạn được chuyển đến máy chủ của chúng tôi. Khi điều này xảy ra, khoản chi trả cho bạn có thể bị ảnh hưởng.", "1467661678": "Giao dịch tiền điện tử", "1467880277": "3. Các câu hỏi chung", "1468308734": "Khung này lặp lại các hướng dẫn khi điều kiện đặt đúng", @@ -1320,7 +1321,7 @@ "1469764234": "Lỗi cổng thanh toán", "1469814942": "- Chia ra", "1470319695": "Trả về Đúng hoặc Sai", - "1471008053": "Div Bot chưa hoàn toàn sẵn sàng cho các tài khoản thực", + "1471008053": "Chưa thể sử dụng Deriv Bot cho các tài khoản thực", "1471070549": "Hợp đồng này có thể bán không?", "1471741480": "Lỗi nghiêm trọng", "1473369747": "Chỉ cho giao dịch chỉ số Tổng hợp", @@ -1365,7 +1366,7 @@ "1524636363": "Quá trình xác thực thất bại", "1526483456": "2. Nhập tên cho biến của bạn và nhấn Tạo. Các khung mới chứa biến mới sẽ xuất hiện bên dưới.", "1527251898": "Không thành công", - "1527664853": "Thanh toán của bạn bằng với khoản thanh toán cho mỗi điểm nhân với chênh lệch giữa giá cuối cùng và giá đình công.", + "1527664853": "Khoản chi trả của bạn sẽ bằng số tiền chi trả ở mỗi điểm nhân với chênh lệch giữa giá cuối cùng và giá thực hiện.", "1527906715": "Khung này thêm số cho sẵn vào biến được chọn.", "1531017969": "Tạo một chuỗi văn bản duy nhất từ ​​việc kết hợp giá trị văn bản của từng mục được đính kèm, không có khoảng trống ở giữa. Số lượng các mục có thể được thêm vào cho phù hợp.", "1533177906": "Giảm", @@ -1445,7 +1446,7 @@ "1622662457": "Ngày từ", "1622944161": "Bây giờ, hãy đi tới khung <0>Điều kiện để khởi động lại giao dịch.", "1623706874": "Sử dụng khối này khi bạn muốn sử dụng cấp số nhân là loại giao dịch của mình.", - "1628981793": "Tôi có thể giao dịch tiền điện tử trên Derov Bot không?", + "1628981793": "Tôi có thể giao dịch tiền điện tử trên Deriv Bot không?", "1630372516": "Thử dùng dịch vụ Fiat onramp của chúng tôi", "1630417358": "Vui lòng chuyển đến cài đặt tài khoản của bạn và điền đầy đủ thông tin cá nhân để có thể rút tiền.", "1631281562": "Giỏ GBP", @@ -1551,7 +1552,7 @@ "1740371444": "Thị trường cơ sở không được chọn", "1742256256": "Vui lòng tải lên một trong các loại giấy tờ sau:", "1743448290": "Đại lý thanh toán", - "1743679873": "<1>Nếu bạn chọn <0>“Gọi”, bạn sẽ nhận được một <1>khoản thanh toán nếu <1>giá cuối cùng cao hơn giá thực hiện vào <1>thời điểm hết hạn. Nếu không, bạn sẽ không nhận được khoản thanh toán.", + "1743679873": "Nếu bạn chọn <0>“Mua (Call)”, hợp đồng quyền chọn của bạn sẽ sinh lời một <1>khoản chi trả nếu <1>giá cuối cùng cao hơn <1>giá thực hiện vào <1>thời điểm hết hạn. Nếu không, hợp đồng quyền chọn của bạn sẽ không sinh lời.", "1743902050": "Hoàn thành đánh giá tài chính của bạn", "1744509610": "Chỉ cần kéo tệp XML từ máy tính của bạn vào không gian làm việc và bot của bạn sẽ được tải lên. Ngoài ra, bạn có thể chọn Nhập trong Tạo Bot, và nhập bot từ máy tính của bạn hoặc từ Google Drive của bạn.", "1745523557": "- Căn bậc hai", @@ -1686,7 +1687,7 @@ "1869787212": "Chẵn", "1870933427": "Tiền điện tử", "1871196637": "Đúng nếu kết quả của giao dịch cuối cùng khớp với lựa chọn", - "1871377550": "Bạn có cung cấp chương trình giao dịch được xây dựng sẵn trên Div Bot?", + "1871377550": "Deriv có cung cấp bot trading dựng sẵn trên Deriv Bot không?", "1871664426": "Lưu ý", "1873838570": "Vui lòng xác thực địa chỉ của bạn", "1874481756": "Sử dụng khung này để mua hợp đồng cụ thể mà bạn muốn. Bạn có thể thêm nhiều khung Mua cùng với các khung có điều kiện để xác định điều kiện mua của bạn. \bKhung này chỉ có thể được sử dụng trong khung Điều kiện mua hàng.", @@ -1697,7 +1698,7 @@ "1877225775": "Giấy tờ xác thực địa chỉ của bạn đã được chấp nhận", "1877410120": "Điều bạn nên làm bây giờ", "1877832150": "# từ điểm kết thúc", - "1878172674": "Không, chúng tôi không biết. Tuy nhiên, bạn sẽ tìm thấy các chiến lược nhanh chóng trên Delev Bot sẽ giúp bạn xây dựng bot giao dịch của riêng bạn miễn phí.", + "1878172674": "Rất tiếc, chúng tôi không cung cấp. Tuy nhiên, bạn sẽ tìm thấy các chiến lược nhanh trên Deriv Bot để giúp bạn tạo bot trading của riêng mình miễn phí.", "1879042430": "Bài kiểm tra mức độ thích hợp, CẢNH BÁO:", "1879412976": "Tiền lời: <0>{{profit}}", "1879463662": "Bạn cần nạp tối thiểu {{minimum_deposit}} {{currency}}. Nếu không, số tiền sẽ bị mất và không thể thu hồi được.", @@ -1720,7 +1721,7 @@ "1903437648": "Phát hiện ảnh bị mờ", "1905032541": "Chúng tôi đã sẵn sàng để xác minh danh tính của bạn", "1905589481": "Nếu bạn muốn thay đổi đơn vị tiền tệ tài khoản của mình, vui lòng liên hệ với chúng tôi qua <0>live chat.", - "1906213000": "Hệ thống của chúng tôi sẽ hoàn thành bất kỳ giao dịch Derov Bot đang chạy, và Derov Bot sẽ không đặt bất kỳ giao dịch mới nào.", + "1906213000": "Hệ thống của chúng tôi sẽ hoàn tất bất kỳ giao dịch Deriv Bot nào đang chạy, và Deriv Bot sẽ không thực hiện bất kỳ giao dịch mới nào.", "1906639368": "Nếu đây là lần đầu tiên bạn thử tạo một mật khẩu, hoặc bạn đã quên mật khẩu của mình, vui lòng đặt lại mật khẩu.", "1907884620": "Thêm một tài khoản Deriv Gaming thực", "1908239019": "Hãy đảm bảo tất cả các giấy tờ đều có mặt trong ảnh", @@ -1819,7 +1820,7 @@ "1995023783": "Dòng đầu tiên của địa chỉ*", "1996767628": "Vui lòng xác nhận thông tin thuế của bạn.", "1997138507": "Nếu tick cuối bằng với trung bình các tick, hợp đồng quyền chọn của bạn không sinh lời.", - "1997313835": "Tiền đặt cọc của bạn sẽ tiếp tục tăng miễn là giá giao ngay hiện tại vẫn nằm trong phạm <0>vi xác định so với <0>giá giao ngay trước đó. Nếu không, bạn sẽ mất cổ phần và giao dịch bị chấm dứt.", + "1997313835": "Tiền cược của bạn sẽ tiếp tục tăng miễn là giá giao ngay hiện tại vẫn nằm trong một <0>phạm vi cụ thể so với <0>giá giao ngay trước đó. Ngược lại, bạn sẽ mất toàn bộ tiền cược và giao dịch sẽ chấm dứt.", "1998199587": "Bạn cũng có thể tự ngăn bản thân khỏi giao dịch hoàn toàn trong một khoảng thời gian nhất định. Nếu bất kỳ lúc nào bạn quyết định giao dịch lại, thì bạn cần liên hệ với Bộ phận hỗ trợ khách hàng của chúng tôi để loại bỏ tính năng tự ngăn này. Bạn có thể tiếp tục giao dịch sau 24 giờ kể từ khi lệnh tự ngăn bị gỡ bỏ. ", "2001222130": "Kiểm tra hòm thư rác của bạn. Nếu không ở đó, hãy thử gửi lại email.", "2004395123": "Các công cụ giao dịch mới cho MT5", @@ -1832,13 +1833,12 @@ "2010866561": "Trả về tổng lợi nhuận/thua lỗ", "2011609940": "Vui lòng nhập số lớn hơn 0", "2011808755": "Thời gian mua", - "2012110280": "Tổng hợp, chỉ số giỏ hàng và mô phỏng FX", "2014536501": "Số thẻ", "2014590669": "Biến '{{variable_name}}' không có giá trị. Vui lòng chọn một giá trị cho biến '{{variable_name}}' để thông báo.", "2017672013": "Vui lòng chọn quốc gia đã cấp giấy tờ.", "2020545256": "Bạn muốn đóng tài khoản?", "2021037737": "Vui lòng cập nhật thông tin của bạn để tiếp tục.", - "2021161151": "Xem video này để tìm hiểu làm thế nào để xây dựng một bot giao dịch trên Derov Bot. Ngoài ra, kiểm tra bài đăng trên blog này về xây dựng một bot giao dịch.", + "2021161151": "Xem video này để tìm hiểu cách tạo một bot giao dịch trên Deriv Bot. Ngoài ra, bạn cũng có thể tham khảo bài đăng blog này về cách tạo một bot giao dịch.", "2023659183": "Sinh viên", "2023762268": "Tôi thích trang web giao dịch khác hơn.", "2025339348": "Tránh khỏi ánh sáng trực tiếp — không bị lóa", @@ -1876,7 +1876,6 @@ "2059365224": "Có, bạn có thể bắt đầu với một bot được dựng sẵn bằng cách sử dụng tính năng Chiến lược nhanh. Bạn sẽ tìm thấy một số chiến lược giao dịch phổ biến nhất ở đây: Martingale, D'Alembert và Oscar's Grind. Chỉ cần chọn chiến lược, nhập thông số giao dịch của bạn, và bot của bạn sẽ được tạo. Bạn luôn có thể tinh chỉnh các thông số sau.", "2059753381": "Tại sao bước xác minh của tôi thất bại?", "2060873863": "Giao dịch {{order_id}} của bạn đã hoàn tất", - "2062299501": "<0>Với Lệnh {{title}}: Cứ mỗi điểm {{trade_type}} giá thực hiện, mức chi trả cho bạn sẽ tăng một khoảng này. Bạn sẽ bắt đầu có lợi nhuận khi khoản chi trả cao hơn số tiền cược của bạn.", "2062912059": "chức năng {{ function_name }} {{ function_params }}", "2063655921": "Bằng cách mua hợp đồng \"Đóng-tới-Thấp (Close-to-Low)\", lợi nhuận bạn nhận được sẽ bằng cấp số nhân nhân với chênh lệch giữa giá đóng và giá thấp trong suốt thời gian hợp đồng.", "2063812316": "Văn bản", @@ -1914,7 +1913,7 @@ "2101972779": "Điều này giống như ví dụ trên, sử dụng danh sách tick.", "2102572780": "Mã số phải gồm 6 kí tự.", "2104115663": "Lần đăng nhập cuối", - "2104364680": "Vui lòng chuyển sang tài khoản demo của bạn để chạy Derov Bot của bạn.", + "2104364680": "Vui lòng chuyển sang tài khoản thử nghiệm của bạn để chạy Deriv Bot.", "2104397115": "Vui lòng đi tới cài đặt tài khoản và điền đầy đủ thông tin cá nhân của bạn để có thể nạp và rút tiền.", "2107381257": "Bảo trì hệ thống cổng thanh toán theo lịch trình", "2109312805": "Chênh lệch giá là sự khác biệt giữa giá mua và giá bán. Chênh lệch thả nổi nghĩa là sự \bkhác biệt này thay đổi liên tục, tùy thuộc vào điều kiện thị trường. Chênh lệch cố định \bcó thể giữ nguyên hoặc thay đổi, tùy theo quyết định của nhà môi giới.", @@ -1954,7 +1953,7 @@ "2146336100": "trong văn bản %1 lấy %2", "2146698770": "Mẹo chuyên nghiệp: Bạn cũng có thể nhấp chọn và kéo khung mong muốn", "2146892766": "Kinh nghiệm giao dịch các quyền chọn nhị phân", - "2147244655": "Làm thế nào để nhập bot giao dịch của riêng tôi vào Derov Bot?", + "2147244655": "Làm thế nào để nhập bot giao dịch của tôi vào Deriv Bot?", "-612174191": "Cần có thông tin dòng địa chỉ đầu tiên", "-242734402": "Vui lòng chỉ sử dụng {{max}} ký tự.", "-378415317": "Cần có thông tin tỉnh/thành phố", @@ -2479,6 +2478,7 @@ "-81256466": "Bạn cần một tài khoản Deriv để tạo một tài khoản CFD.", "-699372497": "Giao dịch với đòn bẩy và chênh lệch giá thấp để có lợi nhuận cao hơn. <0>Tìm hiểu thêm", "-1884966862": "Tạo thêm nhiều loại tài khoản Deriv MT5 ở nhiều khu vực pháp lý khác nhau.", + "-596618970": "Other CFDs", "-982095728": "Tạo", "-1277942366": "Tổng tài sản", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "CFD <0>{{compare_accounts_title}}", "-318106501": "Giao dịch CFD trên MT5 với các chỉ số tổng hợp, giỏ chỉ số và giao dịch mô phỏng thị trường FX.", "-1328701106": "Giao dịch CFD trên MT5 với forex, cổ phiếu, chỉ số chứng khoán, chỉ số tổng hợp, tiền điện tử và hàng hóa.", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "Lựa chọn giám sát", "-249184528": "Bạn có thể tạo tài khoản thực theo quy định của châu Âu hoặc theo quy định của các nước không thuộc châu Âu. Nhấp vào biểu tượng <0><0/> để tìm hiểu thêm về các tài khoản này.", "-1505234170": "Khám phá Trader's Hub", @@ -2508,7 +2510,7 @@ "-951876657": "Nạp tiền vào tài khoản của bạn", "-1945421757": "Khi bạn đã có tài khoản, nhấp vào “Nạp” hoặc “Chuyển” để nạp tiền vào tài khoản", "-1965920446": "Bắt đầu giao dịch", - "-33612390": "<0>Tuyên bố từ chối trách nhiệm theo luật EU: CFD là công cụ phức tạp và có nguy cơ mất tiền nhanh chóng do đòn bẩy. <0>73% tài khoản nhà đầu tư lẻ bị mất tiền khi giao dịch CFD với nhà cung cấp này. Bạn nên cân nhắc liệu bạn có hiểu cách hoạt động của CFD và liệu bạn có đủ khả năng chấp nhận rủi ro mất tiền cao hay không.", + "-33612390": "<0>Tuyên bố từ chối trách nhiệm theo luật châu Âu: CFD là công cụ giao dịch phức tạp và có nguy cơ mất tiền nhanh chóng do đòn bẩy. <0>73% tài khoản nhà đầu tư cá nhân bị mất tiền khi giao dịch CFD với nhà cung cấp này. Bạn nên cân nhắc liệu bạn có hiểu cách hoạt động của CFD và liệu bạn có đủ khả năng chấp nhận rủi ro mất tiền cao hay không.", "-1975494965": "Cổng thanh toán", "-1787304306": "Deriv P2P", "-2021135479": "Cần có thông tin này.", @@ -2688,7 +2690,7 @@ "-328036042": "Vui lòng nhập số cắt lỗ cao hơn số lỗ dự kiến tại thời điểm hiện tại.", "-2127699317": "Số cắt lỗ không hợp lệ. Số cắt lỗ không thể lớn hơn tiền cọc.", "-1150099396": "Chúng tôi đang cố để bạn có thể sử dụng tính năng này. Nếu bạn có tài khoản khác, hãy chuyển sang tài khoản đó để tiếp tục giao dịch. Bạn có thể thêm tài khoản Deriv MT5 Tài chính.", - "-1397946060": "Delev Bot không có sẵn cho tài khoản này", + "-1397946060": "Tài khoản này không thể sử dụng Deriv Bot", "-1223145005": "Khoản lỗ: {{profit}}", "-1062922595": "ID tham chiếu (mua)", "-2068574600": "ID tham chiếu (bán)", @@ -2824,10 +2826,10 @@ "-596238067": "Giá vào/Giá thoát", "-558594655": "Bot đang không hoạt động", "-478946875": "Số liệu thống kê đã bị xóa", - "-1842451303": "Chào mừng đến với Div Bot!", + "-1842451303": "Chào mừng đến với Deriv Bot!", "-1391310674": "Hãy xem các hướng dẫn và câu hỏi thường gặp này để tìm hiểu thêm về việc tạo bot:", "-2066779239": "Câu hỏi thường gặp", - "-280324365": "Div Bot là gì?", + "-280324365": "Deriv Bot là gì?", "-507620484": "Chưa lưu", "-764102808": "Google Drive", "-1696412885": "Nhập", @@ -2915,19 +2917,19 @@ "-1311297611": "1. Sau khi nhấp Nhập, chọn Google Drive và nhấp Tiếp tục.", "-1549564044": "Làm thế nào để cài đặt lại không gian làm việc?", "-1127331928": "Trong Tạo Bot, nhấp Cài đặt lại trên thanh công cụ ở trên cùng. Thao tác này sẽ xóa không gian làm việc của bạn. Lưu ý rằng bất kỳ thay đổi nào chưa được lưu sẽ bị mất.", - "-1720444288": "Làm thế nào để kiểm soát tổn thất của tôi với Derov Bot?", - "-1142295124": "Có một số cách để kiểm soát tổn thất của bạn với Derov Bot. Dưới đây là một ví dụ đơn giản về cách bạn có thể thực hiện kiểm soát mất mát trong chiến lược của bạn:", + "-1720444288": "Làm thế nào để kiểm soát tổn thất của tôi với Deriv Bot?", + "-1142295124": "Có một số cách để kiểm soát tổn thất của bạn với Deriv Bot. Dưới đây là một ví dụ đơn giản về cách bạn có thể thực hiện để kiểm soát mất mát trong chiến lược của bạn:", "-986689483": "1. Tạo các biến sau:", "-79649010": "- CurrentSstake: Sử dụng biến này để lưu số tiền cược được sử dụng trong hợp đồng cuối cùng. Bạn có thể gán bất kỳ số tiền nào bạn muốn, nhưng nó phải là một số dương.", "-1931732247": "- TradeAgain: Sử dụng biến này để ngừng giao dịch khi đạt đến giới hạn lỗ của bạn. Đặt giá trị ban đầu thành đúng.", "-1574002530": "2. Sử dụng khối logic để kiểm tra xem currentPLcó vượt quá maximumLosskhông. Nếu có, đặt tradeAgainthành sai để ngăn bot chạy một chu kỳ khác.", "-1672069217": "3. Cập nhật CurrentPL thành lợi nhuận từ hợp đồng cuối cùng. Nếu hợp đồng cuối cùng lỗ, giá trị của CurrentPL sẽ là âm.", - "-1565344891": "Tôi có thể chạy Derov Bot trên nhiều tab trong trình duyệt web của tôi không?", + "-1565344891": "Tôi có thể chạy Deriv Bot trên nhiều thẻ trong trình duyệt web của tôi không?", "-90192474": "Có thể. Tuy nhiên, có những giới hạn với tài khoản của bạn, chẳng hạn như số lượng tối đa các vị thế có thể mở và tổng chi trả tối đa cho các vị thế mở. Vì vậy, bạn cần ghi nhớ những giới hạn này khi mở nhiều vị thế. Bạn có thể tìm thêm thông tin về các giới hạn này tại Cài đặt > Giới hạn tài khoản.", - "-213872712": "Không, chúng tôi không cung cấp cryptocurrencies trên Div Bot.", - "-2147346223": "Ở những quốc gia nào Derov Bot có sẵn?", + "-213872712": "Không, chúng tôi không cung cấp giao dịch tiền điện tử trên Deriv Bot.", + "-2147346223": "Deriv Bot có mặt ở những quốc gia nào?", "-352345777": "Các chiến lược nào là phổ biến nhất để giao dịch tự động?", - "-552392096": "Ba trong số các chiến lược được sử dụng phổ biến nhất trong giao dịch tự động là Martingale, D'Alembert và Oscar Grind - bạn có thể tìm thấy tất cả chúng đã sẵn sàng và chờ bạn trong Div Bot.", + "-552392096": "3 trong số các chiến lược được sử dụng phổ biến nhất trong giao dịch tự động là Martingale, D'Alembert và Oscar Grind. Các chiến lược này đều đang có sẵn và chờ bạn tại Deriv Bot.", "-418247251": "Tải xuống nhật ký của bạn.", "-870004399": "<0>Đã mua: {{longcode}} (ID: {{transaction_id}})", "-1211474415": "Bộ lọc", @@ -2962,7 +2964,6 @@ "-222394569": "Derived Vanuatu", "-533935232": "BVI tài chính", "-565431857": "Financial Labuan", - "-1290112064": "Deriv EZ", "-291535132": "Tài khoản thử nghiệm không tính phí qua đêm", "-1472945832": "Tài khoản SVG không tính phí qua đêm", "-1669418686": "AUD/CAD", @@ -3312,6 +3313,7 @@ "-1647612934": "Chênh lệch từ", "-1587894214": "về quy trình xác minh.", "-466784048": "Ủy ban giám sát/EDR", + "-1920034143": "Tổng hợp, chỉ số giỏ hàng và mô phỏng FX", "-1326848138": "British Virgin Islands Financial Services Commission (giấy phép số SIBA/L/18/1114)", "-777580328": "Forex, Cổ phiếu, Chỉ số chứng khoán, Hàng hóa và Tiền điện tử", "-1372141447": "Xử lý trực tiếp", @@ -3346,7 +3348,7 @@ "-1647569139": "Chỉ số tổng hợp, Giỏ chỉ số, Derived FX mô phỏng, Forex: Tiêu chuẩn/Micro, Chứng khoán, Chỉ số chứng khoán, Hàng hóa, Tiền điện tử", "-2102641225": "Khi ngân hàng hoán đổi lãi suất, thanh khoản trên thị trường forex bị giảm và có thể làm tăng biên lãi và tăng thời gian xử lý cho các lệnh của khách hàng. Điều này xảy ra vào khoảng 21:00 GMT trong quy ước giờ mùa hè và 22:00 GMT trong quy ước giờ mùa đông.", "-495364248": "Mức gọi ký quỹ và mức dừng giao dịch sẽ thay đổi theo thời gian dựa trên điều kiện thị trường.", - "-536189739": "Để bảo vệ danh mục đầu tư của bạn khỏi những biến động bất lợi của thị trường do khoảng nghỉ giữa thời gian mở và đóng cửa, chúng tôi có quyền giảm đòn bẩy đối với tất cả các mã giao dịch trong tài khoản tài chính trước khi thị trường đóng cửa và tăng trở lại sau khi mở cửa thị trường. Vui lòng đảm bảo rằng bạn có đủ tiền trong tài khoản {{platform}} của bạn để hỗ trợ giao dịch mọi lúc.", + "-536189739": "Để bảo vệ danh mục đầu tư của bạn khỏi những biến động bất lợi của thị trường do khoảng nghỉ giữa thời gian mở và đóng cửa, chúng tôi có quyền giảm đòn bẩy đối với tất cả các mã chứng khoán trong tài khoản tài chính trước khi thị trường đóng cửa và tăng trở lại sau khi mở cửa thị trường. Vui lòng đảm bảo rằng bạn có đủ tiền trong tài khoản {{platform}} của bạn để hỗ trợ giao dịch mọi lúc.", "-712681566": "Trao đổi ngang hàng (P2P)", "-1267880283": "Cần có thông tin {{field_name}}", "-2084509650": "{{field_name}} không được định dạng đúng.", @@ -3409,8 +3411,12 @@ "-479119833": "Chọn công ty giám sát cho tài khoản Deriv MT5 {{account_type}} của bạn", "-450424792": "Bạn cần một tài khoản thực (tiền tệ hoặc tiền điện tử) với Deriv để tạo một tài khoản Deriv MT5 thực.", "-1760596315": "Tạo một tài khoản Deriv", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "Sử dụng mật khẩu này để đăng nhập vào các tài khoản Deriv X của bạn trên máy tính, trang web và các ứng dụng điện thoại.", "-1814308691": "Vui lòng nhấp vào liên kết trong email của bạn để đổi mật khẩu {{platform}}.", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "Không {{barrier}}", "-968190634": "Bằng {{barrier}}", "-1747377543": "Dưới {{barrier}}", @@ -3488,7 +3494,7 @@ "-1598433845": "Nếu bạn chọn \"Xuống (Down)\", hợp đồng quyền chọn của bạn sẽ sinh lời khi giá thị trường thấp hơn giá vào tại thời điểm hết hợp đồng.", "-885323297": "Có rất nhiều tham số tùy chọn cho mỗi vị thế mà bạn mở:", "-584696680": "Nếu bạn chọn \"Chốt lời\" và đưa ra số tiền lời cụ thể bạn muốn kiếm được, vị thế của bạn sẽ tự động đóng khi số lời của bạn lớn hơn hoặc bằng giá trị này. Số tiền lời thực tế của bạn có thể sẽ lớn hơn giá trị bạn đặt ra do phụ thuộc vào giá thị trường tại thời điểm đóng vị thế.", - "-1192494358": "Nếu bạn chọn “Deal cancellation”, bạn sẽ có thể hủy giao dịch của bạn trong một khung thời gian đã chọn nếu thị trường di chuyển trái với lợi ích của bạn. Chúng tôi sẽ tính một khoản phí nhỏ cho việc này, nhưng chúng tôi sẽ trả lại số tiền đặt cọc của bạn mà không có lợi nhuận hoặc mất mát. Nếu số tiền dừng được đạt trước khi hủy giao dịch hết hạn, vị thế của bạn sẽ bị hủy tự động và chúng tôi sẽ trả lại số tiền đặt cọc của bạn mà không có lợi nhuận hoặc mất mát.", + "-1192494358": "Nếu bạn chọn “Hủy giao dịch”, bạn sẽ có thể hủy giao dịch trong khung thời gian đã chọn nếu thị trường biến động trái ngược với dự đoán của bạn. Chúng tôi sẽ tính một khoản phí nhỏ cho việc này, nhưng chúng tôi sẽ trả lại số tiền cược của bạn mà không có bất kỳ khoản lời hay lỗ nào. Nếu đạt tới khoản dừng giao dịch trước khi lệnh hủy giao dịch hết hạn, vị thế của bạn sẽ tự động đóng và chúng tôi sẽ trả lại khoản tiền cược của bạn mà không có bất kỳ khoản lời hay lỗ nào.", "-178096090": "Không thể thay đổi mức \"Chốt lời\". Bạn chỉ có thể cập nhật khi lệnh \"Hủy giao dịch\" hết hạn.", "-206909651": "Điểm vào là giá thị trường khi hợp đồng được xử lý bởi máy chủ của chúng tôi.", "-351875097": "Số tick", @@ -3514,7 +3520,7 @@ "-338707425": "Thời lượng tối thiểu là 1 ngày", "-1003473648": "Thời lượng: {{duration}} ngày", "-700280380": "Phí hủy giao dịch", - "-194424366": "trên", + "-1669741470": "Khoản thanh toán khi hết hạn bằng với khoản thanh toán trên mỗi điểm nhân với chênh lệch giữa giá cuối cùng và giá thực hiện.", "-1527492178": "Tính năng mua bị khóa", "-725375562": "Bạn có thể khóa/mở khóa nút mua trong phần Cài đặt", "-2131851017": "Tốc độ tăng trưởng", @@ -3524,11 +3530,11 @@ "-511541916": "Hợp đồng của bạn sẽ tự động đóng khi đạt đến số tick này.", "-1918235233": "Số tiền cược tối thiểu", "-1935239381": "Số tiền cược tối đa", - "-1930565757": "Số tiền cược của bạn là khoản phí chỉ trả một lần và không hoàn lại để mua hợp đồng này. Tổng lợi nhuận/lỗ của bạn sẽ bằng giá trị hợp đồng trừ đi số tiền cược.", "-434270664": "Giá hiện tại", "-1956787775": "Giá ngưỡng:", "-1513281069": "Ngưỡng 2", "-390994177": "Nên ở giữa {{min}} và {{max}}", + "-1804019534": "Ngày hết hạn: {{date}}", "-2055106024": "Chuyển đổi giữa cài đặt thời lượng nâng cao và đơn giản", "-1012793015": "Thời gian kết thúc", "-2037881712": "Hợp đồng của bạn sẽ tự động đóng ở mức giá tài sản tiếp theo trên <0>.", @@ -3538,21 +3544,20 @@ "-1043117679": "Khi khoản lỗ hiện tại của bạn bằng hoặc vượt quá {{stop_out_percentage}}% mức cược của bạn, hợp đồng của bạn sẽ tự động đóng ở mức giá tài sản hiện có gần nhất.", "-339236213": "Cấp số nhân", "-857660728": "Giá thực hiện", - "-119134980": "<0>{{trade_type}}: Bạn sẽ nhận được tiền chi trả nếu giá thị trường {{payout_status}} giá này <0> tại thời điểm hết hạn hợp đồng. Nếu ngược lại, bạn sẽ không nhận được bất cứ khoản chi trả nào.", + "-194424366": "trên", "-243332856": "Số liệu về chữ số cuối cùng của 1000 tick mới nhất cho {{ underlying_name }}", - "-1900883796": "<0>{{trade_type}}: Bạn sẽ nhận được tiền chi trả nếu giá thị trường {{payout_status}} giá này <0> tại thời điểm hết hạn hợp đồng. Nếu ngược lại, bạn sẽ không nhận được bất cứ khoản chi trả nào.", "-347156282": "Gủi bằng chứng", "-1738427539": "Mua", - "-1937372493": "Bạn có thể đóng giao dịch của bạn bất cứ lúc nào. Tuy nhiên, hãy nhận thức được nguy <0>cơ trượt giá. <0/>", + "-1937372493": "Bạn có thể đóng giao dịch của bạn bất cứ lúc nào. Tuy nhiên, sẽ có <0>nguy cơ trượt giá<0/>.", "-1422269966": "Bạn có thể chọn tốc độ tăng trưởng với các giá trị 1%, 2%, 3%, 4% và 5%.", - "-1186791513": "Payout là tổng số tiền cược và lợi nhuận ban đầu của bạn.", - "-1682624802": "Đó là một tỷ lệ phần trăm của giá giao ngay trước đó. Tỷ lệ phần trăm dựa trên sự lựa chọn của bạn về chỉ số và tốc độ tăng trưởng.", + "-1186791513": "Khoản chi trả là tổng số tiền cược ban đầu và lợi nhuận của bạn.", + "-1682624802": "Đó là tỷ lệ phần trăm của giá giao ngay trước đó. Tỷ lệ phần trăm dựa trên sự lựa chọn của bạn về chỉ số và tốc độ tăng trưởng.", "-1221049974": "Giá cuối cùng", "-1247327943": "Đây là giá giao ngay của tick cuối cùng vào lúc hết hạn.", - "-878534036": "Nếu bạn chọn “Gọi”, bạn sẽ nhận được một khoản thanh toán nếu giá cuối cùng cao hơn giá thực hiện vào thời điểm hết hạn. Nếu không, bạn sẽ không nhận được khoản thanh toán.", - "-1587076792": "Nếu bạn chọn “Put”, bạn sẽ nhận được một khoản thanh toán nếu giá cuối cùng thấp hơn giá đình công vào thời điểm hết hạn. Nếu không, bạn sẽ không nhận được khoản thanh toán.", - "-1482134885": "Chúng tôi tính toán điều này dựa trên giá đình công và thời gian bạn đã chọn.", - "-1890561510": "Thời gian cắt", + "-878534036": "Nếu bạn chọn quyền chọn “Mua (Call)\", hợp đồng quyền chọn của bạn sẽ sinh lời nếu giá cuối cùng cao hơn giá thực hiện vào thời điểm hết hạn. Nếu ngược lại, hợp đồng quyền chọn của bạn sẽ không sinh lời.", + "-1587076792": "Nếu bạn chọn quyền chọn “Bán (Put)\", hợp đồng quyền chọn của bạn sẽ sinh lời nếu giá cuối cùng thấp hơn giá thực hiện vào thời điểm hết hạn hợp đồng. Nếu ngược lại, hợp đồng quyền chọn của bạn sẽ không sinh lời.", + "-1482134885": "Chúng tôi tính toán con số này dựa trên giá thực hiện và thời hạn hợp đồng bạn đã chọn.", + "-1890561510": "Thời gian chốt", "-565990678": "Hợp đồng của bạn sẽ hết hạn vào ngày này (theo giờ GMT), dựa trên thời gian kết thúc bạn đã chọn.", "-461955353": "giá mua", "-172348735": "lợi nhuận", @@ -3740,7 +3745,7 @@ "-982729677": "Đổi sang mốc thời gian", "-311268215": "Khung này chuyển đổi một chuỗi văn bản đại diện cho ngày và thời gian thành giây kể từ Unix Epoch (ngày 1 tháng 1 năm 1970). Thời gian và múi giờ bù là tùy chọn. Ví dụ: 2019-01-01 21:03:45 GMT +0800 sẽ được chuyển đổi thành 1546347825.", "-1797602591": "Cắt lỗ: {{ currency }} {{ stop_loss }}", - "-1374685318": "Hợp đồng của bạn được đóng tự động khi thua lỗ của bạn lớn hơn hoặc bằng với số tiền này. Khối này chỉ có thể được sử dụng với kiểu thương mại nhân.", + "-1374685318": "Hợp đồng của bạn sẽ tự động đóng khi số thua lỗ của bạn lớn hơn hoặc bằng số tiền này. Khung này chỉ có thể được sử dụng với giao dịch cấp số nhân.", "-1214929127": "Số cắt lỗ phải là một số dương.", "-780745489": "Nếu loại hợp đồng là “Cả hai”, thì Điều kiện mua phải bao gồm cả tăng và giảm bằng cách sử dụng “Khối điều kiện”", "-2142851225": "Giao dịch quyền chọn cấp số nhân", diff --git a/packages/translations/src/translations/zh_cn.json b/packages/translations/src/translations/zh_cn.json index b46a4651f345..1962240f3922 100644 --- a/packages/translations/src/translations/zh_cn.json +++ b/packages/translations/src/translations/zh_cn.json @@ -32,6 +32,7 @@ "45453595": "Binary 硬币", "45941470": "您想从哪里开始?", "46523711": "您的身份证明已通过验证", + "49404821": "如果买入 “<0>{{trade_type}}” 期权,当最终价格为行权价的 {{payout_status}} ,则到期时将获得赔付。否则,“<0>{{trade_type}}” 期权将一文不值地过期。", "49963458": "选择期权", "50200731": "外汇主要货币对(标准/微手)、外汇次要货币对、篮子指数、大宗商品、和加密货币", "53801223": "香港 50", @@ -122,7 +123,6 @@ "158373715": "退出浏览", "160746023": "泰达作为 Omni 代币(USDT)是托管在比特币区块链 Omni 层的泰达币版本。", "160863687": "未检测到相机", - "162080773": "看跌期权", "164112826": "此程序块允许您从URL载入您在远程服务器保存的程序块(如有)。只有当您的机器人操作时才能载入。", "164564432": "由于系统维护,暂时无法存款。一旦维护完成,您即可存款。", "165294347": "请前往账户设置并设置居住国/地区以访问收银台。", @@ -410,7 +410,7 @@ "480356486": "*兴旺 300 和 崩盘 300 指数", "481276888": "处于区间之外", "483279638": "评估已完成<0/><0/>", - "483551811": "你的<0>赔款是你的初始赌注和利润之和。", + "483551811": "<0>赔付额是初始投注额和利润之和。", "483591040": "删除所有 {{ delete_count }} 程序块?", "485379166": "查看交易", "487239607": "将指定的真或假转换为相反的值", @@ -423,6 +423,7 @@ "498144457": "近期的水电煤费单(例如电费、水费或煤气费)", "498562439": "或", "499522484": "1. \"字符串\": 1325.68 美元", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "首席执行官、高级官员和立法会议员", "500920471": "此程序块执行两个数之间的算术操作", "501401157": "您只能存款", @@ -433,7 +434,7 @@ "505793554": "最后一个字母", "508390614": "演示金融 STP", "510815408": "仅字母、数字、空格、连字符", - "511679687": "累积器允许你对一个指数的运动范围发表看法,并以固定的<0>增长率使你的股份成倍增长。", + "511679687": "累积器允许对指数的运动范围发表看法,并以固定的<0>增长率使投注额成倍增长。", "514031715": "列表 {{ input_list }} 为空", "514776243": "您的{{account_type}} 密码已被更改。", "514948272": "复制链接", @@ -518,6 +519,7 @@ "611020126": "查看区块链上的地址", "611786123": "外汇-主要货币对(标准/微手)、 外汇-次要货币对、大宗商品、加密货币、股票和股票指数", "617345387": "如果您选择“重置-上涨”,只要退市现价严格高于入市现价或重置时现货价,您将获得赔付。", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "剪切文件示例", "619268911": "<0>a.金融委员会将在5个工作日内调查投诉的有效性。", "619407328": "是否确认与{{identifier_title}} 解除链接?", @@ -897,7 +899,6 @@ "1038575777": "更改密码", "1039428638": "欧盟法规", "1039755542": "用几个词,避免常用短语", - "1040053469": "对于看涨期权", "1040472990": "1. 前往机器人生成器。", "1040677897": "如要继续交易,您必须也提交地址证明。", "1041001318": "此程序块对给定列表执行以下操作:总和、最小值、最大值、平均值、中位数、众数、反众数、标准差、随机项。", @@ -1819,7 +1820,7 @@ "1995023783": "地址第一行*", "1996767628": "请确认您的税务信息.", "1997138507": "如果最后跳动点等于平均跳动点,您将不会赢得赔付。", - "1997313835": "只要当前的现货价格与<0>之前的现货价格保持在一个特定的<0>范围内,你的股权就会继续增长。否则,你将失去你的股份,交易终止。", + "1997313835": "只要当前的现货价格与<0>之前的现货价格保持在特定的<0>范围内,投注额就会继续增长。否则,将失去投注额,交易终止。", "1998199587": "您还可以在指定的时间内完全禁止自己交易。如果您决定在任何时候再次交易,则必须与我们的客户支持部联系以删除此自我禁止功能。需要等24小时冷静期过后才能恢复交易。 ", "2001222130": "查看垃圾或广告文件夹。如还是没看到,请试试重新发送邮件。", "2004395123": "MT5 新交易工具", @@ -1832,7 +1833,6 @@ "2010866561": "返回总利润/亏损", "2011609940": "请输入大于0的数字", "2011808755": "买入时间", - "2012110280": "综合资产、篮子指数和衍生外汇", "2014536501": "卡号", "2014590669": "变量 '{{variable_name}}' 无数值。请为变量 '{{variable_name}}' 设置数值以通知。", "2017672013": "请选择文件签发国.", @@ -1876,7 +1876,6 @@ "2059365224": "是的,可以使用快速策略功能开始使用预建机器人。可以在这里找到一些最受欢迎的交易策略:Martingale、D'Alembert 和 Oscar's Grind。只需选择策略,输入交易参数,即可创建机器人。以后可以随时调整参数。", "2059753381": "为什么验证失败?", "2060873863": "订单 {{order_id}} 已完成", - "2062299501": "<0>对于 {{title}}:行权价每增加一个点 {{trade_type}} ,赔付额将以相同数额增加。当赔付高于投注时,将开始获利。", "2062912059": "功能 {{ function_name }} {{ function_params }}", "2063655921": "透过购入“收盘至最低值”合约,您将赢取合约期间内乘数值乘以收盘与最低值之间的差额。", "2063812316": "文本声明", @@ -2479,6 +2478,7 @@ "-81256466": "需有 Deriv 账户才能开立差价合约账户。", "-699372497": "利用杠杆和低价差进行交易,以在成功交易时获得更高回报。<0>了解更多", "-1884966862": "获取更多具有不同类型和司法管辖区的 Deriv MT5 账户。", + "-596618970": "Other CFDs", "-982095728": "获取", "-1277942366": "总资产", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "差价合约 <0>{{compare_accounts_title}}", "-318106501": "在 MT5 交易综合资产、篮子和衍生外汇差价合约。", "-1328701106": "在 MT5 交易外汇、股票、股票指数、综合指数、加密货币和大宗商品的差价合约。", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "选择法规", "-249184528": "可以根据欧盟或非欧盟法规开立真实账户。点击<0><0/>图标了解有关这些账户的更多信息。", "-1505234170": "Trader's Hub 浏览", @@ -2962,7 +2964,6 @@ "-222394569": "瓦努阿图衍生资产", "-533935232": "金融 BVI", "-565431857": "金融纳闽", - "-1290112064": "Deriv EZ", "-291535132": "无掉期费演示", "-1472945832": "无掉期费 SVG", "-1669418686": "澳元/加元", @@ -3312,6 +3313,7 @@ "-1647612934": "价差来自", "-1587894214": "关于需要验证的信息。", "-466784048": "监管机构/EDR", + "-1920034143": "综合资产、篮子指数和衍生外汇", "-1326848138": "英属维尔京群岛金融服务委员会(许可证号 SIBA/L/18/1114)", "-777580328": "外汇、股票、股票指数、大宗商品和加密货币", "-1372141447": "直通式处理", @@ -3409,8 +3411,12 @@ "-479119833": "为 Deriv MT5 {{account_type}} 账户选择司法管辖区", "-450424792": "您需拥有 Deriv 真实账户(法定货币或加密货币)以开立Deriv MT5真实账户。", "-1760596315": "开立Deriv账户", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "用此密码登录网络和手机应用上的 Deriv X 账户。", "-1814308691": "请单击邮件上的链接以更改 {{platform}} 密码。", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "不是 {{barrier}}", "-968190634": "等于 {{barrier}}", "-1747377543": "低于 {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "最小持续时间是1天", "-1003473648": "持续时间:{{duration}} 天", "-700280380": "交易取消. 费用", - "-194424366": "高于", + "-1669741470": "到期时的赔付额等于每点赔付乘以最终价格与行权价格之间的差额。", "-1527492178": "买入被锁定", "-725375562": "购入按钮可在设置菜单上锁定/解锁", "-2131851017": "增长率", @@ -3524,11 +3530,11 @@ "-511541916": "达到此价格跳动次数时,合约将自动平仓。", "-1918235233": "最低投注金额", "-1935239381": "最大投注金额", - "-1930565757": "购买此合约时,投注额是不可退还的一次性付费。总利润/亏损等于合约值减去投注额。", "-434270664": "当前价格", "-1956787775": "障碍价格:", "-1513281069": "障碍2", "-390994177": "必须介于 {{min}} 和 {{max}} 之间", + "-1804019534": "到期日: {{date}}", "-2055106024": "高级和简单持续时间设置之间切换", "-1012793015": "结束时间", "-2037881712": "<0>时合约将以下一个可用的资产价自动关闭。", @@ -3538,12 +3544,11 @@ "-1043117679": "当您当前的亏损等于或超过您投注额的{{stop_out_percentage}}%时,您的合约将以最接近的可用资产价格平仓。", "-339236213": "乘数期权", "-857660728": "行权价格", - "-119134980": "<0>{{trade_type}}:到期时如果市场价格为 {{payout_status}} <0>,将获得赔付。否则,赔付将为零。", + "-194424366": "高于", "-243332856": "{{ underlying_name }} 最新1000 跳点的最后统计数字", - "-1900883796": "<0>{{trade_type}}:到期时如果市场为 {{payout_status}} 价<0>,将获得赔付。否则,赔付将为零。", "-347156282": "提交证明", "-1738427539": "买入", - "-1937372493": "你可以随时关闭你的交易。然而,要注意<0>滑点风险<0/> 。", + "-1937372493": "可以随时关闭交易。然而,要注意<0>滑点风险<0/> 。", "-1422269966": "可以选择值为 1%、2%、3%、4% 和 5% 的增长率。", "-1186791513": "赔付额是初始投注额和利润之和。", "-1682624802": "它是之前现货价格的百分比。百分比率取决于选择的指数和增长率。", diff --git a/packages/translations/src/translations/zh_tw.json b/packages/translations/src/translations/zh_tw.json index 7defd5530145..95611b0f938d 100644 --- a/packages/translations/src/translations/zh_tw.json +++ b/packages/translations/src/translations/zh_tw.json @@ -32,6 +32,7 @@ "45453595": "Binary 硬幣", "45941470": "您想從哪裡開始?", "46523711": "您的身份證明已通過驗證", + "49404821": "如果購買了「<0>{{trade_type}}」期權,當最終價格為行權價的 {{payout_status}} ,則會在到期時收到賠付。否則,「<0>{{trade_type}}」期權將毫無價值地過期。", "49963458": "選擇期權", "50200731": "外匯主要貨幣對(標準/微手)、外匯次要貨幣對、籃子指數、大宗商品、和加密貨幣", "53801223": "香港 50", @@ -122,7 +123,6 @@ "158373715": "退出瀏覽", "160746023": "泰達作為 Omni 代幣(USDT)是託管在比特幣區塊鏈 Omni 層的泰達幣版本。", "160863687": "未偵測到相機", - "162080773": "看跌期權", "164112826": "此區塊允許您從URL載入您在遠程伺服器儲存的區塊(如有)。只有當機器人操作時才能載入。", "164564432": "由於系統維護,暫時無法存款。一旦維護完成,即可存款。", "165294347": "請前往帳戶設定並設定居住國/地區以存取收銀台。", @@ -410,7 +410,7 @@ "480356486": "* 興旺 300 和崩盤 300 指數", "481276888": "處於區間之外", "483279638": "已完成評估<0/><0/>", - "483551811": "您的<0>支付是您的初期股份和利潤的總和。", + "483551811": "<0>賠付額是初始投注額和利潤之和。", "483591040": "刪除所有 {{ delete_count }} 區塊?", "485379166": "檢視交易", "487239607": "將指定的真或假轉換為相反的值", @@ -423,6 +423,7 @@ "498144457": "近期的水電煤費單(例如電費、水費或煤氣費)", "498562439": "或", "499522484": "1. \"字串\": 1325.68 美元", + "500215405": "Server maintenance starts at 01:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.", "500855527": "執行長、高級官員和立法委員", "500920471": "此區塊執行兩個數之間的算術操作。", "501401157": "您只能存款", @@ -433,7 +434,7 @@ "505793554": "最後一個字母", "508390614": "示範金融 STP", "510815408": "只能包含字母、數字、空格、連字號", - "511679687": "累加器允許您表達對指數變動範圍的看法,並以固定<0>增長率成倍增長您的股份。", + "511679687": "累加器允許表達對指數變動範圍的看法,並讓賠付額以固定<0>增長率成倍增長。", "514031715": "清單 {{ input_list }} 為空", "514776243": "{{account_type}} 密碼已被更改。", "514948272": "複製連結", @@ -518,6 +519,7 @@ "611020126": "檢視區塊鏈上的地址", "611786123": "外匯-主要貨幣對(標準/微手)、 外匯-次要貨幣對、大宗商品、加密貨幣、股票和股票指數", "617345387": "如果您選擇「重設-上漲」,只要退市現價嚴格高於入市現價或重設時現貨價,您將獲得賠付。", + "617910072": "Use your Deriv account email and password to login into the {{ platform }} platform.", "618520466": "剪切文件示例", "619268911": "<0>a.金融委員會將在5個工作日內調查投訴的有效性。", "619407328": "是否確認與 {{identifier_title}} 解除連結?", @@ -897,7 +899,6 @@ "1038575777": "更改密碼", "1039428638": "歐盟法規", "1039755542": "用幾個詞,避免常用短語", - "1040053469": "對於看漲期權", "1040472990": "1. 轉到機器人產生器。", "1040677897": "如要繼續交易,必須也提交地址證明。", "1041001318": "此區塊對給定清單執行以下操作:總和、最小值、最大值、平均值、中位數、眾數、反眾數、標準差、隨機項。", @@ -1819,7 +1820,7 @@ "1995023783": "地址第一行*", "1996767628": "請確認稅務資訊。", "1997138507": "如果最後跳動點等於平均跳動點,將不會贏得賠付。", - "1997313835": "只要當前現貨價格保持在與<0>上一個現貨價格相比的指定<0>範圍內,您的本金將繼續增長。否則,您將失去股份並終止交易。", + "1997313835": "只要當前現貨價格與<0>上一個現貨價格保持在同一個指定<0>範圍內,投注額將繼續增長。否則,將失去投注額並終止交易。", "1998199587": "還可以在指定的時間內完全禁止自己交易。如果決定在任何時候再次交易,則必須與客戶支援部聯繫以刪除此自我禁止功能。需要等24小時冷靜期過後才能恢復交易。 ", "2001222130": "查看垃圾或廣告資料夾。如還是沒看到,請試試重新傳送郵件。", "2004395123": "MT5 新交易工具", @@ -1832,7 +1833,6 @@ "2010866561": "返回總利潤/虧損", "2011609940": "請輸入大於0的數字", "2011808755": "買入時間", - "2012110280": "綜合資產、籃子指數和衍生外匯", "2014536501": "卡號", "2014590669": "變數 '{{variable_name}}' 無數值。請為變數 '{{variable_name}}' 設定數值以通知。", "2017672013": "請選擇文件簽發國。", @@ -1876,7 +1876,6 @@ "2059365224": "是的,可以使用快速策略功能開始使用預建機器人。這裡可找到一些最受歡迎的交易策略:Martingale、D'Alembert 和 Oscar's Grind。只需選擇策略,輸入交易參數,即可建立機器人。隨時可以稍後調整參數。", "2059753381": "為什麼驗證失敗?", "2060873863": "訂單 {{order_id}} 已完成", - "2062299501": "<0>對於 {{title}}:行權價每增加一個點 {{trade_type}} ,賠付額將以相同數額增加。當賠付高於投注時,將開始獲利。", "2062912059": "功能 {{ function_name }} {{ function_params }}", "2063655921": "透過購入「收盤至最低值」 合約,將贏取合約期間內乘數值乘以收盤與最低值之間的差額。", "2063812316": "文字聲明", @@ -2479,6 +2478,7 @@ "-81256466": "需有 Deriv 帳戶才能開立差價合約帳戶。", "-699372497": "利用槓桿和低點差進行交易,以在成功交易時獲得更高回報。<0>了解更多", "-1884966862": "獲取更多具有不同類型和司法管轄區的 Deriv MT5 帳戶。", + "-596618970": "Other CFDs", "-982095728": "獲取", "-1277942366": "總資產", "-1255879419": "Trader's Hub", @@ -2496,6 +2496,8 @@ "-1814994113": "差價合約 <0>{{compare_accounts_title}}", "-318106501": "在 MT5 交易綜合資產、籃子和衍生外匯的差價合約。", "-1328701106": "在 MT5 交易外匯、股票、股票指數、綜合指數、加密貨幣和大宗商品差價合約。", + "-1290112064": "Deriv EZ", + "-1453519913": "Trade CFDs on an easy-to-get-started platform with all your favourite assets.", "-2146691203": "選擇法規", "-249184528": "可以根據歐盟或非歐盟法規開立真實帳戶。按一下<0><0/>圖示以進一步瞭解這些帳戶。", "-1505234170": "Trader's Hub 瀏覽", @@ -2962,7 +2964,6 @@ "-222394569": "萬那杜衍生資產", "-533935232": "金融 BVI", "-565431857": "金融納閩", - "-1290112064": "Deriv EZ", "-291535132": "無掉期費示範", "-1472945832": "無掉期費 SVG", "-1669418686": "澳元/加元", @@ -3312,6 +3313,7 @@ "-1647612934": "價差從", "-1587894214": "關於需要驗證的資訊。", "-466784048": "監管機構/EDR", + "-1920034143": "綜合資產、籃子指數和衍生外匯", "-1326848138": "英屬維爾京群島金融服務委員會 (執照編號 SIBA/L/18/1114)", "-777580328": "外匯、股票、股票指數、大宗商品和加密貨幣", "-1372141447": "直通式處理", @@ -3409,8 +3411,12 @@ "-479119833": "為 Deriv MT5 {{account_type}} 帳戶選擇管轄區", "-450424792": "需擁有 Deriv 真實帳戶(法定貨幣或加密貨幣)以建立真實 Deriv MT5 帳戶。", "-1760596315": "開立Deriv帳戶", + "-235472388": "Deriv {{platform}} {{is_demo}}", + "-525896186": "Download Deriv GO on your phone to trade with the Deriv EZ account", + "-346502452": "Download Deriv cTrader on your phone to trade with the Deriv cTrader account", "-648956272": "使用此密碼登入網絡和手機應用上的 Deriv X 帳戶.", "-1814308691": "請點選郵件上的連結以更改{{platform}} 密碼。", + "-601303096": "Scan the QR code to download Deriv {{ platform }}.", "-1282933308": "不是 {{barrier}}", "-968190634": "等於 {{barrier}}", "-1747377543": "低於 {{barrier}}", @@ -3514,7 +3520,7 @@ "-338707425": "最小持續時間是1天", "-1003473648": "持續時間: {{duration}} 天", "-700280380": "交易取消費用", - "-194424366": "高於", + "-1669741470": "到期時的賠付額等於每點賠付乘以最終價格與行權價格之間的差額。", "-1527492178": "買入被鎖定", "-725375562": "購入按鈕可在設定功能表上鎖定/解鎖", "-2131851017": "增長率", @@ -3524,11 +3530,11 @@ "-511541916": "達到此跳動點次數時,合約將自動平倉。", "-1918235233": "最低投注金額", "-1935239381": "最大投注金額", - "-1930565757": "購買此合約時,投注額是不可退還的一次性付費。總利潤/虧損等於合約值減去投注額。", "-434270664": "目前價格", "-1956787775": "障礙價格:", "-1513281069": "障礙 2", "-390994177": "必須介於 {{min}} 和 {{max}} 之間", + "-1804019534": "到期日: {{date}}", "-2055106024": "高級和簡單持續時間設定之間切換", "-1012793015": "結束時間", "-2037881712": "<0> 時合約將以下一個可用的資產價自動關閉。", @@ -3538,12 +3544,11 @@ "-1043117679": "當目前的虧損等於或超過投注額的{{stop_out_percentage}}%時,合約將以最接近的可用資產價格平倉。", "-339236213": "乘數期權", "-857660728": "行權價格", - "-119134980": "<0>{{trade_type}}:到期時如果市場價格為 {{payout_status}} <0>,將獲得賠付。 否則,賠付將為零。", + "-194424366": "高於", "-243332856": "{{ underlying_name }} 最新1000跳點之最後統計數字", - "-1900883796": "<0>{{trade_type}}:到期時如果市場為 {{payout_status}} 價<0>,將獲得賠付。 否則,賠付將為零。", "-347156282": "提交證明", "-1738427539": "買入", - "-1937372493": "您可以隨時關閉您的交易。但是,請注意<0>滑點風險。<0/>", + "-1937372493": "可以隨時關閉交易。但是,請注意<0>滑點風險<0/>。", "-1422269966": "可以選擇值為 1%、2%、3%、4% 和 5% 的增長率。", "-1186791513": "賠付額是初始投注額和利潤之和。", "-1682624802": "它是之前現貨價格的百分比。百分比率取決於選擇的指數和增長率。",