From 7d715f073a0b318f62d8160ac707f9cf7379887f Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 20 Jun 2019 17:39:58 +0800 Subject: [PATCH 01/38] misc block error --- src/botPage/view/blockly/blocks/trade/index.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 9468c61588..1b795554bf 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -107,6 +107,15 @@ Blockly.Blocks.trade = { resetTradeFields(this, ev); } decorateTrade(ev); + + // **index > 4** Initialization input start at 4 + this.getDescendants() + .filter((desc, index) => index > 4) + .forEach(desc => { + if (desc.type === 'total_runs' || desc.type === 'total_profit') { + desc.unplug(); + } + }); }, }; From 103a4214f6af1c33dc696a4105fc1e10915f3885 Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 20 Jun 2019 18:25:28 +0800 Subject: [PATCH 02/38] change method --- src/botPage/view/blockly/blocks/tools/total_profit.js | 10 ++++++++++ src/botPage/view/blockly/blocks/tools/total_runs.js | 10 ++++++++++ src/botPage/view/blockly/blocks/trade/index.js | 9 --------- src/botPage/view/blockly/relationChecker.js | 8 ++++++++ 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 87adb27986..643f4ca068 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -1,5 +1,6 @@ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#3bwqd4 import { translate } from '../../../../../common/i18n'; +import { beforeAuthenticate } from '../../relationChecker'; Blockly.Blocks.total_profit = { init: function init() { @@ -9,5 +10,14 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, + onchange: function onchange(ev) { + if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { + return; + } + + if (ev.type === Blockly.Events.MOVE) { + beforeAuthenticate(this); + } + }, }; Blockly.JavaScript.total_profit = () => ['Bot.getTotalProfit()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index 1bf170b3d2..c8a71a0efc 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -1,5 +1,6 @@ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#3bwqd4 import { translate } from '../../../../../common/i18n'; +import { beforeAuthenticate } from '../../relationChecker'; Blockly.Blocks.total_runs = { init: function init() { @@ -9,5 +10,14 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, + onchange: function onchange(ev) { + if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { + return; + } + + if (ev.type === Blockly.Events.MOVE) { + beforeAuthenticate(this); + } + }, }; Blockly.JavaScript.total_runs = () => ['Bot.getTotalRuns()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 1b795554bf..9468c61588 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -107,15 +107,6 @@ Blockly.Blocks.trade = { resetTradeFields(this, ev); } decorateTrade(ev); - - // **index > 4** Initialization input start at 4 - this.getDescendants() - .filter((desc, index) => index > 4) - .forEach(desc => { - if (desc.type === 'total_runs' || desc.type === 'total_profit') { - desc.unplug(); - } - }); }, }; diff --git a/src/botPage/view/blockly/relationChecker.js b/src/botPage/view/blockly/relationChecker.js index c4b03989da..02357c85fd 100644 --- a/src/botPage/view/blockly/relationChecker.js +++ b/src/botPage/view/blockly/relationChecker.js @@ -94,6 +94,14 @@ const insideMain = (blockObj, ev, name, topName, topDesc) => export const insideTrade = (...args) => insideMain(...args, 'trade', 'trade') && conditionFields(...args); +export const beforeAuthenticate = blockObj => { + const rootBlock = blockObj.getRootBlock(); + + if (rootBlock.type === 'trade') { + blockObj.unplug(); + } +}; + export const insideBeforePurchase = (...args) => insideMain(...args, 'before_purchase', 'Before Purchase'); export const insideDuringPurchase = (...args) => insideMain(...args, 'during_purchase', 'During Purchase'); From 1aa7da0fa50b3e30b97f5c9dc88b514fcc7fb1fd Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 25 Jun 2019 12:39:59 +0800 Subject: [PATCH 03/38] contract notify pip size --- src/botPage/view/logger.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/botPage/view/logger.js b/src/botPage/view/logger.js index 2f419bf3f2..ae366171ff 100644 --- a/src/botPage/view/logger.js +++ b/src/botPage/view/logger.js @@ -37,6 +37,10 @@ const isNewError = isNewMessage(); const notify = ({ className, message, position = 'left', sound = 'silent' }) => { if (message && (position === 'left' || isNewNotification(message))) { log(className, message); + if (typeof message === 'number') { + message = message.toFixed(4); + } + $.notify(message, { position: `bottom ${position}`, className }); if (sound !== 'silent') { $(`#${sound}`) From 276e125a8e1737bdd74268d7c1f3fafdc3d21898 Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 25 Jun 2019 13:55:23 +0800 Subject: [PATCH 04/38] resolve changes --- src/botPage/view/blockly/blocks/tools/total_profit.js | 8 ++++++-- src/botPage/view/blockly/blocks/tools/total_runs.js | 8 ++++++-- src/botPage/view/blockly/relationChecker.js | 8 -------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 643f4ca068..e73e2f18e5 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -10,13 +10,17 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: function onchange(ev) { + onchange: ev => { if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { return; } if (ev.type === Blockly.Events.MOVE) { - beforeAuthenticate(this); + const rootBlock = this.getRootBlock(); + + if (rootBlock.type === 'trade') { + this.unplug(); + } } }, }; diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index c8a71a0efc..861e07c210 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -10,13 +10,17 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: function onchange(ev) { + onchange: ev => { if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { return; } if (ev.type === Blockly.Events.MOVE) { - beforeAuthenticate(this); + const rootBlock = this.getRootBlock(); + + if (rootBlock.type === 'trade') { + this.unplug(); + } } }, }; diff --git a/src/botPage/view/blockly/relationChecker.js b/src/botPage/view/blockly/relationChecker.js index 02357c85fd..c4b03989da 100644 --- a/src/botPage/view/blockly/relationChecker.js +++ b/src/botPage/view/blockly/relationChecker.js @@ -94,14 +94,6 @@ const insideMain = (blockObj, ev, name, topName, topDesc) => export const insideTrade = (...args) => insideMain(...args, 'trade', 'trade') && conditionFields(...args); -export const beforeAuthenticate = blockObj => { - const rootBlock = blockObj.getRootBlock(); - - if (rootBlock.type === 'trade') { - blockObj.unplug(); - } -}; - export const insideBeforePurchase = (...args) => insideMain(...args, 'before_purchase', 'Before Purchase'); export const insideDuringPurchase = (...args) => insideMain(...args, 'during_purchase', 'During Purchase'); From c8281ecad42777c3f66585f18aea47213ae0cca9 Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 25 Jun 2019 13:59:10 +0800 Subject: [PATCH 05/38] eslint --- src/botPage/view/blockly/blocks/tools/total_profit.js | 1 - src/botPage/view/blockly/blocks/tools/total_runs.js | 1 - 2 files changed, 2 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index e73e2f18e5..05f0e437da 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -1,6 +1,5 @@ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#3bwqd4 import { translate } from '../../../../../common/i18n'; -import { beforeAuthenticate } from '../../relationChecker'; Blockly.Blocks.total_profit = { init: function init() { diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index 861e07c210..dd0de8e402 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -1,6 +1,5 @@ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#3bwqd4 import { translate } from '../../../../../common/i18n'; -import { beforeAuthenticate } from '../../relationChecker'; Blockly.Blocks.total_runs = { init: function init() { From 4719026a6c5aacc6d8d565c878da0fd55cb30c51 Mon Sep 17 00:00:00 2001 From: McSam Date: Wed, 26 Jun 2019 10:11:19 +0800 Subject: [PATCH 06/38] last tick string & tick list string --- src/botPage/bot/TradeEngine/Ticks.js | 27 ++++++++++++++----- src/botPage/common/const.js | 2 ++ src/botPage/view/blockly/blocks/ticks/tick.js | 14 +++++++++- .../view/blockly/blocks/ticks/ticks.js | 14 +++++++++- src/botPage/view/logger.js | 3 --- static/xml/toolbox.xml | 2 ++ 6 files changed, 51 insertions(+), 11 deletions(-) diff --git a/src/botPage/bot/TradeEngine/Ticks.js b/src/botPage/bot/TradeEngine/Ticks.js index edb85321d9..4465398097 100644 --- a/src/botPage/bot/TradeEngine/Ticks.js +++ b/src/botPage/bot/TradeEngine/Ticks.js @@ -31,18 +31,33 @@ export default Engine => tickListenerKey = key; } } - getTicks() { + getTicks(toString = false) { return new Promise(resolve => - this.$scope.ticksService - .request({ symbol: this.symbol }) - .then(ticks => resolve(ticks.map(o => o.quote))) + this.$scope.ticksService.request({ symbol: this.symbol }).then(ticks => + resolve( + ticks.map(o => { + if (toString) { + return o.quote.toFixed(this.getPipSize()); + } + return o.quote; + + }) + ) + ) ); } - getLastTick(raw) { + getLastTick(raw, toString = false) { return new Promise(resolve => this.$scope.ticksService .request({ symbol: this.symbol }) - .then(ticks => resolve(raw ? getLast(ticks) : getLast(ticks).quote)) + .then(ticks => raw ? getLast(ticks) : getLast(ticks).quote) + .then(lastTick => { + if (toString && !raw) { + resolve(lastTick.toFixed(this.getPipSize())); + } else { + resolve(lastTick); + } + }) ); } getLastDigit() { diff --git a/src/botPage/common/const.js b/src/botPage/common/const.js index 844e3fa331..a35f5888bb 100644 --- a/src/botPage/common/const.js +++ b/src/botPage/common/const.js @@ -21,8 +21,10 @@ const config = { [translate('contract type'), '5'], [translate('entry spot'), '6'], [translate('entry value'), '7'], + [translate('entry value string'), '12'], [translate('exit spot'), '8'], [translate('exit value'), '9'], + [translate('exit value string'), '13'], [translate('barrier'), '10'], [translate('result'), '11'], ], diff --git a/src/botPage/view/blockly/blocks/ticks/tick.js b/src/botPage/view/blockly/blocks/ticks/tick.js index b449db3bb2..070f535cde 100644 --- a/src/botPage/view/blockly/blocks/ticks/tick.js +++ b/src/botPage/view/blockly/blocks/ticks/tick.js @@ -14,4 +14,16 @@ Blockly.Blocks.tick = { mainScope(this, ev, 'Tick Value'); }, }; -Blockly.JavaScript.tick = () => ['Bot.getLastTick()', Blockly.JavaScript.ORDER_ATOMIC]; +Blockly.JavaScript.tick = () => ['Bot.getLastTick(false, false)', Blockly.JavaScript.ORDER_ATOMIC]; + +Blockly.Blocks.tick_string = { + init: function init() { + this.appendDummyInput().appendField(translate('Last Tick String')); + this.setOutput(true, 'Number'); + this.setColour('#f2f2f2'); + this.setTooltip(translate('Returns the tick value received by a before purchase block (String)')); + this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); + }, + onchange: Blockly.Blocks.tick.onchange, +}; +Blockly.JavaScript.tick_string = () => ['Bot.getLastTick(false, true)', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/ticks/ticks.js b/src/botPage/view/blockly/blocks/ticks/ticks.js index e36cbf7230..54d126640d 100644 --- a/src/botPage/view/blockly/blocks/ticks/ticks.js +++ b/src/botPage/view/blockly/blocks/ticks/ticks.js @@ -14,4 +14,16 @@ Blockly.Blocks.ticks = { mainScope(this, ev, 'Ticks List'); }, }; -Blockly.JavaScript.ticks = () => ['Bot.getTicks()', Blockly.JavaScript.ORDER_ATOMIC]; +Blockly.JavaScript.ticks = () => ['Bot.getTicks(false)', Blockly.JavaScript.ORDER_ATOMIC]; + +Blockly.Blocks.ticks_string = { + init: function init() { + this.appendDummyInput().appendField(translate('Ticks String List')); + this.setOutput(true, 'Array'); + this.setColour('#f2f2f2'); + this.setTooltip(translate('Returns the list of tick values (String)')); + this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); + }, + onchange: Blockly.Blocks.ticks.onchange, +}; +Blockly.JavaScript.ticks_string = () => ['Bot.getTicks(true)', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/logger.js b/src/botPage/view/logger.js index ae366171ff..d74b800f26 100644 --- a/src/botPage/view/logger.js +++ b/src/botPage/view/logger.js @@ -37,9 +37,6 @@ const isNewError = isNewMessage(); const notify = ({ className, message, position = 'left', sound = 'silent' }) => { if (message && (position === 'left' || isNewNotification(message))) { log(className, message); - if (typeof message === 'number') { - message = message.toFixed(4); - } $.notify(message, { position: `bottom ${position}`, className }); if (sound !== 'silent') { diff --git a/static/xml/toolbox.xml b/static/xml/toolbox.xml index a5aff41962..cc13a2e512 100644 --- a/static/xml/toolbox.xml +++ b/static/xml/toolbox.xml @@ -281,6 +281,7 @@ + open @@ -300,6 +301,7 @@ + From 9b9484fab7cf075926f7d49438c7776c4f608a80 Mon Sep 17 00:00:00 2001 From: McSam Date: Wed, 26 Jun 2019 12:55:24 +0800 Subject: [PATCH 07/38] add entrytick string & exittick string --- src/botPage/bot/Interface/index.js | 4 ++-- src/botPage/bot/tools.js | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/botPage/bot/Interface/index.js b/src/botPage/bot/Interface/index.js index af3dcf8fd6..eb5d8913be 100644 --- a/src/botPage/bot/Interface/index.js +++ b/src/botPage/bot/Interface/index.js @@ -37,7 +37,7 @@ export default class Interface extends ToolsInterface(TicksInterface(class {})) }; } getBotInterface() { - const getDetail = i => createDetails(this.get('contract'))[i]; + const getDetail = (i, pipSize) => createDetails(this.get('contract'), pipSize)[i]; return { init : (...args) => this.tradeEngine.init(...args), @@ -50,7 +50,7 @@ export default class Interface extends ToolsInterface(TicksInterface(class {})) sellAtMarket : () => this.tradeEngine.sellAtMarket(), getSellPrice : () => this.getSellPrice(), isResult : result => getDetail(10) === result, - readDetails : i => getDetail(i - 1), + readDetails : i => getDetail(i - 1, this.tradeEngine.getPipSize()), }; } sleep(arg = 1) { diff --git a/src/botPage/bot/tools.js b/src/botPage/bot/tools.js index 2fbbcf82bf..0b5446bf20 100644 --- a/src/botPage/bot/tools.js +++ b/src/botPage/bot/tools.js @@ -134,7 +134,7 @@ export const doUntilDone = (f, types) => { }); }; -export const createDetails = contract => { +export const createDetails = (contract, pipSize) => { const { sell_price: sellPrice, buy_price: buyPrice, currency } = contract; const profit = Number(roundBalance({ currency, balance: sellPrice - buyPrice })); const result = profit < 0 ? 'loss' : 'win'; @@ -151,6 +151,8 @@ export const createDetails = contract => { +contract.exit_tick, +(contract.barrier ? contract.barrier : 0), result, + parseFloat(contract.entry_tick).toFixed(pipSize), + parseFloat(contract.exit_tick).toFixed(pipSize), ]; }; From faf296a8b6a152a0606a02c9eeb28ed6ee834585 Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 27 Jun 2019 10:00:12 +0800 Subject: [PATCH 08/38] load default start --- src/botPage/view/blockly/index.js | 9 ++++++++- src/common/utils/storageManager.js | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/botPage/view/blockly/index.js b/src/botPage/view/blockly/index.js index 0636724381..d87d9e3165 100644 --- a/src/botPage/view/blockly/index.js +++ b/src/botPage/view/blockly/index.js @@ -19,9 +19,11 @@ import Interpreter from '../../bot/Interpreter'; import createError from '../../common/error'; import { translate, xml as translateXml } from '../../../common/i18n'; import { getLanguage } from '../../../common/lang'; +import { get as getStorage, remove } from '../../../common/utils/storageManager'; import { observer as globalObserver } from '../../../common/utils/observer'; import { showDialog } from '../../bot/tools'; import GTM from '../../../common/gtm'; +import { AppConstants } from '../../../common/appId'; const setBeforeUnload = off => { if (off) { @@ -262,7 +264,10 @@ export default class _Blockly { window.addEventListener('resize', renderInstance, false); renderInstance(); addBlocklyTranslation().then(() => { - $.get('xml/main.xml', main => { + const defaultStrat = getStorage(AppConstants.STORAGE_STRATEGY); + const xmlFile = defaultStrat ? `xml/${defaultStrat}.xml` : 'xml/main.xml'; + + $.get(xmlFile, main => { repaintDefaultColours(); overrideBlocklyDefaultShape(); this.blocksXmlStr = Blockly.Xml.domToPrettyText(main); @@ -275,6 +280,8 @@ export default class _Blockly { Blockly.mainWorkspace.clearUndo(); }, 0); resolve(); + }).then(() => { + remove(AppConstants.STORAGE_STRATEGY); }); }); }); diff --git a/src/common/utils/storageManager.js b/src/common/utils/storageManager.js index 382eb94bb9..c7c6cc9165 100644 --- a/src/common/utils/storageManager.js +++ b/src/common/utils/storageManager.js @@ -69,3 +69,5 @@ export const set = (varName, value) => { }; export const get = varName => store[varName]; + +export const remove = varName => delete store[varName]; From 12acfc0faaa44ee2ed6c9e84b94c4dfded3a2ee9 Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 27 Jun 2019 10:36:43 +0800 Subject: [PATCH 09/38] blockly es6 not support --- src/botPage/view/blockly/blocks/tools/total_profit.js | 2 +- src/botPage/view/blockly/blocks/tools/total_runs.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 05f0e437da..648ec5566f 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -9,7 +9,7 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: ev => { + onchange: function onchange(ev) { if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { return; } diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index dd0de8e402..9cb157d16e 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -9,7 +9,7 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: ev => { + onchange: function onchange(ev) { if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { return; } From 4a1ae307121b4813a931d1ffd5d0af3183388400 Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 27 Jun 2019 11:09:21 +0800 Subject: [PATCH 10/38] resolve changes --- src/botPage/bot/TradeEngine/Ticks.js | 43 +++++++++++++--------------- src/botPage/bot/tools.js | 4 +-- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/src/botPage/bot/TradeEngine/Ticks.js b/src/botPage/bot/TradeEngine/Ticks.js index 4465398097..ac0b38b158 100644 --- a/src/botPage/bot/TradeEngine/Ticks.js +++ b/src/botPage/bot/TradeEngine/Ticks.js @@ -32,32 +32,29 @@ export default Engine => } } getTicks(toString = false) { - return new Promise(resolve => - this.$scope.ticksService.request({ symbol: this.symbol }).then(ticks => - resolve( - ticks.map(o => { - if (toString) { - return o.quote.toFixed(this.getPipSize()); - } - return o.quote; - - }) - ) - ) - ); + return new Promise(resolve => { + this.$scope.ticksService.request({ symbol: this.symbol }).then(ticks => { + const pipSize = this.getPipSize(); + const ticksList = ticks.map(o => { + if (toString) { + return o.quote.toFixed(pipSize); + } + return o.quote; + }); + + resolve(ticksList); + }); + }); } getLastTick(raw, toString = false) { return new Promise(resolve => - this.$scope.ticksService - .request({ symbol: this.symbol }) - .then(ticks => raw ? getLast(ticks) : getLast(ticks).quote) - .then(lastTick => { - if (toString && !raw) { - resolve(lastTick.toFixed(this.getPipSize())); - } else { - resolve(lastTick); - } - }) + this.$scope.ticksService.request({ symbol: this.symbol }).then(ticks => { + let lastTick = raw ? getLast(ticks) : getLast(ticks).quote; + if (toString && !raw) { + lastTick = lastTick.toFixed(this.getPipSize()); + } + resolve(lastTick); + }) ); } getLastDigit() { diff --git a/src/botPage/bot/tools.js b/src/botPage/bot/tools.js index 0b5446bf20..d4f535ec5b 100644 --- a/src/botPage/bot/tools.js +++ b/src/botPage/bot/tools.js @@ -151,8 +151,8 @@ export const createDetails = (contract, pipSize) => { +contract.exit_tick, +(contract.barrier ? contract.barrier : 0), result, - parseFloat(contract.entry_tick).toFixed(pipSize), - parseFloat(contract.exit_tick).toFixed(pipSize), + (+contract.entry_tick).toFixed(pipSize), + (+contract.exit_tick).toFixed(pipSize), ]; }; From 95f47c4b064b111adf92f50809385f508075cc84 Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 27 Jun 2019 16:38:47 +0800 Subject: [PATCH 11/38] changes --- src/botPage/view/blockly/index.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/botPage/view/blockly/index.js b/src/botPage/view/blockly/index.js index d87d9e3165..cc43e18c40 100644 --- a/src/botPage/view/blockly/index.js +++ b/src/botPage/view/blockly/index.js @@ -19,11 +19,10 @@ import Interpreter from '../../bot/Interpreter'; import createError from '../../common/error'; import { translate, xml as translateXml } from '../../../common/i18n'; import { getLanguage } from '../../../common/lang'; -import { get as getStorage, remove } from '../../../common/utils/storageManager'; import { observer as globalObserver } from '../../../common/utils/observer'; import { showDialog } from '../../bot/tools'; import GTM from '../../../common/gtm'; -import { AppConstants } from '../../../common/appId'; +import { parseQueryString } from '../../../common/utils/tools'; const setBeforeUnload = off => { if (off) { @@ -264,7 +263,7 @@ export default class _Blockly { window.addEventListener('resize', renderInstance, false); renderInstance(); addBlocklyTranslation().then(() => { - const defaultStrat = getStorage(AppConstants.STORAGE_STRATEGY); + const defaultStrat = parseQueryString().strategy; const xmlFile = defaultStrat ? `xml/${defaultStrat}.xml` : 'xml/main.xml'; $.get(xmlFile, main => { @@ -280,8 +279,6 @@ export default class _Blockly { Blockly.mainWorkspace.clearUndo(); }, 0); resolve(); - }).then(() => { - remove(AppConstants.STORAGE_STRATEGY); }); }); }); From 9bb514ff7bdaf176a59a83e4e2448dda2657f986 Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 27 Jun 2019 18:24:36 +0800 Subject: [PATCH 12/38] add strat file --- static/xml/dalembert.xml | 733 ++++++++++++++++++++++++++++++++++++++ static/xml/martingale.xml | 602 +++++++++++++++++++++++++++++++ 2 files changed, 1335 insertions(+) create mode 100644 static/xml/dalembert.xml create mode 100644 static/xml/martingale.xml diff --git a/static/xml/dalembert.xml b/static/xml/dalembert.xml new file mode 100644 index 0000000000..9bd1ca3d27 --- /dev/null +++ b/static/xml/dalembert.xml @@ -0,0 +1,733 @@ + + + dalembert:resultIsWin + dalembert:profit + dalembert:totalProfit + dalembert:tradeAgain + dalembert:expectedProfit + dalembert:size + dalembert:amount + dalembert:profitUnits + dalembert:maximumLoss + + + D'Alembert Trade Amount + Describe this function... + + + + + EQ + + + dalembert:expectedProfit + + + + + + + + + + dalembert:expectedProfit + + + + NUMBER + + + abc + + + Expected Profit + + + + + + + + + + + EQ + + + dalembert:maximumLoss + + + + + + + + + + dalembert:maximumLoss + + + + NUMBER + + + abc + + + Maximum Loss Amount + + + + + + + + + + + EQ + + + dalembert:amount + + + + + + + + + + dalembert:amount + + + + NUMBER + + + abc + + + Trade Amount + + + + + + + + + + + EQ + + + dalembert:size + + + + + + + + + + dalembert:size + + + 1 + + + + + + + + + EQ + + + dalembert:profitUnits + + + + + + + + + + dalembert:profitUnits + + + 0 + + + + + + + + + EQ + + + dalembert:totalProfit + + + + + + + + + + dalembert:totalProfit + + + 0 + + + + + + + + + + + + + + + + + + + MULTIPLY + + + 1 + + + dalembert:size + + + + + 1 + + + dalembert:amount + + + + + + + + + + D'Alembert Core Functionality + Describe this function... + + + + + + dalembert:resultIsWin + + + + + dalembert:profitUnits + + + ADD + + + 1 + + + dalembert:profitUnits + + + + + 1 + + + dalembert:size + + + + + + + + + + GT + + + dalembert:size + + + + + 1 + + + + + + + dalembert:size + + + MINUS + + + 1 + + + dalembert:size + + + + + 1 + + + + + + + + + dalembert:profitUnits + + + 0 + + + + + success + silent + + + One DAlembert session finished successfully. + + + + + + + + + + + + + dalembert:profitUnits + + + MINUS + + + 1 + + + dalembert:profitUnits + + + + + 1 + + + dalembert:size + + + + + + + dalembert:size + + + ADD + + + 1 + + + dalembert:size + + + + + 1 + + + + + + + + + + + + + + + + + D'Alembert Trade Again After Purchase + Describe this function... + + + dalembert:totalProfit + + + 1 + + + dalembert:profit + + + + + dalembert:totalProfit + + + DIVIDE + + + 1 + + + ROUND + + + 3.1 + + + MULTIPLY + + + 1 + + + dalembert:totalProfit + + + + + 1 + + + 100 + + + + + + + + + 1 + + + 100 + + + + + + + + + + dalembert:resultIsWin + + + + + success + silent + + + + + + Won: + + + + + dalembert:profit + + + + + + + + + warn + silent + + + + + + Lost: + + + + + ABS + + + 9 + + + dalembert:profit + + + + + + + + + + + + + + + + dalembert:resultIsWin + + + + + info + silent + + + + + + Total Profit: + + + + + dalembert:totalProfit + + + + + + + dalembert:tradeAgain + + + FALSE + + + + + + + + LT + + + dalembert:totalProfit + + + + + dalembert:expectedProfit + + + + + + + + + + GT + + + dalembert:totalProfit + + + + + NEG + + + 9 + + + dalembert:maximumLoss + + + + + + + + + dalembert:tradeAgain + + + TRUE + + + + + + + + + abc + + + + + + Maximum Loss Occurred! Total Loss: + + + + + NEG + + + 9 + + + dalembert:totalProfit + + + + + + + + + + + + + + + abc + + + + + + Expected Profit Made! Total Profit: + + + + + dalembert:totalProfit + + + + + + + + + + + + + + + + + + + + + + + dalembert:tradeAgain + + + + + volidx + random_index + R_100 + digits + evenodd + both + 60 + FALSE + TRUE + + + t + USD + + + 5 + + + + + + + + + + + + + + DIGITEVEN + + + + + + + + + + + + + + + 4 + + + + + win + + + + + + + + + + + \ No newline at end of file diff --git a/static/xml/martingale.xml b/static/xml/martingale.xml new file mode 100644 index 0000000000..ed3d9bfaab --- /dev/null +++ b/static/xml/martingale.xml @@ -0,0 +1,602 @@ + + + martingale:resultIsWin + martingale:profit + martingale:totalProfit + martingale:tradeAgain + martingale:expectedProfit + martingale:size + martingale:amount + martingale:maximumLoss + + + Martingale Trade Amount + Describe this function... + + + + + EQ + + + martingale:expectedProfit + + + + + + + + + + martingale:expectedProfit + + + + NUMBER + + + abc + + + Expected Profit + + + + + + + + + + + EQ + + + martingale:maximumLoss + + + + + + + + + + martingale:maximumLoss + + + + NUMBER + + + abc + + + Maximum Loss Amount + + + + + + + + + + + EQ + + + martingale:amount + + + + + + + + + + martingale:amount + + + + NUMBER + + + abc + + + Trade Amount + + + + + + + + + + + EQ + + + martingale:size + + + + + + + + + + martingale:size + + + 1 + + + + + + + + + EQ + + + martingale:totalProfit + + + + + + + + + + martingale:totalProfit + + + 0 + + + + + + + + + + + + + + + + + MULTIPLY + + + 1 + + + martingale:size + + + + + 1 + + + martingale:amount + + + + + + + + + + Martingale Core Functionality + Describe this function... + + + + + + martingale:resultIsWin + + + + + martingale:size + + + 1 + + + + + + + martingale:size + + + MULTIPLY + + + 1 + + + martingale:size + + + + + 1 + + + 2 + + + + + + + + + + + + + + + Martingale Trade Again After Purchase + Describe this function... + + + martingale:totalProfit + + + 1 + + + martingale:profit + + + + + martingale:totalProfit + + + DIVIDE + + + 1 + + + ROUND + + + 3.1 + + + MULTIPLY + + + 1 + + + martingale:totalProfit + + + + + 1 + + + 100 + + + + + + + + + 1 + + + 100 + + + + + + + + + + martingale:resultIsWin + + + + + success + silent + + + + + + Won: + + + + + martingale:profit + + + + + + + + + warn + silent + + + + + + Lost: + + + + + ABS + + + 9 + + + martingale:profit + + + + + + + + + + + + + + + + martingale:resultIsWin + + + + + info + silent + + + + + + Total Profit: + + + + + martingale:totalProfit + + + + + + + martingale:tradeAgain + + + FALSE + + + + + + + + LT + + + martingale:totalProfit + + + + + martingale:expectedProfit + + + + + + + + + + GT + + + martingale:totalProfit + + + + + NEG + + + 9 + + + martingale:maximumLoss + + + + + + + + + martingale:tradeAgain + + + TRUE + + + + + + + + + abc + + + + + + Maximum Loss Occurred! Total Loss: + + + + + NEG + + + 9 + + + martingale:totalProfit + + + + + + + + + + + + + + + abc + + + + + + Expected Profit Made! Total Profit: + + + + + martingale:totalProfit + + + + + + + + + + + + + + + + + + + + + + + martingale:tradeAgain + + + + + volidx + random_index + R_100 + digits + evenodd + both + 60 + FALSE + TRUE + + + t + USD + + + 5 + + + + + + + + + + + + + + DIGITEVEN + + + + + + + + + + + + + + + 4 + + + + + win + + + + + + + + + + + \ No newline at end of file From 6b28d53308605f074d87b7f82101acc7de28d92d Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 28 Jun 2019 10:07:11 +0800 Subject: [PATCH 13/38] fix target blocks unplug in define trade options --- .../view/blockly/blocks/tools/total_profit.js | 13 ------------- src/botPage/view/blockly/blocks/tools/total_runs.js | 13 ------------- src/botPage/view/blockly/blocks/trade/index.js | 10 ++++++++++ 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 648ec5566f..87adb27986 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -9,18 +9,5 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: function onchange(ev) { - if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { - return; - } - - if (ev.type === Blockly.Events.MOVE) { - const rootBlock = this.getRootBlock(); - - if (rootBlock.type === 'trade') { - this.unplug(); - } - } - }, }; Blockly.JavaScript.total_profit = () => ['Bot.getTotalProfit()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index 9cb157d16e..1bf170b3d2 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -9,18 +9,5 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: function onchange(ev) { - if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { - return; - } - - if (ev.type === Blockly.Events.MOVE) { - const rootBlock = this.getRootBlock(); - - if (rootBlock.type === 'trade') { - this.unplug(); - } - } - }, }; Blockly.JavaScript.total_runs = () => ['Bot.getTotalRuns()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 9468c61588..08d6b09a6f 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -106,6 +106,16 @@ Blockly.Blocks.trade = { replaceInitializationBlocks(this, ev); resetTradeFields(this, ev); } + + const initStatement = this.getInputTargetBlock('INITIALIZATION'); + const initChild = initStatement.getChildren(); + + initChild.forEach(child => { + if (child.type === 'total_profit' || child.type === 'total_runs') { + child.unplug(true); + } + }); + decorateTrade(ev); }, }; From 42b39d74d66281a143833afde4e97060bdd4aaab Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 28 Jun 2019 10:20:00 +0800 Subject: [PATCH 14/38] fix null error --- .../view/blockly/blocks/trade/index.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 08d6b09a6f..016dff3120 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -107,16 +107,19 @@ Blockly.Blocks.trade = { resetTradeFields(this, ev); } - const initStatement = this.getInputTargetBlock('INITIALIZATION'); - const initChild = initStatement.getChildren(); + decorateTrade(ev); - initChild.forEach(child => { - if (child.type === 'total_profit' || child.type === 'total_runs') { - child.unplug(true); - } - }); + const initInput = this.getInputTargetBlock('INITIALIZATION'); - decorateTrade(ev); + if (initInput) { + const initChild = initInput.getChildren(); + + initChild.forEach(child => { + if (child.type === 'total_profit' || child.type === 'total_runs') { + child.unplug(true); + } + }); + } }, }; From ce39c3e3a22b35badef21c6e4caa39c6a60c3366 Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 28 Jun 2019 12:15:22 +0800 Subject: [PATCH 15/38] total profit decimal place --- src/botPage/bot/Interface/MiscInterface.js | 3 ++- src/botPage/bot/TradeEngine/Total.js | 9 +++++++-- .../view/blockly/blocks/tools/total_profit.js | 13 ++++++++++++- static/xml/toolbox.xml | 1 + 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/botPage/bot/Interface/MiscInterface.js b/src/botPage/bot/Interface/MiscInterface.js index 329c503bf5..ff5242f9a2 100644 --- a/src/botPage/bot/Interface/MiscInterface.js +++ b/src/botPage/bot/Interface/MiscInterface.js @@ -29,7 +29,8 @@ export default Interface => notifyTelegram: this.notifyTelegram, getTotalRuns : () => this.tradeEngine.getTotalRuns(), getBalance : type => this.tradeEngine.getBalance(type), - getTotalProfit: () => this.tradeEngine.getTotalProfit(), + getTotalProfit: (...args) => + this.tradeEngine.getTotalProfit(...args, this.tradeEngine.tradeOptions.currency), }; } }; diff --git a/src/botPage/bot/TradeEngine/Total.js b/src/botPage/bot/TradeEngine/Total.js index 355c7c6446..5c81a16234 100644 --- a/src/botPage/bot/TradeEngine/Total.js +++ b/src/botPage/bot/TradeEngine/Total.js @@ -86,9 +86,14 @@ export default Engine => const accountStat = this.getAccountStat(); return accountStat.totalRuns; } - getTotalProfit() { + getTotalProfit(toString = false, currency) { const accountStat = this.getAccountStat(); - return Number(accountStat.totalProfit); + return toString + ? roundBalance({ + currency, + balance: +accountStat.totalProfit, + }) + : +accountStat.totalProfit; } /* eslint-enable */ checkLimits(tradeOption) { diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 87adb27986..6ca5d7d4f1 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -10,4 +10,15 @@ Blockly.Blocks.total_profit = { this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, }; -Blockly.JavaScript.total_profit = () => ['Bot.getTotalProfit()', Blockly.JavaScript.ORDER_ATOMIC]; +Blockly.JavaScript.total_profit = () => ['Bot.getTotalProfit(false)', Blockly.JavaScript.ORDER_ATOMIC]; + +Blockly.Blocks.total_profit_string = { + init: function init() { + this.appendDummyInput().appendField(translate('Total Profit String')); + this.setOutput(true, 'String'); + this.setColour('#dedede'); + this.setTooltip(translate('Return the total profit (String)')); + this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); + }, +}; +Blockly.JavaScript.total_profit_string = () => ['Bot.getTotalProfit(true)', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/static/xml/toolbox.xml b/static/xml/toolbox.xml index a5aff41962..f16ef8b7db 100644 --- a/static/xml/toolbox.xml +++ b/static/xml/toolbox.xml @@ -424,6 +424,7 @@ + success From ad6bb0c07eda80fd53c11ededbd7a4921de9eaf9 Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 28 Jun 2019 12:22:07 +0800 Subject: [PATCH 16/38] jest --- src/botPage/bot/TradeEngine/Total.js | 2 +- src/botPage/bot/__tests__/block-tests/tools-test/Misc.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/botPage/bot/TradeEngine/Total.js b/src/botPage/bot/TradeEngine/Total.js index 5c81a16234..c5e14aa82c 100644 --- a/src/botPage/bot/TradeEngine/Total.js +++ b/src/botPage/bot/TradeEngine/Total.js @@ -86,7 +86,7 @@ export default Engine => const accountStat = this.getAccountStat(); return accountStat.totalRuns; } - getTotalProfit(toString = false, currency) { + getTotalProfit(toString, currency) { const accountStat = this.getAccountStat(); return toString ? roundBalance({ diff --git a/src/botPage/bot/__tests__/block-tests/tools-test/Misc.js b/src/botPage/bot/__tests__/block-tests/tools-test/Misc.js index 5e74115fe7..3e79bb3746 100644 --- a/src/botPage/bot/__tests__/block-tests/tools-test/Misc.js +++ b/src/botPage/bot/__tests__/block-tests/tools-test/Misc.js @@ -17,7 +17,7 @@ describe('Misc. tools', () => { Bot.notify({ message: 'Test', className: 'info'}) watch('before') result.totalRuns = Bot.getTotalRuns(); - result.totalProfit = Bot.getTotalProfit(); + result.totalProfit = Bot.getTotalProfit(false, null); result.balance = Bot.getBalance('NUM') result.balanceStr = Bot.getBalance('STR') ` @@ -47,7 +47,9 @@ describe('Misc. tools', () => { }); it('Notify', () => { - const { notify: { className, message } } = observed; + const { + notify: { className, message }, + } = observed; expect(className).equal('info'); expect(message).equal('Test'); From 64fa330dbaba5e9087506675da57b3568facf504 Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 28 Jun 2019 15:33:32 +0800 Subject: [PATCH 17/38] resolve changes --- .../view/blockly/blocks/tools/total_profit.js | 13 ++++++++++++ .../view/blockly/blocks/tools/total_runs.js | 13 ++++++++++++ .../view/blockly/blocks/trade/index.js | 18 ++++++++-------- src/botPage/view/blockly/customBlockly.js | 21 +++++++++++++++++++ 4 files changed, 56 insertions(+), 9 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 87adb27986..57aab906da 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -9,5 +9,18 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, + onchange: function onchange(ev) { + if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { + return; + } + + if (ev.type === Blockly.Events.MOVE) { + const inputStatement = this.getRootInputTargetBlock(); + + if (inputStatement === 'INITIALIZATION') { + this.unplug(true); + } + } + }, }; Blockly.JavaScript.total_profit = () => ['Bot.getTotalProfit()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index 1bf170b3d2..e6b1e9f6f0 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -9,5 +9,18 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, + onchange: function onchange(ev) { + if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { + return; + } + + if (ev.type === Blockly.Events.MOVE) { + const inputStatement = this.getRootInputTargetBlock(); + + if (inputStatement === 'INITIALIZATION') { + this.unplug(true); + } + } + }, }; Blockly.JavaScript.total_runs = () => ['Bot.getTotalRuns()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 016dff3120..f2fa54f30a 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -109,17 +109,17 @@ Blockly.Blocks.trade = { decorateTrade(ev); - const initInput = this.getInputTargetBlock('INITIALIZATION'); + // const initInput = this.getInputTargetBlock('INITIALIZATION'); - if (initInput) { - const initChild = initInput.getChildren(); + // if (initInput) { + // const initChild = initInput.getChildren(); - initChild.forEach(child => { - if (child.type === 'total_profit' || child.type === 'total_runs') { - child.unplug(true); - } - }); - } + // initChild.forEach(child => { + // if (child.type === 'total_profit' || child.type === 'total_runs') { + // child.unplug(true); + // } + // }); + // } }, }; diff --git a/src/botPage/view/blockly/customBlockly.js b/src/botPage/view/blockly/customBlockly.js index b4f75f1cec..a2da174a43 100644 --- a/src/botPage/view/blockly/customBlockly.js +++ b/src/botPage/view/blockly/customBlockly.js @@ -403,3 +403,24 @@ const originalCustomContextLoopFn = Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN.customContextMenu = function(options) { addDownloadOption(originalCustomContextLoopFn.bind(this), options, this); }; + +/** + * Return the parent block or null if this block is at the top level. + * @return {Blockly.Block} The block that holds the current block. + */ +Blockly.Block.prototype.getRootInputTargetBlock = function() { + let inputName; + let currentBlock = this.getParent(); + + while (currentBlock) { + const rootBlock = this.getRootBlock(); + const currentInput = rootBlock.getInputWithBlock(currentBlock); + + if (currentInput && currentInput.name) { + inputName = currentInput.name; + } + currentBlock = currentBlock.getParent(); + } + + return inputName; +}; From 44a327e05c5b1ae2505100861d254cb88f0b68ef Mon Sep 17 00:00:00 2001 From: McSam Date: Mon, 1 Jul 2019 10:59:41 +0800 Subject: [PATCH 18/38] fix no feeback on same xml import --- src/botPage/view/View.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/botPage/view/View.js b/src/botPage/view/View.js index 9dd37c1b1e..42065374e7 100644 --- a/src/botPage/view/View.js +++ b/src/botPage/view/View.js @@ -285,6 +285,7 @@ export default class View { globalObserver.emit('ui.log.info', `${translate('File is not supported:')} ${file.name}`); } }); + $('#files').val(''); }; const handleDragOver = e => { From 2fac50f2d19af6fc92998001687551162ee38f89 Mon Sep 17 00:00:00 2001 From: McSam Date: Mon, 1 Jul 2019 16:08:25 +0800 Subject: [PATCH 19/38] remove comment --- src/botPage/view/blockly/blocks/trade/index.js | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index f2fa54f30a..77dc0f9139 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -108,18 +108,6 @@ Blockly.Blocks.trade = { } decorateTrade(ev); - - // const initInput = this.getInputTargetBlock('INITIALIZATION'); - - // if (initInput) { - // const initChild = initInput.getChildren(); - - // initChild.forEach(child => { - // if (child.type === 'total_profit' || child.type === 'total_runs') { - // child.unplug(true); - // } - // }); - // } }, }; From 988b85383296adac494c261f51c98c3f3c820765 Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 2 Jul 2019 11:06:40 +0800 Subject: [PATCH 20/38] travis timeout fix --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 6c6e7f05a9..51c58e5922 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,3 +5,4 @@ install: npm ci cache: directories: - node_modules +script: travis_retry npm test From 3266cd5974f5607eedc8c25c43a61117219ac9a7 Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 2 Jul 2019 13:16:05 +0800 Subject: [PATCH 21/38] new string --- src/common/translations/ach_UG/i10n.json | 53 ++++---- src/common/translations/de_DE/i10n.json | 79 ++++++------ src/common/translations/en/i10n.json | 148 ++++++++++++++++++----- src/common/translations/es_ES/i10n.json | 53 ++++---- src/common/translations/fr_FR/i10n.json | 53 ++++---- src/common/translations/id_ID/i10n.json | 53 ++++---- src/common/translations/it_IT/i10n.json | 53 ++++---- src/common/translations/pl_PL/i10n.json | 53 ++++---- src/common/translations/pt_PT/i10n.json | 53 ++++---- src/common/translations/ru_RU/i10n.json | 59 ++++----- src/common/translations/th_TH/i10n.json | 53 ++++---- src/common/translations/vi_VN/i10n.json | 53 ++++---- src/common/translations/zh_CN/i10n.json | 53 ++++---- src/common/translations/zh_TW/i10n.json | 53 ++++---- 14 files changed, 495 insertions(+), 374 deletions(-) diff --git a/src/common/translations/ach_UG/i10n.json b/src/common/translations/ach_UG/i10n.json index 629f75991f..4bb39077d7 100644 --- a/src/common/translations/ach_UG/i10n.json +++ b/src/common/translations/ach_UG/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "crwdns53578:0crwdne53578:0", "18da95988117ff029393f3f5c881d70ef47f7385": "crwdns53580:0crwdne53580:0", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "crwdns53582:0crwdne53582:0", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "crwdns67006:0crwdne67006:0", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "crwdns19761:0crwdne19761:0", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "crwdns19762:0crwdne19762:0", "6ea4a034747d020b1d8ce4848def95d537555dd6": "crwdns19763:0crwdne19763:0", "89f89c02cf47e091e726a4e07b88af0966806897": "crwdns45814:0crwdne45814:0", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "crwdns19764:0crwdne19764:0", + "1200c1af2f7bba4e29a34112865662748c9d41df": "crwdns67008:0crwdne67008:0", "62d6180e55905f7b996d442c53631981a4ef8b5b": "crwdns19765:0crwdne19765:0", "ed4978867de1da05b336b724a3fb96222a29ebec": "crwdns19766:0crwdne19766:0", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "crwdns19767:0crwdne19767:0", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "crwdns18861:0crwdne18861:0", "9202ddae4cea16513e53bbc965d88ed975e59512": "crwdns18862:0crwdne18862:0", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "crwdns19769:0crwdne19769:0", - "66c7734789e19cbeef3a5ac185ea732139aed213": "crwdns27129:0crwdne27129:0", - "3b662fb2e8bafce29aa98321b18874bb44905488": "crwdns53584:0crwdne53584:0", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "crwdns53698:0crwdne53698:0", - "93039e609d94a24f3572b794a31b21525a09af2b": "crwdns53700:0crwdne53700:0", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "crwdns53702:0crwdne53702:0", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "crwdns53704:0crwdne53704:0", - "952f375412e89ff213a8aca383d18e5691354347": "crwdns18892:0crwdne18892:0", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "crwdns18889:0crwdne18889:0", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "crwdns53586:0crwdne53586:0", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "crwdns53588:0crwdne53588:0", - "248e224f533752db28a1aab3519a58569ad96140": "crwdns53590:0crwdne53590:0", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "crwdns53592:0crwdne53592:0", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "crwdns53594:0crwdne53594:0", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "crwdns53596:0crwdne53596:0", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "crwdns18899:0crwdne18899:0", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "crwdns53598:0crwdne53598:0", - "39fca63515c105918f03e4908ec12df675b07f92": "crwdns27130:0crwdne27130:0", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "crwdns33427:0crwdne33427:0", "d847919a30d31c0be624087f3370492b3fdf80c6": "crwdns18764:0crwdne18764:0", "5cd6978d63540c8a490ef76f43219de6362f958e": "crwdns19668:0crwdne19668:0", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "crwdns46218:0crwdne46218:0", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "crwdns46219:0crwdne46219:0", "f02760cd2eac28169f0a990c950c3dfe8427f772": "crwdns46220:0crwdne46220:0", + "66c7734789e19cbeef3a5ac185ea732139aed213": "crwdns27129:0crwdne27129:0", + "3b662fb2e8bafce29aa98321b18874bb44905488": "crwdns53584:0crwdne53584:0", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "crwdns53698:0crwdne53698:0", + "93039e609d94a24f3572b794a31b21525a09af2b": "crwdns53700:0crwdne53700:0", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "crwdns53702:0crwdne53702:0", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "crwdns53704:0crwdne53704:0", + "952f375412e89ff213a8aca383d18e5691354347": "crwdns18892:0crwdne18892:0", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "crwdns18889:0crwdne18889:0", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "crwdns53586:0crwdne53586:0", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "crwdns53588:0crwdne53588:0", + "248e224f533752db28a1aab3519a58569ad96140": "crwdns53590:0crwdne53590:0", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "crwdns53592:0crwdne53592:0", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "crwdns53594:0crwdne53594:0", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "crwdns53596:0crwdne53596:0", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "crwdns18899:0crwdne18899:0", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "crwdns53598:0crwdne53598:0", + "39fca63515c105918f03e4908ec12df675b07f92": "crwdns27130:0crwdne27130:0", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "crwdns52892:0crwdne52892:0", "e4458464df6cbb8da1134875ba51519c5d244d9f": "crwdns18867:0crwdne18867:0", "e9c45563358e813f157ba81b33143542165ba84e": "crwdns53194:0crwdne53194:0", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "crwdns53606:0crwdne53606:0", "b65463cb6a42a17de514acc4659f7fd331e0876a": "crwdns53608:0crwdne53608:0", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "crwdns53610:0crwdne53610:0", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "crwdns18961:0crwdne18961:0", - "343fda69c73b78b84967055aae97f790c422adfd": "crwdns18962:0crwdne18962:0", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "crwdns18963:0crwdne18963:0", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "crwdns18964:0crwdne18964:0", - "87da93a46d143f6019979b3548414d9d7adabb35": "crwdns18965:0crwdne18965:0", - "160f06d4799c85021a810f68c5b517eea37a2737": "crwdns18966:0crwdne18966:0", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "crwdns18967:0crwdne18967:0", "cd5f85b6f187605f82386eacd680f93820af8d11": "crwdns18949:0crwdne18949:0", "1e38ce3d180cefae485a6986ca7c67841e30376f": "crwdns18950:0crwdne18950:0", "5c89497fc3c128e2ff865ce8df15356054f2c028": "crwdns18953:0crwdne18953:0", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "crwdns18956:0crwdne18956:0", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "crwdns18959:0crwdne18959:0", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "crwdns18960:0crwdne18960:0", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "crwdns18961:0crwdne18961:0", + "343fda69c73b78b84967055aae97f790c422adfd": "crwdns18962:0crwdne18962:0", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "crwdns18963:0crwdne18963:0", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "crwdns18964:0crwdne18964:0", + "87da93a46d143f6019979b3548414d9d7adabb35": "crwdns18965:0crwdne18965:0", + "160f06d4799c85021a810f68c5b517eea37a2737": "crwdns18966:0crwdne18966:0", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "crwdns18967:0crwdne18967:0", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "crwdns18968:0crwdne18968:0", "03bad10717e183b24829baf483dc715e1a44bf7b": "crwdns18969:0crwdne18969:0", "2c71ed279a402e93312dbda173ab18f244d6bf46": "crwdns18970:0crwdne18970:0", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "crwdns19005:0crwdne19005:0", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "crwdns29882:0crwdne29882:0", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "crwdns19006:0crwdne19006:0", + "6e0fc122f936f808bc2e3af661121b65712ae855": "crwdns67010:0%1crwdnd67010:0%2crwdnd67010:0%3crwdnd67010:0%4crwdne67010:0", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "crwdns67012:0crwdne67012:0", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "crwdns19007:0crwdne19007:0", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "crwdns19008:0crwdne19008:0", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "crwdns19009:0crwdne19009:0", diff --git a/src/common/translations/de_DE/i10n.json b/src/common/translations/de_DE/i10n.json index bf84ecae57..5f5d7f561c 100644 --- a/src/common/translations/de_DE/i10n.json +++ b/src/common/translations/de_DE/i10n.json @@ -19,7 +19,7 @@ "8d8fd6765e184419cad8b88d1a60c895d79578c2": "Kerze", "548f449b63ff41eaaff5a2d679ffa56b2015fc20": "Sonstiges", "8bf95ea372568c7a254ba9fada5f6f1701ebc5b5": "Log", - "12b71c3e0fe5f7c0b8d17cc03186e281412da4a8": "Summary", + "12b71c3e0fe5f7c0b8d17cc03186e281412da4a8": "Zusammenfassung", "9feddbabd7e7309e96c590069057158e96baa8f6": "Realitätscheck", "038fe2bdb7ec6ee078f60bdb5bee94654ec6a81d": "Der Optionshandel kann zu einer wirklichen Abhängigkeit führen, so wie jede andere Aktivität, die bis zu ihren Grenzen ausgeübt wird. Um die Gefahr einer solchen Äbhängigkeit zu vermeiden, bieten wir einen Realitätscheck an, der Ihnen eine regelmäßige Zusammenfassung Ihrer Geschäfte und Konten gibt.", "4152043e8c670075d2c919677e835edb0d923cab": "Bitte geben Sie Ihren bevorzugten Realitätscheck Intervall in Minuten an", @@ -29,14 +29,14 @@ "6e78c91f5a05fc0d4f1a787d38e3d6fe2f856d46": "Abmelden", "4832e45812a2724f16a15f9ae87adfc8ae4168cf": "Kontaktieren Sie uns", "f7c400ed695f898b8ee9d21664aa17b5bb693828": "Anmelden", - "5ea75f1605a4bf1db5c39fcc61854627478c0a7d": "Reset the blocks to their initial state", - "f98595d541778d86f75ef22b3328a031d20aa16b": "Load new blocks (xml file)", - "4a1e616226c329a94da7768bc0435a3284478010": "Save the existing blocks (xml file)", - "6b3465ace62f33f0687b4669ac26d95895e9ca52": "Connect Binary Bot to your Google Drive to easily save and re-use your blocks", - "8e4ec2c451ec7b1bf68d72fe9086ec978e41feb7": "Undo the changes (Ctrl+Z)", - "937f5055f05be359ddf619744e8af4d643549e80": "Redo the changes (Ctrl+Shift+Z)", - "8406d1cce44230835932060649e999ca3283b413": "Zoom In (Ctrl + +)", - "1109673172af2c173c492622ff8a72c8f29f0e70": "Zoom Out (Ctrl + -)", + "5ea75f1605a4bf1db5c39fcc61854627478c0a7d": "Setzen Sie die Blöcke in ihren Ausgangszustand zurück", + "f98595d541778d86f75ef22b3328a031d20aa16b": "Neue Blöcke laden (Xml-Datei)", + "4a1e616226c329a94da7768bc0435a3284478010": "Speichern Sie die vorhandenen Blöcke (Xml-Datei)", + "6b3465ace62f33f0687b4669ac26d95895e9ca52": "Verbinden Sie Binary Bot mit Ihrem Google Drive, um Ihre Blöcke einfach zu speichern und wiederzuverwenden", + "8e4ec2c451ec7b1bf68d72fe9086ec978e41feb7": "Die Änderungen rückgängig machen (Ctrl+Z)", + "937f5055f05be359ddf619744e8af4d643549e80": "Wiederholen Sie die Änderungen (Ctrl+Shift+Z)", + "8406d1cce44230835932060649e999ca3283b413": "Bildschirmdarstellung vergrößern (Ctrl + +)", + "1109673172af2c173c492622ff8a72c8f29f0e70": "Verkleinern (Ctrl + -)", "44c22002c65d2871331263a23c3e09c0a1bfd847": "Rearrange Vertically", "ebd0945359e5578ff9bd3a2ab490ca84c225d8f5": "Show/hide the summary pop-up", "76bb05950f80f3a88ee05ef3276c5934fd355e8d": "Run the bot", @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "There was an error retrieving files from Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "There was an error processing your request", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Select a folder", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Vorschläge sind nicht bereit", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Der ausgewählte Vorschlag existiert nicht", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Gekauft", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "Verkauf ist nicht verfügbar", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Verkauft für", "ed4978867de1da05b336b724a3fb96222a29ebec": "Index muss eine positive Ganzzahl sein", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Gewinnbetrag", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Maximale Anzahl von Geschäften erreicht", "9202ddae4cea16513e53bbc965d88ed975e59512": "Maximale Schadenhöhe erreicht", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init wird nicht aufgerufen", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Diagramm", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Google Drive Integration", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Maximum consecutive trades should be between 1 and 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "Not set", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Daily limit on losses:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Maximum consecutive trades", - "952f375412e89ff213a8aca383d18e5691354347": "Start", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Handelseinschränkungen", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "My computer", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Load", - "248e224f533752db28a1aab3519a58569ad96140": "Load blocks", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Successfully uploaded to Google Drive", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Save as collection", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Save your blocks and settings for re-use in other strategies", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Speichern", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Save blocks", - "39fca63515c105918f03e4908ec12df675b07f92": "Handelsansicht", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Konto", "d847919a30d31c0be624087f3370492b3fdf80c6": "Anzahl der Laufzeiten", "5cd6978d63540c8a490ef76f43219de6362f958e": "Gesamteinsatz", @@ -218,7 +202,7 @@ "ba7be969e7c1bb5f22489e843478e3d721aaa843": "Kaufpreis", "772fbced18230220d2d9be1456be16fc1b271d25": "Gewinn/Verlust", "bae7d5be70820ed56467bd9a63744e23b47bd711": "Status", - "96f608c16cef16caa06bf38901fb5f618a35a70b": "Pending", + "96f608c16cef16caa06bf38901fb5f618a35a70b": "Ausstehend", "7fb3a9b5101bcd45e2dca077191693a5199bafa9": "Settled", "82a82f798dd773717ec37d15fd4405510291734e": "Bot is not running.", "6a88e58aa1798626f94cf17f1a91618b405bb289": "Bot is starting...", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Kaufbetrag", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Kauf erfolgreich", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Kontrakt abgeschlossen", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Diagramm", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Google Drive Integration", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Maximum consecutive trades should be between 1 and 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Not set", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Tageslimit für Verluste:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Maximum consecutive trades", + "952f375412e89ff213a8aca383d18e5691354347": "Start", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Handelseinschränkungen", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "My computer", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Load", + "248e224f533752db28a1aab3519a58569ad96140": "Load blocks", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Successfully uploaded to Google Drive", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Save as collection", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Save your blocks and settings for re-use in other strategies", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Speichern", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Save blocks", + "39fca63515c105918f03e4908ec12df675b07f92": "Handelsansicht", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Rearrange vertically", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Blöcke müssen innerhalb des Blockhalters, Hauptblöcke oder Funktionen sein", "e9c45563358e813f157ba81b33143542165ba84e": "Achtung", @@ -282,15 +283,8 @@ "d1a17af19f5388af9d6596cc0ea7dbb1d739e255": "Not available", "db6708630fc646eb98298d9acd701e0a1ac051c2": "Save your blocks and strategies to Google Drive", "85538d002a336c5addef8d189d80976cf7758f8c": "You are logged in as", - "b65463cb6a42a17de514acc4659f7fd331e0876a": "Connect", - "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Disconnect", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Briefkurs", - "343fda69c73b78b84967055aae97f790c422adfd": "Briefkurs für den ausgewählten Antrag", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Beobachten und kaufen Sie Ihren Kontrakt", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Beobachten Sie den Tick-Stream und kaufen Sie den gewünschten Kontrakt (Läuft auf Tick-Update)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Auszahlung für den ausgewählten Antrag", - "160f06d4799c85021a810f68c5b517eea37a2737": "Kauf", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Kauft einen ausgewählten Kontrakt.", + "b65463cb6a42a17de514acc4659f7fd331e0876a": "Verbinden", + "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Verbindung trennen", "cd5f85b6f187605f82386eacd680f93820af8d11": "Ergebnis ist", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Richtig, wenn das Ergebnis mit der Auswahl übereinstimmt", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Erhalten Sie Ihr Handelsergebnis und handeln Sie nochmals", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Liest eine ausgewählte Option von der Kontraktdatenliste", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Nochmals Handeln", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Läuft den Handelsblock erneut", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Briefkurs", + "343fda69c73b78b84967055aae97f790c422adfd": "Briefkurs für den ausgewählten Antrag", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Beobachten und kaufen Sie Ihren Kontrakt", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Beobachten Sie den Tick-Stream und kaufen Sie den gewünschten Kontrakt (Läuft auf Tick-Update)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Auszahlung für den ausgewählten Antrag", + "160f06d4799c85021a810f68c5b517eea37a2737": "Kauf", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Kauft einen ausgewählten Kontrakt.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "Verkauf verfügbar ist", "03bad10717e183b24829baf483dc715e1a44bf7b": "Richtig, wenn Verkauf am Markt verfügbar ist", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Beobachten und verkaufen Sie Ihren gekauften Kontrakt", @@ -322,7 +323,7 @@ "a537f4f3c0f6c68bf896fb23cb2ecdc658488ea2": "MACD-Array", "b18e572ea14edd48587145f1ef50718adbf256c6": "Schnelle EMA Periode", "974023bddd6249d0f6404872cfcae205b2599ea2": "Langsame EMA Periode", - "5c2adcb3d1bfd6b9f5c2dec13d02a9473e4445a1": "Signal EMA Period", + "5c2adcb3d1bfd6b9f5c2dec13d02a9473e4445a1": "Signal EMA Periode", "6b15ce93fd68d80aeee7f7964c1306044c3c1baf": "Berechnet den Indikator für die Konvergenz/Divergenz des gleitenden Durchschnitts (MACD)-Liste von einer Liste", "95ec92885c855ba9cf734c17a43f081901e4d2cc": "Relative Stärke Index", "b033619e108c9e43bfd8a42cd97bf5c5dc86dc65": "Relative Stärke Index (RSI) aus einer befristeten Liste", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Benachrichtigen", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "mit Sound", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Erstellt Benachrichtigung", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Gesamter Gewinn", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Gibt den gesamten Gewinn zurück", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Anzahl der Durchläufe", diff --git a/src/common/translations/en/i10n.json b/src/common/translations/en/i10n.json index 974e5d1f25..0e73cf6020 100644 --- a/src/common/translations/en/i10n.json +++ b/src/common/translations/en/i10n.json @@ -18,8 +18,8 @@ "6c82e6dd86807ee3db07e3c82bec1ae1ce00b08b": "Time", "8d8fd6765e184419cad8b88d1a60c895d79578c2": "Candle", "548f449b63ff41eaaff5a2d679ffa56b2015fc20": "Misc.", - "6cd49a3292f36dba3404ca4c213ad66e431417ae": "Are you sure you wish to proceed with your current action? Binary Bot will stop placing further trades. Ongoing trades (if available) will be completed by our system. All unsaved changes to your strategy will be lost.", - "c1458ff86fd60d9544d7cd8a67437df2b766f482": "Note: Please see the Binary.com statement page for details of all confirmed transactions.", + "8bf95ea372568c7a254ba9fada5f6f1701ebc5b5": "Log", + "12b71c3e0fe5f7c0b8d17cc03186e281412da4a8": "Summary", "9feddbabd7e7309e96c590069057158e96baa8f6": "Reality Check", "038fe2bdb7ec6ee078f60bdb5bee94654ec6a81d": "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.", "4152043e8c670075d2c919677e835edb0d923cab": "Please specify your preferred reality-check interval in minutes", @@ -27,7 +27,25 @@ "2439f2f199b2a3e798aa9b4feaa9248bdec9bc0b": "Continue Trading", "a72ca256dc49e55a1a57b9a727fbde9834c9a3f7": "Statement", "6e78c91f5a05fc0d4f1a787d38e3d6fe2f856d46": "Log out", + "4832e45812a2724f16a15f9ae87adfc8ae4168cf": "Contact us", "f7c400ed695f898b8ee9d21664aa17b5bb693828": "Log in", + "5ea75f1605a4bf1db5c39fcc61854627478c0a7d": "Reset the blocks to their initial state", + "f98595d541778d86f75ef22b3328a031d20aa16b": "Load new blocks (xml file)", + "4a1e616226c329a94da7768bc0435a3284478010": "Save the existing blocks (xml file)", + "6b3465ace62f33f0687b4669ac26d95895e9ca52": "Connect Binary Bot to your Google Drive to easily save and re-use your blocks", + "8e4ec2c451ec7b1bf68d72fe9086ec978e41feb7": "Undo the changes (Ctrl+Z)", + "937f5055f05be359ddf619744e8af4d643549e80": "Redo the changes (Ctrl+Shift+Z)", + "8406d1cce44230835932060649e999ca3283b413": "Zoom In (Ctrl + +)", + "1109673172af2c173c492622ff8a72c8f29f0e70": "Zoom Out (Ctrl + -)", + "44c22002c65d2871331263a23c3e09c0a1bfd847": "Rearrange Vertically", + "ebd0945359e5578ff9bd3a2ab490ca84c225d8f5": "Show/hide the summary pop-up", + "76bb05950f80f3a88ee05ef3276c5934fd355e8d": "Run the bot", + "ba50a42d8d3228c37a817865fce49fbca692c2ad": "Stop the bot", + "4f4aa4117318a8ddf8783885d4f3542c5b2733bd": "Show log", + "91017ef9b165cd0e7475a770f318ea5e705e1321": "Show chart", + "c89e3dd1cafcadcc0312e476ab58b2332209da23": "Show Trading View", + "b02c858e72be118a65c9393930351012b647cb9e": "Toggle header", + "250be77f7605669a0b3d968b9ed381a3d9787ed1": "Open an already saved XML file and retrieve its blocks", "ff29ccd7a6c6073cc462ed590d27a91632fdf67e": "Binary Bot", "608061fb5aab975013fa70c5c814a1d8ba30c152": "Trade More Efficiently Than You Ever Thought Possible", "e4ce8dc3e416e69262ba642dc57d3975d6616980": "Interested in automating your preferred strategies for trading binary options?", @@ -38,7 +56,7 @@ "abeef9a35ae6256796ba2462e4f64d308de42359": "Receive 80% of the sales revenue from every purchase of your bot in our app store.", "0606f0b7763ee6e8094a3dab7873d34c08fd3670": "Begin Building a Bot Now", "221acaf3a0290adafe08cdcb8c66121c73d8b4a3": "Need further assistance?", - "4832e45812a2724f16a15f9ae87adfc8ae4168cf": "Contact us", + "d635b53e59c9aad8c5d78458826beffb029b27bf": "Thank you, we'll get back to you within 24 hours", "1de91e827ec70ca735abc2c71b0a89cb0cfc4ce1": "Underlying market is not selected", "50050f06645ad2743165b429a8f7deebd285fd63": "Contract type is not selected", "6a7d1a3a17c4e8ae6712cb60d46db1edf0aa2667": "Please login", @@ -49,13 +67,8 @@ "c1bbfcbb4f57d3a56c1239af0c2138321589efd2": "retrying in", "57b453bb26b1c28dfe362b7cc9f17f0be93dd581": "Rate limit reached for", "094628ce13fc0e78f07b697d1cc9421bb2edd666": "Request failed for", - "19eabc961735d78f12fc7be906ffcb033853cf85": "Timestamp", - "68f4145fee7dde76afceb910165924ad14cf0d00": "Message", "816c52fd2bdd94a63cd0944823a6c0aa9384c103": "No", "5397e0583f14f6c88de06b1ef28f460a1fb5b0ae": "Yes", - "629777b7d4d610ace6dee24442730f27d7d0853e": "File is not supported:", - "e99811bd3b1ad17e74614060ecb180602be35ad6": "Logged you out!", - "3b26e990d3acff493ee2cf66d1280bed2625e43f": "Connection lost before receiving the response from the server", "9bb396940adb9705fe57eba6ea8b578e6aafa792": "Payout", "78d7103a319e808455d397513279d99f3b3f3768": "Stake", "bbb930cc426507ed3f6b7c343c75dd0e041494b7": "statement", @@ -104,22 +117,40 @@ "dc28f5f3c65ec611f0f30022650d24382d27448e": "Odd", "18a63f5512afb5573e5b44deba78d629f0635317": "Over", "2a268b89b83f8cb38ea48e46e93dd8840db512f9": "Under", + "2155c8b38181dd2552e84a94049aacd33ef9c607": "High Tick", + "1408cfd2b064b923f024fbe590e27db8282941a5": "Low Tick", + "b86eb15dc4f13e4c2972de158d3038d9f657242f": "Reset Call", + "669a1f3d9a8f601a84da536cfdad1de4092b1926": "Reset Put", + "844d1a5c99a0a668383340cc095d040eef998c79": "Only Ups", + "87293a146cd481a2b30cf74282ec061dc4cf0735": "Only Downs", "cf9b77061f7b3126b49d50a6fa68f7ca8c26b7a3": "Open", "b1a5954a483f8f8b0207385095f74aeb409b3f80": "High", "a124947cbd2d1d92b47e027274c3269ff0c7a84b": "Low", "bbfa773e5a63a5ea58c9b6207e608ca0120e592a": "Close", "1173872a4fb205b713702f0eec5cf2c732c828fd": "Open Time", "808d7dca8a74d84af27a2d6602c3d786de45fe1e": "Default", - "53adebdc2b1cbbedb56395b19a73fe47b87cc554": "Ticks", - "5fb1db527825d2996e37c655e5dec49d4da80c09": "Seconds", - "092f99ea11a34a8490e7a767a83a42fc45634f82": "Minutes", - "9e25a34e635a123f8958bbe26e7c4843278597fb": "Hours", + "62957ecfdc50957e8957c11d2eae74d078f0ef1a": "1 minute", + "1dd3e663dfa7ac9cb77cfddd2cf8ac700657e2d6": "2 minutes", + "24e46784cbce32443db5a2638b1a7d3201543e9b": "3 minutes", + "3aa5819ed8a0b94d0f293db8e9c9598298ddd402": "5 minutes", + "a6f151883b736f0470d33492e61c72a7d059d065": "10 minutes", + "899761ff5425abd2ee214fa7aa46e27c6c8b5aae": "15 minutes", + "31bbe8890d28d183f8f7f2c160fa892c444c0ec7": "30 minutes", + "f030c3d667652646b86732ad7bc67e226c49cd3a": "1 hour", + "2046e49e33c040e08dbd6fd83df3e1846015e6f1": "2 hours", + "7b47150d431db70d783724007f07ab894eb8ac2e": "4 hours", + "191800b7e9a48680792c0dd77cb6cac00c4514c6": "8 hours", + "2d8a6f7c34468578640b333b8650131de06ac770": "1 day", "f94510322ecd9b3a2af67a10bd51ecc4ac6a24e7": "Up/Down", + "c1365a35e99d0f9147ebc72f21534cf471fa7d95": "Up/Down Equals", "9c7960c6b11d35ac9d6cdc1ebaad3af43b2065c5": "Asians", "2260ce49306460c8a2ef501939f29ad6ddd4e934": "Digits", "0186aa73a1b75fa8f0eb98bbd9ad01102bb09ec1": "Touch/No Touch", "f7de1f66f0979667da275b7e8996e805395025a1": "Ends In/Out", "a431deecd4c2258097adae418d496fe9a8179fee": "Stays In/Goes Out", + "256fe245cb7d3d673095f7faaa8c9ff81b985ad1": "High/Low Ticks", + "12a3f461cdebbc8f335190413ee6c57442743bba": "Reset Call/Reset Put", + "e696144fa588782e6d6b2c97e2d3ed1adf52bd5c": "Only Ups/Only Downs", "91a64e3f83c91acf336c631fba295f297f94c399": "Run After n Seconds", "024696596f26a4db232fd9e966eadfeb27c0bd1a": "Run Every n Seconds", "c538c170bdc6b0f3bb98dce44a016a2e2d45a6e7": "upper", @@ -128,11 +159,29 @@ "f16459104f92ab6b38aa265adb4ecbfc3768e303": "Histogram", "e09f635f4e77476c9ca1c37bc9992e9ace3431c1": "MACD", "27bed13a88c60350c3de92ec3820e1cc4f7d6ec3": "Signal", + "19eabc961735d78f12fc7be906ffcb033853cf85": "Timestamp", + "68f4145fee7dde76afceb910165924ad14cf0d00": "Message", + "629777b7d4d610ace6dee24442730f27d7d0853e": "File is not supported:", + "beb040c8fabd007c9cc5ac6a9feb6bdb05d33dac": "Any unsaved changes will be lost.", + "410bf23a3f080def9c7a976a16305bcde7943ed1": "Are you sure?", + "e99811bd3b1ad17e74614060ecb180602be35ad6": "Logged you out!", + "3b26e990d3acff493ee2cf66d1280bed2625e43f": "Connection lost before receiving the response from the server", + "876f3e0202ca40dedf2e5ab6577eba1ae637fb53": "Strategies", + "8ce80462febd4d573cb2f9c1984fdc93b7c21c57": "There was an error loading Google Drive libraries", + "7f412a8cf67f755d3eb36846dd07148ceb8d4c72": "Could not load Google Drive blocks", + "3b6bbab905129dd36b8d4e99947fa30540ed7b2a": "Unrecognized file format", + "3d6b44df6eaf6236b4abc1aadcf8f5b1cda769c1": "There was an error retrieving data from Google Drive", + "cdfe947b0c089a4a1f78c11299f25c32a124f1a6": "Select a Binary Bot strategy", + "2db43c69a4b96454914f0b8272bc869984529e6e": "There was an error listing files from Google Drive", + "0dcea5f584938e0fff00084b83156ab31d641ab3": "There was an error retrieving files from Google Drive", + "18da95988117ff029393f3f5c881d70ef47f7385": "There was an error processing your request", + "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Select a folder", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Proposals are not ready", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Selected proposal does not exist", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Bought", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "Sell is not available", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Sold for", "ed4978867de1da05b336b724a3fb96222a29ebec": "Index must be a positive integer", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Profit amount", @@ -140,16 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Maximum number of trades reached", "9202ddae4cea16513e53bbc965d88ed975e59512": "Maximum loss amount reached", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init is not called", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Chart", - "f90691af95e0735042635eb7fd2367812d800516": "Maximum number of trades", - "a571293591257b7a4e97484de6054ab919bc3a04": "Maximum loss amount", - "952f375412e89ff213a8aca383d18e5691354347": "Start", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Trade Limitations", - "a3cbb98ddf5ee976bc1c3be5221d66ce3ca2e867": "Filename", - "bf33cc2e57180686002e873efb1564c214405c77": "Save As Collection", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Save", - "08548ce1ad20fb84564db0c018ddbc067d8bb631": "Save blocks as", - "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Account", "d847919a30d31c0be624087f3370492b3fdf80c6": "No. of runs", "5cd6978d63540c8a490ef76f43219de6362f958e": "Total stake", @@ -160,27 +199,55 @@ "4db3e9e4aecd187db9339a10d2629fef46724dc4": "Trade type", "1bb4086b66659d8580f9be4beef69931aeea3cad": "Entry spot", "8bf249c4855e591964bd5bdd35c8ef2ee107342d": "Exit spot", - "ece5ea97a5cdb285391094bc2a1bf2f818aae714": "Sell spot", "ba7be969e7c1bb5f22489e843478e3d721aaa843": "Buy price", "772fbced18230220d2d9be1456be16fc1b271d25": "Profit/Loss", - "49979b6b199475367734bd8713412d227fc0f2c1": "Bot is stopped", - "127fd3228ebd3d2f5000e96ca6f09871b7891c9d": "Bot is stopping", + "bae7d5be70820ed56467bd9a63744e23b47bd711": "Status", + "96f608c16cef16caa06bf38901fb5f618a35a70b": "Pending", + "7fb3a9b5101bcd45e2dca077191693a5199bafa9": "Settled", + "82a82f798dd773717ec37d15fd4405510291734e": "Bot is not running.", + "6a88e58aa1798626f94cf17f1a91618b405bb289": "Bot is starting...", + "624cc7f40b68faace7e78d8e5c5be1d4f15facda": "Bot is running...", + "788180a6ddbbbcca10f6f49d8e85d557934bae0e": "Bot is stopping...", + "d907a40a4a15da3c21a6e0f8ace3f987d482f92c": "Bot has stopped.", "4f219c17ab9ab76aa1cd431b4e0e5ecf5520e8e4": "Attempting to Buy", "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Buy amount", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Buy succeeded", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Contract closed", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Chart", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Google Drive Integration", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Maximum consecutive trades should be between 1 and 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Not set", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Daily limit on losses:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Maximum consecutive trades", + "952f375412e89ff213a8aca383d18e5691354347": "Start", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Trade Limitations", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "My computer", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Load", + "248e224f533752db28a1aab3519a58569ad96140": "Load blocks", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Successfully uploaded to Google Drive", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Save as collection", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Save your blocks and settings for re-use in other strategies", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Save", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Save blocks", + "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", + "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Rearrange vertically", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Blocks must be inside block holders, main blocks or functions", + "e9c45563358e813f157ba81b33143542165ba84e": "Warning", + "31cb6f44d030abeabcc7046555dea851602a87a5": "This strategy is not available in your country.", + "9ce3bd4224c8c1780db56b4125ecf3f24bf748b7": "OK", "af145748c9cf765a3b059eec20cb1dbb899297d8": "Blocks are loaded successfully", "a479c9c34e878d07b4d67a73a48f432ad7dc53c8": "Download", - "da162a909c2981ed318d23cd9a6be1d66e0a8400": "Unrecognized file format.", - "b0d2de25daf6ba09a5e710c6968ffded29c4dae1": "Unable to load the block file.", + "f1d8b7b118d6f82f95614d476bc11af650aed3bc": "Unable to load the block file", "11ee9c5d534cc8d22651092222b532917594161a": "Minimum duration is", "5283ac04c9a8ba8a937d1edb4ba986aeefce8bf1": "Number of ticks must be between 5 and 10", "ace1342bc3720b77ce510b93074041e7386d209e": "Expiry time cannot be equal to start time", "fed3e7bd6696fb97a12d720845ab5388456bfc3b": "Prediction must be one digit", "d466687f90ba548434d65186d11a80c4204f9ad6": "must be added inside:", "6ddf2b3075ac9ab5d66b40e15ea9a34c087672ea": "must be added inside", + "33aa6ff282ee509d37c6f758274c9156b419ff73": "The strategy you tried to import is invalid.", + "da162a909c2981ed318d23cd9a6be1d66e0a8400": "Unrecognized file format.", "5e719fa76e1b6cb396376c82ebdd04bec7253229": "Remote blocks to load must be a collection.", + "b0d2de25daf6ba09a5e710c6968ffded29c4dae1": "Unable to load the block file.", "df84a88f38b03b5b342362d72370b0d66afdae35": "Target must be an xml file", "cd680fd936e9559ef1d95efac7a71680e2b13a89": "This url is already loaded", "34c59389053701a04127f74d32315e0206e076f8": "An error occurred while trying to load the url", @@ -191,13 +258,13 @@ "e9b450d14bc2363d292c84f17cfad5cfbd58a458": "Done", "29cadadfebdd578a50b7b3d1b2c5b33e424d5de7": "Take a quick tour", "a48e81d4a8da67637b46725824177a959fe99b21": "Ready to learn how to use Binary Bot?", - "fcb6e90e7223e1d1d735f15dbb7ded9d81bbe7ef": "Do not ask me again.", "6f3e6ebf249947cec4f64117253a8fe43335ae79": "No Thanks", + "fcb6e90e7223e1d1d735f15dbb7ded9d81bbe7ef": "Do not ask me again.", "4ca0a75c2b7fa7da4364d03b72c46fee1860a2bf": "Workspace", "5fcf29b9f0b8971c8148e70a150ddc9ac04c94fc": "Drag and drop block files.", "ddcbb5361b1a16eba60fca2383fb297bb90ed9b3": "Download sample strategies", "1758356db21759f7c5a0da9b4dd1db8fd6feab3f": "or", - "cd2026251587b1a2299de2638e867bfba324c8bd": "Make your own strategies", + "00b581632c1532969a7128ebc8eae936ed8af04e": "make your own strategies.", "d171baee235d4c93f63755a876782dc5be4c3e47": "Blocks toolbox", "056f19272d96f902c38207cf163ea8dbff7fbd32": "Add more blocks from here to your bot.", "36bae31694f85bd7a5b0ad45e51ef622b95baadb": "Accounts", @@ -208,6 +275,16 @@ "4f1b3d682c2a00b393c33637da402463bc11d5ff": "Want to report an issue or ask for help?", "0049f8894e41937ebb9111cd3def6749049fb50f": "Click here", "aac1569ccf6b1a11b0ad0fbefdb9ffc777b4c733": "Click to select", + "53adebdc2b1cbbedb56395b19a73fe47b87cc554": "Ticks", + "5fb1db527825d2996e37c655e5dec49d4da80c09": "Seconds", + "092f99ea11a34a8490e7a767a83a42fc45634f82": "Minutes", + "9e25a34e635a123f8958bbe26e7c4843278597fb": "Hours", + "f6bb0f468a8569c67b3d6826e57e62c5500c3681": "Days", + "d1a17af19f5388af9d6596cc0ea7dbb1d739e255": "Not available", + "db6708630fc646eb98298d9acd701e0a1ac051c2": "Save your blocks and strategies to Google Drive", + "85538d002a336c5addef8d189d80976cf7758f8c": "You are logged in as", + "b65463cb6a42a17de514acc4659f7fd331e0876a": "Connect", + "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Disconnect", "cd5f85b6f187605f82386eacd680f93820af8d11": "Result is", "1e38ce3d180cefae485a6986ca7c67841e30376f": "True if the result matches the selection", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Get your trade result and trade again", @@ -246,7 +323,7 @@ "a537f4f3c0f6c68bf896fb23cb2ecdc658488ea2": "MACD Array", "b18e572ea14edd48587145f1ef50718adbf256c6": "Fast EMA Period", "974023bddd6249d0f6404872cfcae205b2599ea2": "Slow EMA Period", - "934da66ec70e7f8b736550f5c0591f5d3d45b619": "SMA Period (for Signal)", + "5c2adcb3d1bfd6b9f5c2dec13d02a9473e4445a1": "Signal EMA Period", "6b15ce93fd68d80aeee7f7964c1306044c3c1baf": "Calculates Moving Average Convergence Divergence (MACD) list from a list", "95ec92885c855ba9cf734c17a43f081901e4d2cc": "Relative Strength Index", "b033619e108c9e43bfd8a42cd97bf5c5dc86dc65": "Relative Strength Index (RSI) from a list with a period", @@ -291,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Notify", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "with sound", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Creates notification", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Total Profit", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Returns the total profit", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "No. Of Runs", @@ -302,8 +381,8 @@ "c1baf816aac5a5cd849768773fc248cd249dc296": "Contract Type:", "c93025710d1ae6cbaf8e710f63eca8edfa0c9399": "Default Candle Interval:", "9693aeaaf68e3929b59b79306feaa0a847d01192": "Duration:", - "911348bf6fef082476779805cd1bda16bef66d2d": "Barrier Offset", - "7b6c4800c92fc89b77fdb39901052847d12caf18": "Prediction:", + "10c02649e226d430bd75a5b6315a41c0db9992a2": "Barrier", + "837276742aa90209dde3b4eef07d8e7ab26731ef": "Prediction", "258b49925b41751c6bd790a0848246566ba61440": "Restart buy/sell on error", "c55ee3445cd391ab299b6f85a6ea9a68a65ea64d": "disable for better performance", "b410994b67e37d9516eb9b866c85a8c639f79e68": "Restart last trade on error", @@ -313,6 +392,9 @@ "999e1ade10ff5ee1d115f5a6288bfd2e0d0736e6": "Define Trade Options", "a43c3299d30a5bc7e31a574cdc87f59cbc8fe585": "Define your trade contract and start the trade, add initializations here. (Runs on start)", "d571f33d957ebcab086ecf38eedd71b6ef0c5820": "Trade Options", + "4d22b565e4253e92a908f216184779679bb1a044": "High barrier", + "b70c38c6db3127422e05315c30bdf76c7c36c480": "Low barrier", + "a6c5f081b3addee364af1c8cdb84853f49dc8e07": "Absolute", "0f2ba74929aca6fea950e351dcd576b7cd841fa4": "is candle black?", "7cb3b482ab66947d439642ec64dc7f5bd4e065dc": "Make a list of", "5925d08228e246f07b790b88ad70c1b73a97d2bc": "values from candles list", diff --git a/src/common/translations/es_ES/i10n.json b/src/common/translations/es_ES/i10n.json index b3d1a4b185..eb08d30307 100644 --- a/src/common/translations/es_ES/i10n.json +++ b/src/common/translations/es_ES/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Se ha producido un error al recuperar archivos de Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Se ha producido un error al procesar su solicitud", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Seleccione una carpeta", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Las propuestas no están listas", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "La propuesta seleccionada no existe", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Comprado", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "Venta no está disponible", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Vendido por", "ed4978867de1da05b336b724a3fb96222a29ebec": "El índice debe ser un número entero positivo", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Volumen de ganancias", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Número máximo de transacciones alcanzado", "9202ddae4cea16513e53bbc965d88ed975e59512": "Valor máximo de pérdidas alcanzado", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init no fue llamado", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Gráfico", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Integración de Google Drive", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "El máximo de operaciones consecutivas debe estar entre 1 y 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "No está ajustado", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Límite diario de pérdidas:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "El máximo de operaciones consecutivas", - "952f375412e89ff213a8aca383d18e5691354347": "Comenzar", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Limitaciones de negociación", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "Mi ordenador", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Cargar", - "248e224f533752db28a1aab3519a58569ad96140": "Bloques de carga", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Subido con éxito a Google Drive", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Guardar como colección", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Guarde sus bloques y configuraciones para reutilizarlos en otras estrategias", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Guardar", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Guardar bloques", - "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Cuenta", "d847919a30d31c0be624087f3370492b3fdf80c6": "Nº de ejecuciones", "5cd6978d63540c8a490ef76f43219de6362f958e": "Total apostado", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Comprar cantidad", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Compra conseguida", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Contrato cerrado", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Gráfico", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Integración de Google Drive", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "El máximo de operaciones consecutivas debe estar entre 1 y 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "No está ajustado", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Límite diario de pérdidas:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "El máximo de operaciones consecutivas", + "952f375412e89ff213a8aca383d18e5691354347": "Comenzar", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Limitaciones de negociación", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "Mi ordenador", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Cargar", + "248e224f533752db28a1aab3519a58569ad96140": "Bloques de carga", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Subido con éxito a Google Drive", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Guardar como colección", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Guarde sus bloques y configuraciones para reutilizarlos en otras estrategias", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Guardar", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Guardar bloques", + "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Reorganizar verticalmente", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Los bloques deben estar dentro de los contenedores de bloques, bloques principales o funciones", "e9c45563358e813f157ba81b33143542165ba84e": "Aviso", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "Ha iniciado sesión como", "b65463cb6a42a17de514acc4659f7fd331e0876a": "Conectar", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Desconectar", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Precio de venta", - "343fda69c73b78b84967055aae97f790c422adfd": "Precio de venta de la propuesta seleccionada", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Ver y comprar su contrato", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Observe el flujo de intervalos y compre el contrato deseado (se ejecuta en la actualización de los intervalos)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Pago de la propuesta seleccionada", - "160f06d4799c85021a810f68c5b517eea37a2737": "Comprar", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Compra un contrato elegido.", "cd5f85b6f187605f82386eacd680f93820af8d11": "El resultado es", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Verdadero si el resultado corresponde a la selección", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Reciba el resultado de su transacción y negocie nuevamente", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Lee una opción seleccionada de la lista de detalles del contrato", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Negocie nuevamente", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Ejecuta el bloque de negociación nuevamente", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Precio de venta", + "343fda69c73b78b84967055aae97f790c422adfd": "Precio de venta de la propuesta seleccionada", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Ver y comprar su contrato", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Observe el flujo de intervalos y compre el contrato deseado (se ejecuta en la actualización de los intervalos)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Pago de la propuesta seleccionada", + "160f06d4799c85021a810f68c5b517eea37a2737": "Comprar", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Compra un contrato elegido.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "Venta disponible", "03bad10717e183b24829baf483dc715e1a44bf7b": "Verdadero si venta en el mercado está disponible", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Ver y vender su contrato adquirido", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Notificar", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "con sonido", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Crea la notificación", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Ganancia total", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Devuelve la ganancia total", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Nº de ejecuciones", diff --git a/src/common/translations/fr_FR/i10n.json b/src/common/translations/fr_FR/i10n.json index 0bea9b6e9a..9cd1460600 100644 --- a/src/common/translations/fr_FR/i10n.json +++ b/src/common/translations/fr_FR/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Une erreur s'est produite lors de la récupération des fichiers de Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Une erreur s'est produite lors du traitement de votre demande", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Sélectionnez un dossier", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Les propositions ne sont pas prêtes", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "La proposition retenue n’existe pas", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Acheté", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "La possibilité de vendre n'est pas disponible", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Vendu pour", "ed4978867de1da05b336b724a3fb96222a29ebec": "L'index doit être un nombre entier positif", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Le montant du profit", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Nombre maximal de transactions atteint", "9202ddae4cea16513e53bbc965d88ed975e59512": "Montant maximal de perte atteint", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init n’est pas appelé", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Graphique", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Intégration de Google Drive", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Le nombre maximum de trades consécutifs doit être compris entre 1 et 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "Non défini", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Limite journalière des pertes :", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Nombre maximum de trades consécutifs", - "952f375412e89ff213a8aca383d18e5691354347": "Début", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Limites de trading", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "Mon ordinateur", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Chargez", - "248e224f533752db28a1aab3519a58569ad96140": "Chargez les blocs", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Téléchargé avec succès sur Google Drive", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Enregistrez en tant que collection", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Sauvegardez vos blocs et paramètres pour les réutiliser dans d'autres stratégies", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Enregistrer", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Sauvegarder les blocs", - "39fca63515c105918f03e4908ec12df675b07f92": "Affichage en mode trading", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Compte", "d847919a30d31c0be624087f3370492b3fdf80c6": "Nb. d'exécutions", "5cd6978d63540c8a490ef76f43219de6362f958e": "Mise totale", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Acheter le montant", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Achat réussi", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Contrat fermé", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Graphique", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Intégration de Google Drive", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Le nombre maximum de trades consécutifs doit être compris entre 1 et 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Non défini", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Limite journalière des pertes :", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Nombre maximum de trades consécutifs", + "952f375412e89ff213a8aca383d18e5691354347": "Début", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Limites de trading", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "Mon ordinateur", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Chargez", + "248e224f533752db28a1aab3519a58569ad96140": "Chargez les blocs", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Téléchargé avec succès sur Google Drive", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Enregistrez en tant que collection", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Sauvegardez vos blocs et paramètres pour les réutiliser dans d'autres stratégies", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Enregistrer", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Sauvegarder les blocs", + "39fca63515c105918f03e4908ec12df675b07f92": "Affichage en mode trading", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Réorganiser verticalement", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Les blocs doivent être à l'intérieur des porte-blocs, des blocs principaux ou des fonctions principales", "e9c45563358e813f157ba81b33143542165ba84e": "Avertissement", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "Vous êtes connecté en tant que", "b65463cb6a42a17de514acc4659f7fd331e0876a": "Connecter", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Déconnecter", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Prix de la demande", - "343fda69c73b78b84967055aae97f790c422adfd": "Prix de demande pour la proposition sélectionnée", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Suivre et acheter votre contrat", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Suivre le flux des ticks et acheter le contrat souhaité (s'exécute à la mise à jour des ticks)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Paiement pour la proposition sélectionnée", - "160f06d4799c85021a810f68c5b517eea37a2737": "Acheter", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Achète le contrat sélectionné.", "cd5f85b6f187605f82386eacd680f93820af8d11": "Le résultat est", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Vrai si le résultat correspond à la sélection", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Obtenir le résultat de votre opération et effectuer à nouveau une opération", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Affiche une option sélectionnée dans la liste des détails du contrat", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Exécuter à nouveau l'opération", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Exécute à nouveau le bloc de trading", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Prix de la demande", + "343fda69c73b78b84967055aae97f790c422adfd": "Prix de demande pour la proposition sélectionnée", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Suivre et acheter votre contrat", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Suivre le flux des ticks et acheter le contrat souhaité (s'exécute à la mise à jour des ticks)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Paiement pour la proposition sélectionnée", + "160f06d4799c85021a810f68c5b517eea37a2737": "Acheter", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Achète le contrat sélectionné.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "Une option de vente est disponible", "03bad10717e183b24829baf483dc715e1a44bf7b": "Vrai si la vente au prix du marché est disponible", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Suivre et vendre le contrat acheté", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Notifier", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "avec du son", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Crée une notification", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Total des profits", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Retourne le total des profits", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Nb. d'exécutions", diff --git a/src/common/translations/id_ID/i10n.json b/src/common/translations/id_ID/i10n.json index ee21ba833f..5597f67520 100644 --- a/src/common/translations/id_ID/i10n.json +++ b/src/common/translations/id_ID/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Terjadi kesalahan saat mengambil file dari Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Terdapat kesalahan dalam memproses permintaan Anda", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Pilih folder", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Proposal tidak siap", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Proposal yang dipilih tidak tersedia", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Membeli", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "Jual tidak tersedia", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Dijual seharga", "ed4978867de1da05b336b724a3fb96222a29ebec": "Indeks harus berupa angka genap positif", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Jumlah keuntungan", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Jumlah maksimum trading tercapai", "9202ddae4cea16513e53bbc965d88ed975e59512": "Jumlah kerugian maksimum tercapai", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init tidak disebut", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Grafik", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Integrasi Google Drive", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Maksimum trading berurutan harus antara 1 hingga 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "Belum diset", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Batas harian kerugian:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Maksimum trading berurutan", - "952f375412e89ff213a8aca383d18e5691354347": "Mulai", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Batasan Trading", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "Komputer saya", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Muatan", - "248e224f533752db28a1aab3519a58569ad96140": "Memuat blok", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Berhasil memuat Google Drive", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Menyimpan sebagai koleksi", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Simpan blok dan pengaturan Anda untuk digunakan kembali dalam strategi lain", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Simpan", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Menyimpan blok", - "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Akun", "d847919a30d31c0be624087f3370492b3fdf80c6": "Jumlah kontrak", "5cd6978d63540c8a490ef76f43219de6362f958e": "Total Modal", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Jumlah beli", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Pembelian berhasil", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Kontrak ditutup", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Grafik", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Integrasi Google Drive", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Maksimum trading berurutan harus antara 1 hingga 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Belum diset", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Batas harian kerugian:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Maksimum trading berurutan", + "952f375412e89ff213a8aca383d18e5691354347": "Mulai", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Batasan Trading", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "Komputer saya", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Muatan", + "248e224f533752db28a1aab3519a58569ad96140": "Memuat blok", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Berhasil memuat Google Drive", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Menyimpan sebagai koleksi", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Simpan blok dan pengaturan Anda untuk digunakan kembali dalam strategi lain", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Simpan", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Menyimpan blok", + "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Susun ulang secara vertikal", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Blok harus berada didalam pemegang blok, blok utama atau fungsi", "e9c45563358e813f157ba81b33143542165ba84e": "Peringatan", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "Anda mengakses sebagai", "b65463cb6a42a17de514acc4659f7fd331e0876a": "Menghubungkan", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Memutuskan", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Harga Ask", - "343fda69c73b78b84967055aae97f790c422adfd": "Harga Ask bagi proposal yang dipilih", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Lihat dan beli kontrak Anda", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Lihat stream tik dan beli kontrak yang Anda inginkan (Tampilkan tik terbaru)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Hasil bagi proposal yang dipilih", - "160f06d4799c85021a810f68c5b517eea37a2737": "Beli", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Beli kontrak terpilih.", "cd5f85b6f187605f82386eacd680f93820af8d11": "Hasilnya adalah", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Benar jika hasilnya sesuai pilihan", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Dapatkan hasil trading Anda dan bertrading lagi", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Baca pilihan opsi dari daftar rincian kontrak", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Trading Kembali", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Tampilkan blok kembali", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Harga Ask", + "343fda69c73b78b84967055aae97f790c422adfd": "Harga Ask bagi proposal yang dipilih", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Lihat dan beli kontrak Anda", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Lihat stream tik dan beli kontrak yang Anda inginkan (Tampilkan tik terbaru)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Hasil bagi proposal yang dipilih", + "160f06d4799c85021a810f68c5b517eea37a2737": "Beli", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Beli kontrak terpilih.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "Penjualan tersedia", "03bad10717e183b24829baf483dc715e1a44bf7b": "Benar jika penjualan pada pasar tersedia", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Lihat dan jual kontrak yang Anda beli", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Memberitahukan", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "dengan suara", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Menciptakan pemberitahuan", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Total Profit", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Menampilkan total profit", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Jumlah Transaksi", diff --git a/src/common/translations/it_IT/i10n.json b/src/common/translations/it_IT/i10n.json index 18200c5cb8..c14702bc66 100644 --- a/src/common/translations/it_IT/i10n.json +++ b/src/common/translations/it_IT/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Si è verificato un errore nel recupero dei file da Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Si è verificato un errore nell'elaborazione della tua richiesta", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Seleziona una cartella", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Le proposte non sono pronte", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "La proposta selezionata non esiste", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Comprato", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "La vendita non è disponibile", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Venduto per", "ed4978867de1da05b336b724a3fb96222a29ebec": "L'indice deve essere un numero intero positivo", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Volume del profitto", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Numero massimo di trade raggiunto", "9202ddae4cea16513e53bbc965d88ed975e59512": "Importo massimo della perdita raggiunto", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init non viene richiamato", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Grafico", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Integrazione di Google Drive", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Il numero massimo di trade consecutivi deve essere compreso tra 1 e 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "Non impostato", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Limite giornaliero sulle perdite:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Numero massimo di trade consecutivi", - "952f375412e89ff213a8aca383d18e5691354347": "Inizio", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Limiti del trading", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "Il mio computer", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Carica", - "248e224f533752db28a1aab3519a58569ad96140": "Carica blocchi", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Il caricamento su Google Drive è stato effettuato", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Salva come raccolta", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Salva blocchi e impostazioni per utilizzarli in altre strategie", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Salva", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Salva blocchi", - "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Account", "d847919a30d31c0be624087f3370492b3fdf80c6": "N. di utilizzi", "5cd6978d63540c8a490ef76f43219de6362f958e": "Puntata totale", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Acquista corrispettivo", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Acquisto effettuato", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Contratto chiuso", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Grafico", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Integrazione di Google Drive", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Il numero massimo di trade consecutivi deve essere compreso tra 1 e 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Non impostato", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Limite giornaliero sulle perdite:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Numero massimo di trade consecutivi", + "952f375412e89ff213a8aca383d18e5691354347": "Inizio", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Limiti del trading", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "Il mio computer", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Carica", + "248e224f533752db28a1aab3519a58569ad96140": "Carica blocchi", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Il caricamento su Google Drive è stato effettuato", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Salva come raccolta", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Salva blocchi e impostazioni per utilizzarli in altre strategie", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Salva", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Salva blocchi", + "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Disponi in verticale", "e4458464df6cbb8da1134875ba51519c5d244d9f": "I blocchi devono rimanere all'interno dei contenitori di blocchi, blocchi principali o funzioni", "e9c45563358e813f157ba81b33143542165ba84e": "Attenzione", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "Hai effettuato il login come", "b65463cb6a42a17de514acc4659f7fd331e0876a": "Connetti", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Disconnetti", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Chiedi prezzo", - "343fda69c73b78b84967055aae97f790c422adfd": "Chiedi il prezzo per la proposta selezionata", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Osserva e acquista il tuo contratto", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Osserva il flusso di tick e acquista il contratto desiderato (Funziona sull'aggiornamento dei tick)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Payout per la proposta selezionata", - "160f06d4799c85021a810f68c5b517eea37a2737": "Acquista", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Acquista il contratto selezionato.", "cd5f85b6f187605f82386eacd680f93820af8d11": "Il risultato è", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Vero se il risulta corrisponde alla selezione", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Ottieni il risultato del tuo trade e negozia di nuovo", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Leggi un'opzione selezionata dall'elenco dei dettagli dei contratti", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Negozia di nuovo", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Esegui nuovamente il blocco dei trade", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Chiedi prezzo", + "343fda69c73b78b84967055aae97f790c422adfd": "Chiedi il prezzo per la proposta selezionata", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Osserva e acquista il tuo contratto", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Osserva il flusso di tick e acquista il contratto desiderato (Funziona sull'aggiornamento dei tick)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Payout per la proposta selezionata", + "160f06d4799c85021a810f68c5b517eea37a2737": "Acquista", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Acquista il contratto selezionato.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "La vendita è disponibile", "03bad10717e183b24829baf483dc715e1a44bf7b": "Vero se è disponibile la vendita al prezzo di mercato", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Osserva e vendi il contratto acquistato", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Notifica", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "con audio", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Crea la notifica", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Profitto totale", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Ritorna al profitto totale", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "N. di utilizzi", diff --git a/src/common/translations/pl_PL/i10n.json b/src/common/translations/pl_PL/i10n.json index 9e895e0c17..a7834372e1 100644 --- a/src/common/translations/pl_PL/i10n.json +++ b/src/common/translations/pl_PL/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Podczas pobierania plików z Dysku Google wystąpił błąd", "18da95988117ff029393f3f5c881d70ef47f7385": "Podczas przetwarzania Twojego żądania wystąpił błąd", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Wybierz folder", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Propozycje nie są gotowe", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Wybrana propozycja nie istnieje", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Kupiono", "89f89c02cf47e091e726a4e07b88af0966806897": "Identyfikator", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "Opcja sprzedaży jest niedostępna", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Sprzedano za", "ed4978867de1da05b336b724a3fb96222a29ebec": "Indeks musi być dodatnią liczbą całkowitą", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Kwota zysku", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Zawarto już maksymalną liczbę zakładów", "9202ddae4cea16513e53bbc965d88ed975e59512": "Została osiągnięta maksymalna kwota straty", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Nie wywołano Bot.init", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Wykres", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Integracja z Dyskiem Google", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Maksymalna liczba zakładów następujących po sobie powinna wynosić od 1 do 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "Nie ustawiono", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Dzienny limit strat:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Maksymalna liczba zakładów następujących po sobie", - "952f375412e89ff213a8aca383d18e5691354347": "Start", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Ograniczenia dot. zakładów", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "Mój komputer", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Załaduj", - "248e224f533752db28a1aab3519a58569ad96140": "Załaduj bloki", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Pomyślnie przesłano na Dysk Google", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Zapisz jako kolekcję", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Zapisz swoje bloki i ustawienia do ponownego użycia w innych strategiach", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Zapisz", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Zapisz bloki", - "39fca63515c105918f03e4908ec12df675b07f92": "Widok handlowy", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Konto", "d847919a30d31c0be624087f3370492b3fdf80c6": "Liczba uruchomień", "5cd6978d63540c8a490ef76f43219de6362f958e": "Całkowita stawka", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Kwota zakupu", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Dokonano zakupu", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Kontrakt został zamknięty", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Wykres", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Integracja z Dyskiem Google", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Maksymalna liczba zakładów następujących po sobie powinna wynosić od 1 do 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Nie ustawiono", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Dzienny limit strat:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Maksymalna liczba zakładów następujących po sobie", + "952f375412e89ff213a8aca383d18e5691354347": "Start", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Ograniczenia dot. zakładów", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "Mój komputer", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Załaduj", + "248e224f533752db28a1aab3519a58569ad96140": "Załaduj bloki", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Pomyślnie przesłano na Dysk Google", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Zapisz jako kolekcję", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Zapisz swoje bloki i ustawienia do ponownego użycia w innych strategiach", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Zapisz", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Zapisz bloki", + "39fca63515c105918f03e4908ec12df675b07f92": "Widok handlowy", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Przestaw pionowo", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Bloki muszą znajdować się między symbolami bloków, głównymi blokami lub funkcjami", "e9c45563358e813f157ba81b33143542165ba84e": "Ostrzeżenie", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "Jesteś zalogowany jako", "b65463cb6a42a17de514acc4659f7fd331e0876a": "Połącz", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Rozłącz", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Cena ofertowa", - "343fda69c73b78b84967055aae97f790c422adfd": "Cena ofertowa dla wybranej propozycji", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Obserwuj i dokonaj zakupu swojego kontraktu", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Obserwuj strumień zmian cen i dokonaj zakupu wybranego kontraktu (Uruchamia się przy aktualizacji najmniejszych zmian cen)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Wypłata dla wybranej propozycji", - "160f06d4799c85021a810f68c5b517eea37a2737": "Zakup", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Kupuje wybrany kontrakt.", "cd5f85b6f187605f82386eacd680f93820af8d11": "Wynik", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Prawda, jeśli wynik jest zgodny z wyborem", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Uzyskaj wynik swojego zakładu i handluj ponownie", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Wczytuje wybraną opcję z listy szczegółów kontraktu", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Handluj ponownie", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Uruchamia ponownie blok handlowy", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Cena ofertowa", + "343fda69c73b78b84967055aae97f790c422adfd": "Cena ofertowa dla wybranej propozycji", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Obserwuj i dokonaj zakupu swojego kontraktu", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Obserwuj strumień zmian cen i dokonaj zakupu wybranego kontraktu (Uruchamia się przy aktualizacji najmniejszych zmian cen)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Wypłata dla wybranej propozycji", + "160f06d4799c85021a810f68c5b517eea37a2737": "Zakup", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Kupuje wybrany kontrakt.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "Dostępna jest opcja sprzedaży", "03bad10717e183b24829baf483dc715e1a44bf7b": "Prawda, jeśli opcja sprzedaży na rynku jest dostępna", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Obserwuj i sprzedaj swój zakupiony kontrakt", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Powiadom", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "z dźwiękiem", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Tworzy powiadomienia", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Całkowity zysk", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Zwraca całkowity zysk", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Liczba uruchomień", diff --git a/src/common/translations/pt_PT/i10n.json b/src/common/translations/pt_PT/i10n.json index 13ec934d9b..bd94371ee2 100644 --- a/src/common/translations/pt_PT/i10n.json +++ b/src/common/translations/pt_PT/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Houve um erro ao recuperar arquivos de Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Houve um erro ao processar o seu pedido", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Selecione uma pasta", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "As propostas não estão prontas", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "A proposta selecionada não existe", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Comprado", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "Venda não está disponível", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Vendido por", "ed4978867de1da05b336b724a3fb96222a29ebec": "Índice deve ser um número inteiro positivo", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Valor do lucro", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Número máximo de negociações atingido", "9202ddae4cea16513e53bbc965d88ed975e59512": "Valor máximo de perdas atingido", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init não foi chamado", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Gráfico", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Integração com Google Drive", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Máximo de negociações consecutivas deve ser entre 1 e 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "Não definido", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Limite diário de perdas:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Máximo de negociações consecutivas", - "952f375412e89ff213a8aca383d18e5691354347": "Iniciar", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Limitações de negociação", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "Meu computador", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Carregar", - "248e224f533752db28a1aab3519a58569ad96140": "Carregar blocos", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Carregado com sucesso para o Google Drive", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Salvar como coleção", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Salvar os seus blocos e as suas configurações para reutiliação em outras estratégias", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Salvar", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Salvar blocos", - "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Conta", "d847919a30d31c0be624087f3370492b3fdf80c6": "Nº de execuções", "5cd6978d63540c8a490ef76f43219de6362f958e": "Aposta total", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Valor de compra", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Compra bem-sucedida", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Contrato fechado", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Gráfico", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Integração com Google Drive", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Máximo de negociações consecutivas deve ser entre 1 e 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Não definido", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Limite diário de perdas:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Máximo de negociações consecutivas", + "952f375412e89ff213a8aca383d18e5691354347": "Iniciar", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Limitações de negociação", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "Meu computador", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Carregar", + "248e224f533752db28a1aab3519a58569ad96140": "Carregar blocos", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Carregado com sucesso para o Google Drive", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Salvar como coleção", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Salvar os seus blocos e as suas configurações para reutiliação em outras estratégias", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Salvar", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Salvar blocos", + "39fca63515c105918f03e4908ec12df675b07f92": "Trading View", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Reorganizar verticalmente", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Blocos devem estar dentro de contentores de blocos, blocos principais ou funções", "e9c45563358e813f157ba81b33143542165ba84e": "Aviso", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "Você está conectado como", "b65463cb6a42a17de514acc4659f7fd331e0876a": "Conectar-se", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Desconectar-se", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Preço de venda", - "343fda69c73b78b84967055aae97f790c422adfd": "Preço de venda da proposta selecionada", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Acompanhe e compre o seu contrato", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Acompanhe o fluxo de tique-taques e compre o contrato desejado (Executa-se na atualização dos tique-taques)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Prêmio da proposta selecionada", - "160f06d4799c85021a810f68c5b517eea37a2737": "Comprar", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Compra um contrato selecionado.", "cd5f85b6f187605f82386eacd680f93820af8d11": "O resultado é", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Verdadeiro se o resultado corresponder à seleção", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Receba o resultado da sua negociação e negocie novamente", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Lê uma opção selecionada da lista de dados do contrato", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Negocie novamente", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Executa o bloco de negociação novamente", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Preço de venda", + "343fda69c73b78b84967055aae97f790c422adfd": "Preço de venda da proposta selecionada", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Acompanhe e compre o seu contrato", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Acompanhe o fluxo de tique-taques e compre o contrato desejado (Executa-se na atualização dos tique-taques)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Prêmio da proposta selecionada", + "160f06d4799c85021a810f68c5b517eea37a2737": "Comprar", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Compra um contrato selecionado.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "Venda disponível", "03bad10717e183b24829baf483dc715e1a44bf7b": "Verdadeiro se venda no mercado estiver disponível", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Acompanhe e venda o seu contrato adquirido", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Notificar", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "com som", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Cria notificação", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Lucro total", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Devolve o lucro total", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "N.º de execuções", diff --git a/src/common/translations/ru_RU/i10n.json b/src/common/translations/ru_RU/i10n.json index 49e4fd9db3..a7a8fb51b5 100644 --- a/src/common/translations/ru_RU/i10n.json +++ b/src/common/translations/ru_RU/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Возникла ошибка при извлечении файлов из Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Возникла ошибка при обработке Вашего запроса", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Выберите папку", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Предложения не готовы", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Выбранное предложение не существует", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Куплено", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "Продажа недоступна", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Продано по", "ed4978867de1da05b336b724a3fb96222a29ebec": "Индекс должен быть положительным целым числом", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Сумма прибыли", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Вы достигли максимального количества сделок", "9202ddae4cea16513e53bbc965d88ed975e59512": "Вы достигли максимальной суммы убытка", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init не названо", - "66c7734789e19cbeef3a5ac185ea732139aed213": "График", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Интеграция Google Drive", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Максимальное число последовательных контрактов должно составлять от 1 до 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "Не задано", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Дневной лимит на убытки:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Максимальное число последовательных контрактов", - "952f375412e89ff213a8aca383d18e5691354347": "Начать", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Торговые ограничения", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "Мой компьютер", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Загрузить", - "248e224f533752db28a1aab3519a58569ad96140": "Загрузить блоки", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Успешно загружено на Google Drive", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Сохранить как коллекцию", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Сохраните блоки и настройки для повторного использования в других стратегиях", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Сохранить", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Сохранить блоки", - "39fca63515c105918f03e4908ec12df675b07f92": "TradingView", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Счёт", "d847919a30d31c0be624087f3370492b3fdf80c6": "Кол-во выполнений", "5cd6978d63540c8a490ef76f43219de6362f958e": "Общая ставка", @@ -218,8 +202,8 @@ "ba7be969e7c1bb5f22489e843478e3d721aaa843": "Цена покупки", "772fbced18230220d2d9be1456be16fc1b271d25": "Прибыль/убыток", "bae7d5be70820ed56467bd9a63744e23b47bd711": "Статус", - "96f608c16cef16caa06bf38901fb5f618a35a70b": "Ожидающ.", - "7fb3a9b5101bcd45e2dca077191693a5199bafa9": "Заканч.", + "96f608c16cef16caa06bf38901fb5f618a35a70b": "В процессе", + "7fb3a9b5101bcd45e2dca077191693a5199bafa9": "Завершен", "82a82f798dd773717ec37d15fd4405510291734e": "Бот не запущен.", "6a88e58aa1798626f94cf17f1a91618b405bb289": "Запуск бота...", "624cc7f40b68faace7e78d8e5c5be1d4f15facda": "Бот включен...", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Сумма покупки", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Покупка прошла успешно", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Контракт закрыт", + "66c7734789e19cbeef3a5ac185ea732139aed213": "График", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Интеграция Google Drive", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Максимальное число последовательных контрактов должно составлять от 1 до 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Не задано", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Дневной лимит на убытки:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Максимальное число последовательных контрактов", + "952f375412e89ff213a8aca383d18e5691354347": "Начать", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Торговые ограничения", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "Мой компьютер", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Загрузить", + "248e224f533752db28a1aab3519a58569ad96140": "Загрузить блоки", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Успешно загружено на Google Drive", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Сохранить как коллекцию", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Сохраните блоки и настройки для повторного использования в других стратегиях", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Сохранить", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Сохранить блоки", + "39fca63515c105918f03e4908ec12df675b07f92": "TradingView", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Упорядочить по вертикали", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Блоки должны быть внутри контейнера для блоков, основных блоков или функций", "e9c45563358e813f157ba81b33143542165ba84e": "Предупреждение", @@ -281,16 +282,9 @@ "f6bb0f468a8569c67b3d6826e57e62c5500c3681": "Дни", "d1a17af19f5388af9d6596cc0ea7dbb1d739e255": "Недоступно", "db6708630fc646eb98298d9acd701e0a1ac051c2": "Сохраните блоки и стратегии на Google Drive", - "85538d002a336c5addef8d189d80976cf7758f8c": "Вы входите как", + "85538d002a336c5addef8d189d80976cf7758f8c": "Вы вошли как", "b65463cb6a42a17de514acc4659f7fd331e0876a": "Подключить", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Отключить", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Цена аск", - "343fda69c73b78b84967055aae97f790c422adfd": "Цена аск для выбранного предложения", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Просм. и купите контракт", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Проследите за потоком тиков и купите нужный контракт. (Запускается при обновлении тиков)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Выплата для выбранного предложения", - "160f06d4799c85021a810f68c5b517eea37a2737": "Покупка", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Покупает выбранный контракт.", "cd5f85b6f187605f82386eacd680f93820af8d11": "Результат", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Значение верно, если результат соответствует выбору", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Узнайте результат и торгуйте снова", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Считывает выбранный параметр из списка Подробностей контракта", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Торговать снова", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Повторно запускает блок торговли", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Цена аск", + "343fda69c73b78b84967055aae97f790c422adfd": "Цена аск для выбранного предложения", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) Просм. и купите контракт", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Проследите за потоком тиков и купите нужный контракт. (Запускается при обновлении тиков)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Выплата для выбранного предложения", + "160f06d4799c85021a810f68c5b517eea37a2737": "Покупка", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Покупает выбранный контракт.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "Продажа доступна", "03bad10717e183b24829baf483dc715e1a44bf7b": "Значение верно, если доступна продажа по рыночной цене", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Следите и продайте контракт", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Уведомить", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "со звуком", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Создаёт уведомление", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Общая прибыль", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Возвращает общую прибыль", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Кол-во выполнений", diff --git a/src/common/translations/th_TH/i10n.json b/src/common/translations/th_TH/i10n.json index c398b4a7fb..2a15d7dd01 100644 --- a/src/common/translations/th_TH/i10n.json +++ b/src/common/translations/th_TH/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "พบข้อผิดพลาดในขณะเรียกไฟล์ต่างๆ จากกูเกิลไดร์ฟ", "18da95988117ff029393f3f5c881d70ef47f7385": "พบข้อผิดพลาดขณะดำเนินการคำขอของท่าน", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "เลือกโฟลเดอร์", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "ข้อเสนอยังไม่พร้อมใช้งาน", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "ไม่มีข้อเสนอที่เลือก", "6ea4a034747d020b1d8ce4848def95d537555dd6": "ซื้อ", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "ไม่สามารถขายได้", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "ขายเพื่อ", "ed4978867de1da05b336b724a3fb96222a29ebec": "ดัชนีต้องเป็นจำนวนเต็มบวก", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "กำไร", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "การใช้งานถึงจำนวนขีดจำกัดสูงสุดแล้ว", "9202ddae4cea16513e53bbc965d88ed975e59512": "ถึงจำนวนขาดทุนสูงสุดแล้ว", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "ยังไม่ได้เรียก Bot.init", - "66c7734789e19cbeef3a5ac185ea732139aed213": "แผนภูมิ", - "3b662fb2e8bafce29aa98321b18874bb44905488": "การเชื่อมต่อกับกูเกิลไดร์ฟ", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "จำนวนสูงสุดในการซื้อขายต่อเนื่องควรจะมีค่าระหว่าง 1 ถึง 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "ยังไม่ตั้งค่า", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "วงเงินขาดทุนต่อวัน:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "จำนวนสูงสุดในการซื้อขายต่อเนื่อง", - "952f375412e89ff213a8aca383d18e5691354347": "เริ่ม", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "ข้อจำกัดการซื้อขาย", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "เครื่องคอมพิวเตอร์", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "โหลด", - "248e224f533752db28a1aab3519a58569ad96140": "โหลดบล็อก", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "อัพโหลดไปกูเกิ้ลไดร์ฟเรียบร้อยแล้ว", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "บันทึกเป็นกลยุทธ์อ้างอิง", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "บันทึกบล็อกของท่าน และตั้งค่าสำหรับการใช้งานซ้ำในกลยุทธ์อื่น", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "บันทึก", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "บันทึกบล็อก", - "39fca63515c105918f03e4908ec12df675b07f92": "มุมมองซื้อขาย", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "บัญชี", "d847919a30d31c0be624087f3370492b3fdf80c6": "จำนวนของรัน", "5cd6978d63540c8a490ef76f43219de6362f958e": "จำนวนเงินเดิมพันทั้งสิ้น", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "จำนวนเงินที่ซื้อ", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "จำนวนเงินที่ซื้อได้", "f02760cd2eac28169f0a990c950c3dfe8427f772": "สัญญาที่ถูกจำหน่าย", + "66c7734789e19cbeef3a5ac185ea732139aed213": "แผนภูมิ", + "3b662fb2e8bafce29aa98321b18874bb44905488": "การเชื่อมต่อกับกูเกิลไดร์ฟ", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "จำนวนสูงสุดในการซื้อขายต่อเนื่องควรจะมีค่าระหว่าง 1 ถึง 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "ยังไม่ตั้งค่า", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "วงเงินขาดทุนต่อวัน:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "จำนวนสูงสุดในการซื้อขายต่อเนื่อง", + "952f375412e89ff213a8aca383d18e5691354347": "เริ่ม", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "ข้อจำกัดการซื้อขาย", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "เครื่องคอมพิวเตอร์", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "โหลด", + "248e224f533752db28a1aab3519a58569ad96140": "โหลดบล็อก", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "อัพโหลดไปกูเกิ้ลไดร์ฟเรียบร้อยแล้ว", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "บันทึกเป็นกลยุทธ์อ้างอิง", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "บันทึกบล็อกของท่าน และตั้งค่าสำหรับการใช้งานซ้ำในกลยุทธ์อื่น", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "บันทึก", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "บันทึกบล็อก", + "39fca63515c105918f03e4908ec12df675b07f92": "มุมมองซื้อขาย", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "ปรับแต่งตามแนวตั้ง", "e4458464df6cbb8da1134875ba51519c5d244d9f": "บล็อกต้องมีตัวบรรจุบล็อกด้านใน บล็อกหลัก หรือ ฟังก์ชัน", "e9c45563358e813f157ba81b33143542165ba84e": "คำเตือน", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "ชื่อที่ใช้งาน", "b65463cb6a42a17de514acc4659f7fd331e0876a": "เชื่อมต่อ", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "ยุติการเชื่อมต่อ", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "ราคาเสนอขาย", - "343fda69c73b78b84967055aae97f790c422adfd": "ราคาเสนอขายสำหรับข้อเสนอที่เลือก", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) พิจารณาและซื้อสัญญาของท่าน", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "พิจารณาช่วงราคาที่แสดงและดำเนินการซื้อสัญญาที่ต้องการ (รันช่วงราคาอัพเดท)", - "87da93a46d143f6019979b3548414d9d7adabb35": "การชำระราคาสำหรับข้อเสนอที่เลือก", - "160f06d4799c85021a810f68c5b517eea37a2737": "ซื้อ", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "ซื้อสัญญาที่เลือก", "cd5f85b6f187605f82386eacd680f93820af8d11": "ผลลัพธ์ คือ", "1e38ce3d180cefae485a6986ca7c67841e30376f": "เป็นจริง หากผลลัพธ์เหมือนกับที่เลือกไว้", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) รับผลการซื้อขายของท่าน และดำเนินการซื้อขายต่อไป", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "อ่านตัวเลือกจากรายการสัญญา", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "เทรดใหม่", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "รันบล็อกซื้อขายอีกครั้ง", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "ราคาเสนอขาย", + "343fda69c73b78b84967055aae97f790c422adfd": "ราคาเสนอขายสำหรับข้อเสนอที่เลือก", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) พิจารณาและซื้อสัญญาของท่าน", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "พิจารณาช่วงราคาที่แสดงและดำเนินการซื้อสัญญาที่ต้องการ (รันช่วงราคาอัพเดท)", + "87da93a46d143f6019979b3548414d9d7adabb35": "การชำระราคาสำหรับข้อเสนอที่เลือก", + "160f06d4799c85021a810f68c5b517eea37a2737": "ซื้อ", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "ซื้อสัญญาที่เลือก", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "สามารถขายได้", "03bad10717e183b24829baf483dc715e1a44bf7b": "เป็นจริง หากสามารถขายที่ราคาตลาดได้", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) พิจารณาและขายสัญญาของท่าน", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "แจ้ง", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "ด้วยเสียง", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "สร้างการแจ้งเตือน", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "กำไรรวม", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "คืนค่า กำไรทั้งหมด", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "จำนวนของรัน", diff --git a/src/common/translations/vi_VN/i10n.json b/src/common/translations/vi_VN/i10n.json index 6d664bd4ce..bb3e58ec99 100644 --- a/src/common/translations/vi_VN/i10n.json +++ b/src/common/translations/vi_VN/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Đã có lỗi khi lấy tệp từ Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Đã có lỗi khi xử lý yêu cầu của bạn", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Chọn một thư mục", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Các đề nghị chưa sẵn sàng", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Đề nghị đã chọn không tồn tại", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Đã được mua", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "Lựa chọn bán không khả dụng", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Đã bán cho", "ed4978867de1da05b336b724a3fb96222a29ebec": "Chỉ số phải là một số nguyên dương", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Số lợi nhuận", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "Số giao dịch tối đa đã đạt tới", "9202ddae4cea16513e53bbc965d88ed975e59512": "Số lỗ tối đa đã đạt tới", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "Bot.init không được gọi", - "66c7734789e19cbeef3a5ac185ea732139aed213": "Biểu đồ", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Tích hợp Google Drive", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Tối đa các giao dịch liên tiếp nên trong khoảng từ 1 đến 100", - "93039e609d94a24f3572b794a31b21525a09af2b": "Chưa thiết lập", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Giới hạn mức thua lỗ hàng ngày:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Tối đa các giao dịch liên tiếp", - "952f375412e89ff213a8aca383d18e5691354347": "Bắt đầu", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Những rào cản về giao dịch", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "Máy tính của tôi", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Tải", - "248e224f533752db28a1aab3519a58569ad96140": "Tải các giao dịch", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Tải lên Google Drive thành công", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Lưu làm bộ sưu tập", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "Lưu các khối và cài đặt của bạn để sử dụng cho các chiến lược khác", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "Lưu", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "Lưu lại giao dịch", - "39fca63515c105918f03e4908ec12df675b07f92": "Xem giao dịch", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "Tài khoản", "d847919a30d31c0be624087f3370492b3fdf80c6": "Số lần chạy", "5cd6978d63540c8a490ef76f43219de6362f958e": "Tổng cổ phần", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "Số lượng mua", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "Mua thành công", "f02760cd2eac28169f0a990c950c3dfe8427f772": "Hợp đồng đã được đóng", + "66c7734789e19cbeef3a5ac185ea732139aed213": "Biểu đồ", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Tích hợp Google Drive", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "Tối đa các giao dịch liên tiếp nên trong khoảng từ 1 đến 100", + "93039e609d94a24f3572b794a31b21525a09af2b": "Chưa thiết lập", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "Giới hạn mức thua lỗ hàng ngày:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "Tối đa các giao dịch liên tiếp", + "952f375412e89ff213a8aca383d18e5691354347": "Bắt đầu", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "Những rào cản về giao dịch", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "Máy tính của tôi", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "Tải", + "248e224f533752db28a1aab3519a58569ad96140": "Tải các giao dịch", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "Tải lên Google Drive thành công", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "Lưu làm bộ sưu tập", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "Lưu các khối và cài đặt của bạn để sử dụng cho các chiến lược khác", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "Lưu", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "Lưu lại giao dịch", + "39fca63515c105918f03e4908ec12df675b07f92": "Xem giao dịch", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "Sắp xếp lại theo chiều dọc", "e4458464df6cbb8da1134875ba51519c5d244d9f": "Các khối phải ở trong giữ khối, các khối chính hoặc các chức năng", "e9c45563358e813f157ba81b33143542165ba84e": "Cảnh báo", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "Bạn đăng nhập với tên", "b65463cb6a42a17de514acc4659f7fd331e0876a": "Kết nối", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "Ngắt kết nối", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Hỏi giá", - "343fda69c73b78b84967055aae97f790c422adfd": "Hỏi giá cho đề nghị đã chọn", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) xem và mua các hợp đồng của bạn", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Xem các dòng dấu tích và mua hợp đồng mong muốn (chạy trên cập nhật tích)", - "87da93a46d143f6019979b3548414d9d7adabb35": "Thanh toán cho đề nghị đã chọn", - "160f06d4799c85021a810f68c5b517eea37a2737": "Mua", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Mua một hợp đồng đã chọn.", "cd5f85b6f187605f82386eacd680f93820af8d11": "Kết quả là", "1e38ce3d180cefae485a6986ca7c67841e30376f": "Đúng nếu kết quả khớp với lựa chọn", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) Nhận kết quả giao dịch của bạn và giao dịch lần nữa", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "Đọc một tùy chọn đã được chọn từ danh sách chi tiết hợp đồng", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "Giao dịch lần nữa", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "Chạy lại khối giao dịch", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "Hỏi giá", + "343fda69c73b78b84967055aae97f790c422adfd": "Hỏi giá cho đề nghị đã chọn", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) xem và mua các hợp đồng của bạn", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "Xem các dòng dấu tích và mua hợp đồng mong muốn (chạy trên cập nhật tích)", + "87da93a46d143f6019979b3548414d9d7adabb35": "Thanh toán cho đề nghị đã chọn", + "160f06d4799c85021a810f68c5b517eea37a2737": "Mua", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "Mua một hợp đồng đã chọn.", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "Lựa chọn bán hiện khả dụng", "03bad10717e183b24829baf483dc715e1a44bf7b": "Đúng nếu lựa chọn tại thị trường đang khả dụng", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) Xem và bán hợp đồng đã mua của bạn", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Thông báo cho", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "với âm thanh", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Tạo thông báo", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Tổng lợi nhuận", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Hoàn về tổng lợi nhuận", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Số lần chạy", diff --git a/src/common/translations/zh_CN/i10n.json b/src/common/translations/zh_CN/i10n.json index 0ea04ce365..6708427598 100644 --- a/src/common/translations/zh_CN/i10n.json +++ b/src/common/translations/zh_CN/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "从 Google 云端硬盘检索文件时出错", "18da95988117ff029393f3f5c881d70ef47f7385": "处理您的请求时出错", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "选择文件夹", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "建议还没有准备好", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "选定的建议并不存在", "6ea4a034747d020b1d8ce4848def95d537555dd6": "已买入", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "不可售出", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "已售出", "ed4978867de1da05b336b724a3fb96222a29ebec": "指标必须是正整数", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "利润总额", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "最大达成交易的数目", "9202ddae4cea16513e53bbc965d88ed975e59512": "最大损失金额", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "未调用Bot.init", - "66c7734789e19cbeef3a5ac185ea732139aed213": "图表", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Google云端硬盘集成", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "最大连续交易数须是1到100之间", - "93039e609d94a24f3572b794a31b21525a09af2b": "未设置", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "每日损失限额:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "最大连续交易数", - "952f375412e89ff213a8aca383d18e5691354347": "开始", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "交易限制", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "我的电脑", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "加载", - "248e224f533752db28a1aab3519a58569ad96140": "加载数据块", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "已成功上传到 Google 云端硬盘", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "另存为集合件", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "保存您的数据块和设置, 以便在其他策略中重复使用", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "保存", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "保存程序块为", - "39fca63515c105918f03e4908ec12df675b07f92": "交易查看", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "账户", "d847919a30d31c0be624087f3370492b3fdf80c6": "运行次数", "5cd6978d63540c8a490ef76f43219de6362f958e": "总投注金额", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "买入金额", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "购买成功", "f02760cd2eac28169f0a990c950c3dfe8427f772": "合约已终止", + "66c7734789e19cbeef3a5ac185ea732139aed213": "图表", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Google云端硬盘集成", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "最大连续交易数须是1到100之间", + "93039e609d94a24f3572b794a31b21525a09af2b": "未设置", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "每日损失限额:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "最大连续交易数", + "952f375412e89ff213a8aca383d18e5691354347": "开始", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "交易限制", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "我的电脑", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "加载", + "248e224f533752db28a1aab3519a58569ad96140": "加载数据块", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "已成功上传到 Google 云端硬盘", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "另存为集合件", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "保存您的数据块和设置, 以便在其他策略中重复使用", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "保存", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "保存程序块为", + "39fca63515c105918f03e4908ec12df675b07f92": "交易查看", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "重设直行", "e4458464df6cbb8da1134875ba51519c5d244d9f": "程序块必须位于程序块定位器、主要程序块或函数内", "e9c45563358e813f157ba81b33143542165ba84e": "警告", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "您的登录ID是", "b65463cb6a42a17de514acc4659f7fd331e0876a": "连接", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "断开", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "卖价", - "343fda69c73b78b84967055aae97f790c422adfd": "选定建议的卖价", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) 查看并购入合约", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "查看看跳动点流向和购入所需合约(在跳动点更新上运行)", - "87da93a46d143f6019979b3548414d9d7adabb35": "选定建议的赔付额", - "160f06d4799c85021a810f68c5b517eea37a2737": "购入", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "购入选定的合约。", "cd5f85b6f187605f82386eacd680f93820af8d11": "结果是", "1e38ce3d180cefae485a6986ca7c67841e30376f": "如果结果与选择匹配,请回答“是”", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) 获得交易结果,并再次交易", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "从合同详细信息列表中读取所选的选项", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "再次交易", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "再次运行交易程序块", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "卖价", + "343fda69c73b78b84967055aae97f790c422adfd": "选定建议的卖价", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) 查看并购入合约", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "查看看跳动点流向和购入所需合约(在跳动点更新上运行)", + "87da93a46d143f6019979b3548414d9d7adabb35": "选定建议的赔付额", + "160f06d4799c85021a810f68c5b517eea37a2737": "购入", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "购入选定的合约。", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "可卖出", "03bad10717e183b24829baf483dc715e1a44bf7b": "如果市场上可卖出,请回答“是”", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) 查看和卖出已购入合约", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "通知", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "带声音", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "创建通知", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "总利润", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "返回总利润", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "运行次数", diff --git a/src/common/translations/zh_TW/i10n.json b/src/common/translations/zh_TW/i10n.json index 271473dddf..407bc1f556 100644 --- a/src/common/translations/zh_TW/i10n.json +++ b/src/common/translations/zh_TW/i10n.json @@ -176,11 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "從 Google 雲端硬碟檢索檔案時出錯", "18da95988117ff029393f3f5c881d70ef47f7385": "處理您的請求時出錯", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "選擇資料夾", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "建議還沒有準備好", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "選定的建議並不存在", "6ea4a034747d020b1d8ce4848def95d537555dd6": "已買入", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "992f995b2808cbf76b3ee231e113d0e2898532a2": "不可售出", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "已售出", "ed4978867de1da05b336b724a3fb96222a29ebec": "指標必須是正整數", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "利潤總額", @@ -188,23 +189,6 @@ "46fc6f27a835486d63d9e927c6687e4508cb3087": "最大達成交易的數目", "9202ddae4cea16513e53bbc965d88ed975e59512": "最大損失金額", "5f52b397b7e5f538681f0f5717a88aa626349c7a": "未調用Bot.init", - "66c7734789e19cbeef3a5ac185ea732139aed213": "圖表", - "3b662fb2e8bafce29aa98321b18874bb44905488": "Google雲端硬碟集成", - "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "最大連續交易數需是1到100之間", - "93039e609d94a24f3572b794a31b21525a09af2b": "未設置", - "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "每日損失限額:", - "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "最大連續交易數", - "952f375412e89ff213a8aca383d18e5691354347": "開始", - "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "交易限制", - "095ba68888b5ace5f4515f5acab76dfa1073544e": "我的電腦", - "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "載入", - "248e224f533752db28a1aab3519a58569ad96140": "載入程式塊", - "c7097e97dcc446ca889d3ca6be733a65e2728afe": "已成功上傳到 Google 雲端硬碟", - "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "另存為集合件", - "611ebbfb080284312904de925ef0f75f4cb56ad2": "保存您的程式塊和設置, 以便在其他策略中重複使用", - "efc007a393f66cdb14d57d385822a3d9e36ef873": "儲存", - "a638caa8ab2b7ff7980a571334217339e6d1d634": "程式塊儲存為", - "39fca63515c105918f03e4908ec12df675b07f92": "交易檢視", "85dfa32c97d8618d1bea083609e2c8a29845abe5": "帳戶", "d847919a30d31c0be624087f3370492b3fdf80c6": "運行次數", "5cd6978d63540c8a490ef76f43219de6362f958e": "總投注金額", @@ -229,6 +213,23 @@ "4684ee1026d9b4c872d016c3c4588a0c479a451c": "購入金額", "ca92c55b9e4233d771d5b6300fe751a9678d1deb": "購買成功", "f02760cd2eac28169f0a990c950c3dfe8427f772": "合約已終止", + "66c7734789e19cbeef3a5ac185ea732139aed213": "圖表", + "3b662fb2e8bafce29aa98321b18874bb44905488": "Google雲端硬碟集成", + "7ee0ff5eaa6fa82bd6d83a2f4ca446c663f097cb": "最大連續交易數需是1到100之間", + "93039e609d94a24f3572b794a31b21525a09af2b": "未設置", + "ea67c8023c75375484f3a5f1aeb009b20059d5bc": "每日損失限額:", + "b1946e5b4b78465b7661fd4bc89ff52de6c633e7": "最大連續交易數", + "952f375412e89ff213a8aca383d18e5691354347": "開始", + "9f1c61cc03f3ef9324db05502f7f0b61e61e1521": "交易限制", + "095ba68888b5ace5f4515f5acab76dfa1073544e": "我的電腦", + "ddcb77ff769ea54ca622848f6bedd4004fa4f4fa": "載入", + "248e224f533752db28a1aab3519a58569ad96140": "載入程式塊", + "c7097e97dcc446ca889d3ca6be733a65e2728afe": "已成功上傳到 Google 雲端硬碟", + "3218e5a460e82d7bdea9ce0f145cab2f47ba9a4b": "另存為集合件", + "611ebbfb080284312904de925ef0f75f4cb56ad2": "保存您的程式塊和設置, 以便在其他策略中重複使用", + "efc007a393f66cdb14d57d385822a3d9e36ef873": "儲存", + "a638caa8ab2b7ff7980a571334217339e6d1d634": "程式塊儲存為", + "39fca63515c105918f03e4908ec12df675b07f92": "交易檢視", "fadc0ef93d1ff13370524ce8481ddc4a71195934": "重設直行", "e4458464df6cbb8da1134875ba51519c5d244d9f": "區塊必須位於區塊筒、主要區塊或函數內", "e9c45563358e813f157ba81b33143542165ba84e": "警告", @@ -284,13 +285,6 @@ "85538d002a336c5addef8d189d80976cf7758f8c": "您的登入ID是", "b65463cb6a42a17de514acc4659f7fd331e0876a": "連接", "ed28e0686e1251ba046f582a3e9ec02470a5e78d": "中斷連線", - "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "賣價", - "343fda69c73b78b84967055aae97f790c422adfd": "選定建議的賣價", - "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) 觀看和購入合約", - "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "觀看跳動點流向和購入所需的合約(在跳動點更新上運行)", - "87da93a46d143f6019979b3548414d9d7adabb35": "選定建議的賠付額", - "160f06d4799c85021a810f68c5b517eea37a2737": "購入", - "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "購入選定的合約。", "cd5f85b6f187605f82386eacd680f93820af8d11": "結果是", "1e38ce3d180cefae485a6986ca7c67841e30376f": "如果結果與選擇匹配,請回答「是」", "5c89497fc3c128e2ff865ce8df15356054f2c028": "(4) 獲得交易結果並再次交易", @@ -299,6 +293,13 @@ "251c830f8f869e0887e8b4dc4c30ba1738c7097e": "從合同詳細資訊清單中讀取所選的選項", "b3b543c80063a116ced4965d8537b7b62d14c0b7": "再次交易", "a1eeb7c1e92e9a5d9323ed8ebd7ca7ffed8b0232": "再次運行交易區塊", + "da3105e38c42a481ad7230ed393b0e12bebe9c4f": "賣價", + "343fda69c73b78b84967055aae97f790c422adfd": "選定建議的賣價", + "d4d34ce9d9dd7e87213469f88cb7ac43725675d5": "(2) 觀看和購入合約", + "fb61a3c71f4c488b3b470cb7daf502a3e9b5ad48": "觀看跳動點流向和購入所需的合約(在跳動點更新上運行)", + "87da93a46d143f6019979b3548414d9d7adabb35": "選定建議的賠付額", + "160f06d4799c85021a810f68c5b517eea37a2737": "購入", + "4c2fdde3d9c1950498ed263d6ce21d4bf3d0800b": "購入選定的合約。", "ca5586bdb5bdc1a2c0baf53ed0ecd21fafabebe7": "可賣出", "03bad10717e183b24829baf483dc715e1a44bf7b": "如果市場上可賣出,請回答「是」", "2c71ed279a402e93312dbda173ab18f244d6bf46": "(3) 查看和賣出所購入的合約", @@ -367,6 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "通知", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "帶聲音", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "建立通知", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "利潤總計", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "返回總利潤", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "運行次數", From 2c34a8803065089b115de2b62aeae8a08c806a0d Mon Sep 17 00:00:00 2001 From: Aaron Date: Thu, 4 Jul 2019 10:16:22 +0800 Subject: [PATCH 22/38] Update stale.yml --- .github/stale.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/stale.yml b/.github/stale.yml index 58c238a3ff..2f83cae135 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -11,6 +11,11 @@ daysUntilClose: 14 exemptLabels: - bug - "technical issues" + - "feature request" + + +# Label to use when marking an issue as stale +staleLabel: stale # Comment to post when marking as stale. Set to `false` to disable markComment: false @@ -21,4 +26,4 @@ closeComment: > any recent activity. Please open a new issue for related bugs. # Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 30 \ No newline at end of file +limitPerRun: 30 From 7133025ba516916e554bdba70a04d05ab139203b Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 4 Jul 2019 11:16:43 +0800 Subject: [PATCH 23/38] hide notify when profit is zero --- src/botPage/bot/TradeEngine/Total.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/botPage/bot/TradeEngine/Total.js b/src/botPage/bot/TradeEngine/Total.js index c5e14aa82c..9a338dfb1b 100644 --- a/src/botPage/bot/TradeEngine/Total.js +++ b/src/botPage/bot/TradeEngine/Total.js @@ -88,7 +88,7 @@ export default Engine => } getTotalProfit(toString, currency) { const accountStat = this.getAccountStat(); - return toString + return toString && accountStat.totalProfit !== 0 ? roundBalance({ currency, balance: +accountStat.totalProfit, From 0f4804869c72df64f681843cff117b78f37558ae Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 5 Jul 2019 10:21:35 +0800 Subject: [PATCH 24/38] adjust tradetable entryvalue & exitvalue width --- src/botPage/view/TradeInfoPanel/TradeTable.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/botPage/view/TradeInfoPanel/TradeTable.js b/src/botPage/view/TradeInfoPanel/TradeTable.js index 1d8eff86c2..1974a4d7fe 100644 --- a/src/botPage/view/TradeInfoPanel/TradeTable.js +++ b/src/botPage/view/TradeInfoPanel/TradeTable.js @@ -50,8 +50,8 @@ export default class TradeTable extends Component { { key: 'timestamp', width: 192, resizable: true, name: translate('Timestamp') }, { key: 'reference', width: 110, resizable: true, name: translate('Reference') }, { key: 'contract_type', width: 70, resizable: true, name: translate('Trade type') }, - { key: 'entry_tick', width: 75, resizable: true, name: translate('Entry spot') }, - { key: 'exit_tick', width: 75, resizable: true, name: translate('Exit spot') }, + { key: 'entry_tick', width: 82, resizable: true, name: translate('Entry spot') }, + { key: 'exit_tick', width: 82, resizable: true, name: translate('Exit spot') }, { key: 'buy_price', width: 80, resizable: true, name: translate('Buy price') }, { key: 'profit', width: 80, resizable: true, name: translate('Profit/Loss'), formatter: ProfitColor }, { key: 'contract_status', width: 70, resizable: true, name: translate('Status'), formatter: StatusFormat }, From 4a95a8562944eefc2d751c3d7b2273204a05be4c Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 5 Jul 2019 10:41:09 +0800 Subject: [PATCH 25/38] new string --- src/common/translations/es_ES/i10n.json | 8 ++++---- src/common/translations/fr_FR/i10n.json | 8 ++++---- src/common/translations/id_ID/i10n.json | 8 ++++---- src/common/translations/it_IT/i10n.json | 8 ++++---- src/common/translations/pl_PL/i10n.json | 8 ++++---- src/common/translations/pt_PT/i10n.json | 6 +++--- src/common/translations/th_TH/i10n.json | 12 ++++++------ src/common/translations/vi_VN/i10n.json | 8 ++++---- src/common/translations/zh_CN/i10n.json | 8 ++++---- src/common/translations/zh_TW/i10n.json | 8 ++++---- 10 files changed, 41 insertions(+), 41 deletions(-) diff --git a/src/common/translations/es_ES/i10n.json b/src/common/translations/es_ES/i10n.json index eb08d30307..e5b19d7c8f 100644 --- a/src/common/translations/es_ES/i10n.json +++ b/src/common/translations/es_ES/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Se ha producido un error al recuperar archivos de Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Se ha producido un error al procesar su solicitud", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Seleccione una carpeta", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "La notificación de Telegram no se pudo enviar", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Las propuestas no están listas", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "La propuesta seleccionada no existe", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Comprado", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "No se ofrece reventa de este contrato.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Vendido por", "ed4978867de1da05b336b724a3fb96222a29ebec": "El índice debe ser un número entero positivo", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Volumen de ganancias", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Notificar", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "con sonido", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Crea la notificación", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notificar a Telegram %1 Token de acceso: %2 ID de chat: %3 Mensaje: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Envía un mensaje a Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Ganancia total", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Devuelve la ganancia total", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Nº de ejecuciones", diff --git a/src/common/translations/fr_FR/i10n.json b/src/common/translations/fr_FR/i10n.json index 9cd1460600..3f83dd0f10 100644 --- a/src/common/translations/fr_FR/i10n.json +++ b/src/common/translations/fr_FR/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Une erreur s'est produite lors de la récupération des fichiers de Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Une erreur s'est produite lors du traitement de votre demande", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Sélectionnez un dossier", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "La notification par Telegram n'a pas pu être envoyée", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Les propositions ne sont pas prêtes", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "La proposition retenue n’existe pas", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Acheté", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "La revente de ce contrat n’est pas offert.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Vendu pour", "ed4978867de1da05b336b724a3fb96222a29ebec": "L'index doit être un nombre entier positif", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Le montant du profit", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Notifier", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "avec du son", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Crée une notification", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Alerter Telegram %1 Jeton d'Accès : %2 ID de Conversation : %3 Message : %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Envoie un message à Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Total des profits", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Retourne le total des profits", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Nb. d'exécutions", diff --git a/src/common/translations/id_ID/i10n.json b/src/common/translations/id_ID/i10n.json index 5597f67520..a51233d848 100644 --- a/src/common/translations/id_ID/i10n.json +++ b/src/common/translations/id_ID/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Terjadi kesalahan saat mengambil file dari Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Terdapat kesalahan dalam memproses permintaan Anda", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Pilih folder", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "Notifikasi Telegram tidak dapat dikirim", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Proposal tidak siap", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Proposal yang dipilih tidak tersedia", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Membeli", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Penjualan kembali kontrak ini tidak ditawarkan.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Dijual seharga", "ed4978867de1da05b336b724a3fb96222a29ebec": "Indeks harus berupa angka genap positif", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Jumlah keuntungan", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Memberitahukan", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "dengan suara", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Menciptakan pemberitahuan", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notifikasi Telegram %1 Token Akses: %2 ID Chat: %3 Pesan: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Mengirim pesan ke Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Total Profit", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Menampilkan total profit", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Jumlah Transaksi", diff --git a/src/common/translations/it_IT/i10n.json b/src/common/translations/it_IT/i10n.json index c14702bc66..5f38830a3c 100644 --- a/src/common/translations/it_IT/i10n.json +++ b/src/common/translations/it_IT/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Si è verificato un errore nel recupero dei file da Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Si è verificato un errore nell'elaborazione della tua richiesta", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Seleziona una cartella", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "Impossibile inviare la notifica su Telegram", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Le proposte non sono pronte", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "La proposta selezionata non esiste", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Comprato", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "La rivendita non è disponibile per questo contratto.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Venduto per", "ed4978867de1da05b336b724a3fb96222a29ebec": "L'indice deve essere un numero intero positivo", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Volume del profitto", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Notifica", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "con audio", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Crea la notifica", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Notifica Telegram %1 Token accesso: %2 ID chat: %3 Messaggio: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Invia un messaggio a Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Profitto totale", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Ritorna al profitto totale", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "N. di utilizzi", diff --git a/src/common/translations/pl_PL/i10n.json b/src/common/translations/pl_PL/i10n.json index a7834372e1..c6129ac962 100644 --- a/src/common/translations/pl_PL/i10n.json +++ b/src/common/translations/pl_PL/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Podczas pobierania plików z Dysku Google wystąpił błąd", "18da95988117ff029393f3f5c881d70ef47f7385": "Podczas przetwarzania Twojego żądania wystąpił błąd", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Wybierz folder", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "Nie udało się wysłać powiadomienia Telegram", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Propozycje nie są gotowe", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Wybrana propozycja nie istnieje", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Kupiono", "89f89c02cf47e091e726a4e07b88af0966806897": "Identyfikator", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Nie można odsprzedać tego kontraktu.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Sprzedano za", "ed4978867de1da05b336b724a3fb96222a29ebec": "Indeks musi być dodatnią liczbą całkowitą", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Kwota zysku", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Powiadom", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "z dźwiękiem", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Tworzy powiadomienia", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Powiadom Telegram %1 Token dostępu: %2 ID czatu: %3 Wiadomość: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Wysyła wiadomość do Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Całkowity zysk", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Zwraca całkowity zysk", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Liczba uruchomień", diff --git a/src/common/translations/pt_PT/i10n.json b/src/common/translations/pt_PT/i10n.json index bd94371ee2..ceebf6fbb3 100644 --- a/src/common/translations/pt_PT/i10n.json +++ b/src/common/translations/pt_PT/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Houve um erro ao recuperar arquivos de Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Houve um erro ao processar o seu pedido", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Selecione uma pasta", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "Não foi possível enviar esta notificação do Telegram", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "As propostas não estão prontas", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "A proposta selecionada não existe", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Comprado", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Não permitimos a revenda deste contrato.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Vendido por", "ed4978867de1da05b336b724a3fb96222a29ebec": "Índice deve ser um número inteiro positivo", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Valor do lucro", @@ -369,7 +369,7 @@ "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "com som", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Cria notificação", "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Enviar mensagem ao Telegram", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Lucro total", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Devolve o lucro total", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "N.º de execuções", diff --git a/src/common/translations/th_TH/i10n.json b/src/common/translations/th_TH/i10n.json index 2a15d7dd01..b12cde4399 100644 --- a/src/common/translations/th_TH/i10n.json +++ b/src/common/translations/th_TH/i10n.json @@ -49,7 +49,7 @@ "ff29ccd7a6c6073cc462ed590d27a91632fdf67e": "Binary Bot", "608061fb5aab975013fa70c5c814a1d8ba30c152": "การซื้อขายเหนือประสิทธิภาพกว่าที่ท่านจินตนาการว่าจะเป็นไปได้", "e4ce8dc3e416e69262ba642dc57d3975d6616980": "สนใจการวางกลยุทธ์แบบอัตโนมัติสำหรับเทรดไบนารีออปชันไหม?", - "f261237ca8beec6f77b76c4121feb8da22818c56": "Binary Bot เป็นโปรแกรมนวตกรรมล่าสุดที่ทำให้ท่านสร้างแอพพลิเคชันการซื้อขายเหมือนการลากแล้ววาง \"จิ๊กซอว์\" อย่างง่ายดาย", + "f261237ca8beec6f77b76c4121feb8da22818c56": "Binary Bot เป็นโปรแกรมนวัตกรรมล่าสุดที่ทำให้ท่านสร้างแอพพลิเคชันการซื้อขายเหมือนการลากแล้ววาง \"จิ๊กซอว์\" อย่างง่ายดาย", "f6c85c68616eeaaa15fcd53fdc52f6eb5c886357": "จินตนาการบอทซื้อขายไนารีออปชันใดๆ จากสูตรง่ายๆ ไปถึงอัลกอริธึ่มที่ซับซ้อน แล้วให้บอททำงานแทนในทุกครั้งที่ท่านหลับ", "e6906a0d1c28b202f9bd49da4a6abbddca57399a": "ดีไปกว่านั้น เมื่อท่านได้สร้างบอท เราสามารถช่วยท่านขายบอทให้กับเพื่อนๆ ใน", "1dd0cf79c572bcdbdfabbd54ee95710a21234d73": "ร้าน Binary.com", @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "พบข้อผิดพลาดในขณะเรียกไฟล์ต่างๆ จากกูเกิลไดร์ฟ", "18da95988117ff029393f3f5c881d70ef47f7385": "พบข้อผิดพลาดขณะดำเนินการคำขอของท่าน", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "เลือกโฟลเดอร์", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "การแจ้งเตือนทางเทเลแกรมไม่ได้ถูกส่ง", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "ข้อเสนอยังไม่พร้อมใช้งาน", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "ไม่มีข้อเสนอที่เลือก", "6ea4a034747d020b1d8ce4848def95d537555dd6": "ซื้อ", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "ไม่มีการเสนอจำหน่ายใหม่ของสัญญานี้", "62d6180e55905f7b996d442c53631981a4ef8b5b": "ขายเพื่อ", "ed4978867de1da05b336b724a3fb96222a29ebec": "ดัชนีต้องเป็นจำนวนเต็มบวก", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "กำไร", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "แจ้ง", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "ด้วยเสียง", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "สร้างการแจ้งเตือน", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "ส่งข้อความทางเทเลแกรม %1 โทเค่น: %2 รหัสแชท: %3 ข้อความ: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "ส่งข้อความให้เทเลแกรม", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "กำไรรวม", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "คืนค่า กำไรทั้งหมด", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "จำนวนของรัน", @@ -377,7 +377,7 @@ "c67ded6b64019212eb2bc69afd761f5b3f626040": "เพิ่มสัญลักษณ์ให้ตัวเลขเพื่อสร้าง Barrier Offset", "569bbd757e1bb8bbccd250b98dc2bb37cb47b787": "ตลาด", "74751e67c3e1010c343095eaf543e7cb21ced2ef": "ประเภทการซื้อขาย", - "1f4698382842477e211eb46de81fa506f01a8c34": "ทั้งคู่", + "1f4698382842477e211eb46de81fa506f01a8c34": "ทั้งสองสัญญา", "c1baf816aac5a5cd849768773fc248cd249dc296": "ประเภทของสัญญา:", "c93025710d1ae6cbaf8e710f63eca8edfa0c9399": "ช่วงแท่งเทียนตั้งต้น:", "9693aeaaf68e3929b59b79306feaa0a847d01192": "ระยะเวลา:", diff --git a/src/common/translations/vi_VN/i10n.json b/src/common/translations/vi_VN/i10n.json index bb3e58ec99..1e5afdc0b6 100644 --- a/src/common/translations/vi_VN/i10n.json +++ b/src/common/translations/vi_VN/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "Đã có lỗi khi lấy tệp từ Google Drive", "18da95988117ff029393f3f5c881d70ef47f7385": "Đã có lỗi khi xử lý yêu cầu của bạn", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "Chọn một thư mục", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "Không thể gửi thông báo điện tử", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "Các đề nghị chưa sẵn sàng", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "Đề nghị đã chọn không tồn tại", "6ea4a034747d020b1d8ce4848def95d537555dd6": "Đã được mua", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "Hợp đồng chưa được đề nghị bán lại.", "62d6180e55905f7b996d442c53631981a4ef8b5b": "Đã bán cho", "ed4978867de1da05b336b724a3fb96222a29ebec": "Chỉ số phải là một số nguyên dương", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "Số lợi nhuận", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "Thông báo cho", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "với âm thanh", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "Tạo thông báo", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "Thông báo điện tín %1 Token truy cập: %2 ID Chat: %3 Tin nhắn: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Gửi một tin nhắn đến điện tín", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "Tổng lợi nhuận", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "Hoàn về tổng lợi nhuận", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "Số lần chạy", diff --git a/src/common/translations/zh_CN/i10n.json b/src/common/translations/zh_CN/i10n.json index 6708427598..fa3a6abed6 100644 --- a/src/common/translations/zh_CN/i10n.json +++ b/src/common/translations/zh_CN/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "从 Google 云端硬盘检索文件时出错", "18da95988117ff029393f3f5c881d70ef47f7385": "处理您的请求时出错", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "选择文件夹", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "Telegram通知无法发送", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "建议还没有准备好", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "选定的建议并不存在", "6ea4a034747d020b1d8ce4848def95d537555dd6": "已买入", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "此合约不提供转售。", "62d6180e55905f7b996d442c53631981a4ef8b5b": "已售出", "ed4978867de1da05b336b724a3fb96222a29ebec": "指标必须是正整数", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "利润总额", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "通知", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "带声音", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "创建通知", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "通知Telegram %1 访问令牌: %2 聊天 ID: %3 消息: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "給Telegram發送消息", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "总利润", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "返回总利润", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "运行次数", diff --git a/src/common/translations/zh_TW/i10n.json b/src/common/translations/zh_TW/i10n.json index 407bc1f556..01068fd71f 100644 --- a/src/common/translations/zh_TW/i10n.json +++ b/src/common/translations/zh_TW/i10n.json @@ -176,12 +176,12 @@ "0dcea5f584938e0fff00084b83156ab31d641ab3": "從 Google 雲端硬碟檢索檔案時出錯", "18da95988117ff029393f3f5c881d70ef47f7385": "處理您的請求時出錯", "04226bcf91195130e25fe7a8e8ea4d3e058efcb7": "選擇資料夾", - "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "The Telegram notification could not be sent", + "aee24f2456ea8516b024a5d3e2b815ae7f2239d9": "無法發送Telegram通知", "05754ed14275a070a20a1d5cd65f0cea66f1da7f": "建議還沒有準備好", "79222cd9892a434aa61fc7dc01c3839951eb8d1e": "選定的建議並不存在", "6ea4a034747d020b1d8ce4848def95d537555dd6": "已買入", "89f89c02cf47e091e726a4e07b88af0966806897": "ID", - "1200c1af2f7bba4e29a34112865662748c9d41df": "Resale of this contract is not offered.", + "1200c1af2f7bba4e29a34112865662748c9d41df": "此合約不提供轉售。", "62d6180e55905f7b996d442c53631981a4ef8b5b": "已售出", "ed4978867de1da05b336b724a3fb96222a29ebec": "指標必須是正整數", "87e2e01f93d25ba7ed582cc81ef5c9ab2959f4c6": "利潤總額", @@ -368,8 +368,8 @@ "6c03ee54ad3a51fc92a1d69943e99667847705b6": "通知", "b1bec5d06e3672915d81b2fbc2347c8b4947a954": "帶聲音", "a2d0c89fdfff3176efd4a443eb0f6607067b93e7": "建立通知", - "6e0fc122f936f808bc2e3af661121b65712ae855": "Notify Telegram %1 Access Token: %2 Chat ID: %3 Message: %4", - "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "Sends a message to Telegram", + "6e0fc122f936f808bc2e3af661121b65712ae855": "通知Telegram %1 存取權杖: %2 聊天 ID: %3 訊息: %4", + "1aeb6caed9e46edf5d6224adc905ffb8ee3a7708": "給Telegram發送訊息", "45ebd38f4c641ebf6f72be8c3a79dfa50cf9f20e": "利潤總計", "ffb465875e1ff2b49bcaa7c6b70965ffe39fa59d": "返回總利潤", "bc528d26f66fe8c4aa4bb24ec9c99dff12c055e0": "運行次數", From c6b1e99c8904e720e7f33eb69e23331740acf7e5 Mon Sep 17 00:00:00 2001 From: sam-binary <51310435+sam-binary@users.noreply.github.com> Date: Fri, 5 Jul 2019 10:42:44 +0800 Subject: [PATCH 26/38] Update src/botPage/bot/Interface/MiscInterface.js Co-Authored-By: Aaron --- src/botPage/bot/Interface/MiscInterface.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/botPage/bot/Interface/MiscInterface.js b/src/botPage/bot/Interface/MiscInterface.js index ff5242f9a2..ed191f08c6 100644 --- a/src/botPage/bot/Interface/MiscInterface.js +++ b/src/botPage/bot/Interface/MiscInterface.js @@ -29,7 +29,7 @@ export default Interface => notifyTelegram: this.notifyTelegram, getTotalRuns : () => this.tradeEngine.getTotalRuns(), getBalance : type => this.tradeEngine.getBalance(type), - getTotalProfit: (...args) => + getTotalProfit: (toString) => this.tradeEngine.getTotalProfit(...args, this.tradeEngine.tradeOptions.currency), }; } From 9c787ecfae11228e966956829ed3a20b8ad96f5f Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 5 Jul 2019 10:48:49 +0800 Subject: [PATCH 27/38] eslint --- src/botPage/bot/Interface/MiscInterface.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/botPage/bot/Interface/MiscInterface.js b/src/botPage/bot/Interface/MiscInterface.js index ed191f08c6..b3df72b9ae 100644 --- a/src/botPage/bot/Interface/MiscInterface.js +++ b/src/botPage/bot/Interface/MiscInterface.js @@ -29,8 +29,8 @@ export default Interface => notifyTelegram: this.notifyTelegram, getTotalRuns : () => this.tradeEngine.getTotalRuns(), getBalance : type => this.tradeEngine.getBalance(type), - getTotalProfit: (toString) => - this.tradeEngine.getTotalProfit(...args, this.tradeEngine.tradeOptions.currency), + getTotalProfit: toString => + this.tradeEngine.getTotalProfit(toString, this.tradeEngine.tradeOptions.currency), }; } }; From 6dd49cd614972f66ec5b23ba1339b75515b2c42f Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 11:44:53 +0800 Subject: [PATCH 28/38] Create global state in observer --- src/common/utils/observer.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/common/utils/observer.js b/src/common/utils/observer.js index 9fded6642a..d0f06d51f6 100644 --- a/src/common/utils/observer.js +++ b/src/common/utils/observer.js @@ -3,6 +3,7 @@ import { Map, List } from 'immutable'; export default class Observer { constructor() { this.eam = new Map(); // event action map + this.state = {}; } register(event, _action, once, unregisterIfError, unregisterAllBefore) { if (unregisterAllBefore) { @@ -53,6 +54,12 @@ export default class Observer { this.eam.get(event).forEach(action => action.action(data)); } } + setState(state = {}) { + this.state = Object.assign({}, this.state, state); + } + getState(key) { + return this.state[key]; + } } export const observer = new Observer(); From db5793fa9dc515fe01e943f95224409d341d8de6 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 11:46:27 +0800 Subject: [PATCH 29/38] Keep track of bot is_running status globally --- src/botPage/bot/Interpreter.js | 4 +++- src/botPage/bot/TradeEngine/index.js | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/botPage/bot/Interpreter.js b/src/botPage/bot/Interpreter.js index 57854d4428..f7e13d06ae 100644 --- a/src/botPage/bot/Interpreter.js +++ b/src/botPage/bot/Interpreter.js @@ -149,8 +149,10 @@ export default class Interpreter { } terminateSession() { this.$scope.api.disconnect(); - globalObserver.emit('bot.stop'); this.stopped = true; + + globalObserver.emit('bot.stop'); + globalObserver.setState({ is_running: false }); } stop() { if (this.bot.tradeEngine.isSold === false && !this.isErrorTriggered) { diff --git a/src/botPage/bot/TradeEngine/index.js b/src/botPage/bot/TradeEngine/index.js index aaec4f3c65..015b215d1f 100644 --- a/src/botPage/bot/TradeEngine/index.js +++ b/src/botPage/bot/TradeEngine/index.js @@ -92,6 +92,7 @@ export default class TradeEngine extends Balance(Purchase(Sell(OpenContract(Prop } globalObserver.emit('bot.running'); + globalObserver.setState({ is_running: true }); this.tradeOptions = expectTradeOptions(tradeOptions); From e3b33a5ff3f2b18893e1cf213a688c2865d39648 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 11:48:33 +0800 Subject: [PATCH 30/38] Ensure correct button status --- src/botPage/view/View.js | 52 ++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/src/botPage/view/View.js b/src/botPage/view/View.js index 690a9552ae..4788e81aba 100644 --- a/src/botPage/view/View.js +++ b/src/botPage/view/View.js @@ -511,11 +511,17 @@ export default class View { }); const startBot = limitations => { - const $runButtons = $('#runButton, #summaryRunButton'); - const $stopButtons = $('#stopButton, #summaryStopButton'); - $stopButtons.show(); - $runButtons.hide(); - $runButtons.prop('disabled', true); + const el_run_buttons = document.querySelectorAll('#runButton, #summaryRunButton'); + const el_stop_buttons = document.querySelectorAll('#stopButton, #summaryStopButton'); + + el_run_buttons.forEach(el_run_button => { + el_run_button.style.display = 'none'; + el_run_button.setAttributeNode(document.createAttribute('disabled')); + }); + el_stop_buttons.forEach(el_stop_button => { + el_stop_button.style.display = 'initial'; + }); + globalObserver.emit('summary.disable_clear'); showSummary(); this.blockly.run(limitations); @@ -627,6 +633,9 @@ export default class View { this.blockly.stop(); } addEventHandlers() { + const getRunButtonElements = () => document.querySelectorAll('#runButton, #summaryRunButton'); + const getStopButtonElements = () => document.querySelectorAll('#stopButton, #summaryStopButton'); + window.addEventListener('storage', e => { window.onbeforeunload = null; if (e.key === 'activeToken' && !e.newValue) window.location.reload(); @@ -634,7 +643,8 @@ export default class View { }); globalObserver.register('Error', error => { - $('#runButton, #summaryRunButton').prop('disabled', false); + getRunButtonElements().forEach(el_run_button => el_run_button.removeAttribute('disabled')); + if (error.error && error.error.error.code === 'InvalidToken') { removeAllTokens(); updateTokenList(); @@ -642,16 +652,28 @@ export default class View { } }); + globalObserver.register('bot.running', () => { + getRunButtonElements().forEach(el_run_button => { + el_run_button.style.display = 'none'; + el_run_button.setAttributeNode(document.createAttribute('disabled')); + }); + getStopButtonElements().forEach(el_stop_button => { + el_stop_button.style.display = 'inline-block'; + el_stop_button.removeAttribute('disabled'); + }); + }); + globalObserver.register('bot.stop', () => { - const $runButtons = $('#runButton, #summaryRunButton'); - const $stopButtons = $('#stopButton, #summaryStopButton'); - if ($runButtons.is(':visible') || $stopButtons.is(':visible')) { - $runButtons.show(); - $stopButtons.hide(); - - $stopButtons.prop('disabled', false); - $runButtons.prop('disabled', false); - } + // Enable run button, this event is emitted after the interpreter + // killed the API connection. + getStopButtonElements().forEach(el_stop_button => { + el_stop_button.style.display = 'none'; + el_stop_button.removeAttribute('disabled'); + }); + getRunButtonElements().forEach(el_run_button => { + el_run_button.style.display = null; + el_run_button.removeAttribute('disabled'); + }); }); globalObserver.register('bot.info', info => { From 4363e587c0ded0c40c2a55da7c99400c24ee723b Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 11:50:26 +0800 Subject: [PATCH 31/38] Refactor disableRunButton function --- src/botPage/view/blockly/blocks/shared.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/botPage/view/blockly/blocks/shared.js b/src/botPage/view/blockly/blocks/shared.js index 80406ad6e2..cf16369302 100644 --- a/src/botPage/view/blockly/blocks/shared.js +++ b/src/botPage/view/blockly/blocks/shared.js @@ -410,6 +410,21 @@ export const getPredictionForContracts = (contracts, selectedContractType) => { return predictionRange; }; -export const disableRunButton = isDisabled => { - $('#runButton, #summaryRunButton').attr('disabled', isDisabled); +export const disableRunButton = should_disable => { + const el_run_buttons = document.querySelectorAll('#runButton, #summaryRunButton'); + const is_running = globalObserver.getState('is_running'); + + el_run_buttons.forEach(el_run_button => { + if (is_running) { + if (should_disable) { + el_run_button.setAttributeNode(document.createAttribute('disabled')); + } else { + // Do not enable. The bot is running. + } + } else if (should_disable) { + el_run_button.setAttributeNode(document.createAttribute('disabled')); + } else { + el_run_button.removeAttribute('disabled'); + } + }); }; From 30a3982ae9652c18d458706b018bf7de96da40c8 Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 9 Jul 2019 11:51:07 +0800 Subject: [PATCH 32/38] fix trade panel width --- src/botPage/view/View.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/botPage/view/View.js b/src/botPage/view/View.js index 690a9552ae..8475581086 100644 --- a/src/botPage/view/View.js +++ b/src/botPage/view/View.js @@ -455,6 +455,7 @@ export default class View { }; const showSummary = () => { + $('#summaryPanel').dialog('option', 'minWidth', 770); $('#summaryPanel').dialog('open'); addExportButtonToPanel('summaryPanel'); }; From 3e5141f36c6a235fb67a2f53f81afcbe511538ba Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 11:52:32 +0800 Subject: [PATCH 33/38] Restore display on stopBeforeStart --- src/botPage/view/blockly/index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/botPage/view/blockly/index.js b/src/botPage/view/blockly/index.js index f5d9c60fd4..880251f950 100644 --- a/src/botPage/view/blockly/index.js +++ b/src/botPage/view/blockly/index.js @@ -440,7 +440,11 @@ while(true) { } stop(stopBeforeStart) { if (!stopBeforeStart) { - $('#stopButton, #summaryStopButton').prop('disabled', true); + const el_run_buttons = document.querySelectorAll('#runButton, #summaryRunButton'); + const el_stop_buttons = document.querySelectorAll('#stopButton, #summaryStopButton'); + + el_run_buttons.forEach(el_run_button => (el_run_button.style.display = 'initial')); + el_stop_buttons.forEach(el_stop_button => (el_stop_button.style.display = 'none')); } if (this.interpreter) { this.interpreter.stop(); From 7e0235636d2302e4f808e9b21a4eec9f2c76d744 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 12:00:02 +0800 Subject: [PATCH 34/38] Convert everything to camelCase --- src/botPage/bot/Interpreter.js | 2 +- src/botPage/bot/TradeEngine/index.js | 2 +- src/botPage/view/View.js | 46 +++++++++++++---------- src/botPage/view/blockly/blocks/shared.js | 22 +++++------ src/botPage/view/blockly/index.js | 14 +++++-- 5 files changed, 49 insertions(+), 37 deletions(-) diff --git a/src/botPage/bot/Interpreter.js b/src/botPage/bot/Interpreter.js index f7e13d06ae..1f0959e5a1 100644 --- a/src/botPage/bot/Interpreter.js +++ b/src/botPage/bot/Interpreter.js @@ -152,7 +152,7 @@ export default class Interpreter { this.stopped = true; globalObserver.emit('bot.stop'); - globalObserver.setState({ is_running: false }); + globalObserver.setState({ isRunning: false }); } stop() { if (this.bot.tradeEngine.isSold === false && !this.isErrorTriggered) { diff --git a/src/botPage/bot/TradeEngine/index.js b/src/botPage/bot/TradeEngine/index.js index 015b215d1f..8ad3f62180 100644 --- a/src/botPage/bot/TradeEngine/index.js +++ b/src/botPage/bot/TradeEngine/index.js @@ -92,7 +92,7 @@ export default class TradeEngine extends Balance(Purchase(Sell(OpenContract(Prop } globalObserver.emit('bot.running'); - globalObserver.setState({ is_running: true }); + globalObserver.setState({ isRunning: true }); this.tradeOptions = expectTradeOptions(tradeOptions); diff --git a/src/botPage/view/View.js b/src/botPage/view/View.js index 4788e81aba..bae088a63c 100644 --- a/src/botPage/view/View.js +++ b/src/botPage/view/View.js @@ -511,15 +511,17 @@ export default class View { }); const startBot = limitations => { - const el_run_buttons = document.querySelectorAll('#runButton, #summaryRunButton'); - const el_stop_buttons = document.querySelectorAll('#stopButton, #summaryStopButton'); + const elRunButtons = document.querySelectorAll('#runButton, #summaryRunButton'); + const elStopButtons = document.querySelectorAll('#stopButton, #summaryStopButton'); - el_run_buttons.forEach(el_run_button => { - el_run_button.style.display = 'none'; - el_run_button.setAttributeNode(document.createAttribute('disabled')); + elRunButtons.forEach(el => { + const elRunButton = el; + elRunButton.style.display = 'none'; + elRunButton.setAttributeNode(document.createAttribute('disabled')); }); - el_stop_buttons.forEach(el_stop_button => { - el_stop_button.style.display = 'initial'; + elStopButtons.forEach(el => { + const elStopButton = el; + elStopButton.style.display = 'initial'; }); globalObserver.emit('summary.disable_clear'); @@ -643,7 +645,7 @@ export default class View { }); globalObserver.register('Error', error => { - getRunButtonElements().forEach(el_run_button => el_run_button.removeAttribute('disabled')); + getRunButtonElements().forEach(elRunButton => elRunButton.removeAttribute('disabled')); if (error.error && error.error.error.code === 'InvalidToken') { removeAllTokens(); @@ -653,26 +655,30 @@ export default class View { }); globalObserver.register('bot.running', () => { - getRunButtonElements().forEach(el_run_button => { - el_run_button.style.display = 'none'; - el_run_button.setAttributeNode(document.createAttribute('disabled')); + getRunButtonElements().forEach(el => { + const elRunButton = el; + elRunButton.style.display = 'none'; + elRunButton.setAttributeNode(document.createAttribute('disabled')); }); - getStopButtonElements().forEach(el_stop_button => { - el_stop_button.style.display = 'inline-block'; - el_stop_button.removeAttribute('disabled'); + getStopButtonElements().forEach(el => { + const elStopButton = el; + elStopButton.style.display = 'inline-block'; + elStopButton.removeAttribute('disabled'); }); }); globalObserver.register('bot.stop', () => { // Enable run button, this event is emitted after the interpreter // killed the API connection. - getStopButtonElements().forEach(el_stop_button => { - el_stop_button.style.display = 'none'; - el_stop_button.removeAttribute('disabled'); + getStopButtonElements().forEach(el => { + const elStopButton = el; + elStopButton.style.display = 'none'; + elStopButton.removeAttribute('disabled'); }); - getRunButtonElements().forEach(el_run_button => { - el_run_button.style.display = null; - el_run_button.removeAttribute('disabled'); + getRunButtonElements().forEach(el => { + const elRunButton = el; + elRunButton.style.display = null; + elRunButton.removeAttribute('disabled'); }); }); diff --git a/src/botPage/view/blockly/blocks/shared.js b/src/botPage/view/blockly/blocks/shared.js index cf16369302..7e5ed841fe 100644 --- a/src/botPage/view/blockly/blocks/shared.js +++ b/src/botPage/view/blockly/blocks/shared.js @@ -410,21 +410,21 @@ export const getPredictionForContracts = (contracts, selectedContractType) => { return predictionRange; }; -export const disableRunButton = should_disable => { - const el_run_buttons = document.querySelectorAll('#runButton, #summaryRunButton'); - const is_running = globalObserver.getState('is_running'); - - el_run_buttons.forEach(el_run_button => { - if (is_running) { - if (should_disable) { - el_run_button.setAttributeNode(document.createAttribute('disabled')); +export const disableRunButton = shouldDisable => { + const elRunButtons = document.querySelectorAll('#runButton, #summaryRunButton'); + const isRunning = globalObserver.getState('isRunning'); + + elRunButtons.forEach(elRunButton => { + if (isRunning) { + if (shouldDisable) { + elRunButton.setAttributeNode(document.createAttribute('disabled')); } else { // Do not enable. The bot is running. } - } else if (should_disable) { - el_run_button.setAttributeNode(document.createAttribute('disabled')); + } else if (shouldDisable) { + elRunButton.setAttributeNode(document.createAttribute('disabled')); } else { - el_run_button.removeAttribute('disabled'); + elRunButton.removeAttribute('disabled'); } }); }; diff --git a/src/botPage/view/blockly/index.js b/src/botPage/view/blockly/index.js index 880251f950..cf92dd5e2c 100644 --- a/src/botPage/view/blockly/index.js +++ b/src/botPage/view/blockly/index.js @@ -440,11 +440,17 @@ while(true) { } stop(stopBeforeStart) { if (!stopBeforeStart) { - const el_run_buttons = document.querySelectorAll('#runButton, #summaryRunButton'); - const el_stop_buttons = document.querySelectorAll('#stopButton, #summaryStopButton'); + const elRunButtons = document.querySelectorAll('#runButton, #summaryRunButton'); + const elStopButtons = document.querySelectorAll('#stopButton, #summaryStopButton'); - el_run_buttons.forEach(el_run_button => (el_run_button.style.display = 'initial')); - el_stop_buttons.forEach(el_stop_button => (el_stop_button.style.display = 'none')); + elRunButtons.forEach(el => { + const elRunButton = el; + elRunButton.style.display = 'initial'; + }); + elStopButtons.forEach(el => { + const elStopButton = el; + elStopButton.style.display = null; + }); } if (this.interpreter) { this.interpreter.stop(); From 9ee2b5027eea11126fed61f3a3212f3e93887370 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 13:19:33 +0800 Subject: [PATCH 35/38] Don't manipulate passed argument directly --- src/botPage/view/View.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/botPage/view/View.js b/src/botPage/view/View.js index bae088a63c..3f5ed7f976 100644 --- a/src/botPage/view/View.js +++ b/src/botPage/view/View.js @@ -645,7 +645,10 @@ export default class View { }); globalObserver.register('Error', error => { - getRunButtonElements().forEach(elRunButton => elRunButton.removeAttribute('disabled')); + getRunButtonElements().forEach(el => { + const elRunButton = el; + elRunButton.removeAttribute('disabled'); + }); if (error.error && error.error.error.code === 'InvalidToken') { removeAllTokens(); From db544b82dc30223c5b9a3b1b2e9ef337f60404d4 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 13:19:55 +0800 Subject: [PATCH 36/38] Set #summaryStopButton to display: none by default --- static/css/bot.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/css/bot.scss b/static/css/bot.scss index a4a2063f26..76111ace27 100644 --- a/static/css/bot.scss +++ b/static/css/bot.scss @@ -169,7 +169,7 @@ body { background: black; } -#stopButton { +#stopButton, #summaryStopButton { display: none; } From 497e92b5bc400c0a3dab00d7245dd9fc13e3beab Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Tue, 9 Jul 2019 13:35:13 +0800 Subject: [PATCH 37/38] Be consistent in display values --- src/botPage/view/View.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/botPage/view/View.js b/src/botPage/view/View.js index 3f5ed7f976..3000071b5f 100644 --- a/src/botPage/view/View.js +++ b/src/botPage/view/View.js @@ -521,7 +521,7 @@ export default class View { }); elStopButtons.forEach(el => { const elStopButton = el; - elStopButton.style.display = 'initial'; + elStopButton.style.display = 'inline-block'; }); globalObserver.emit('summary.disable_clear'); @@ -675,7 +675,7 @@ export default class View { // killed the API connection. getStopButtonElements().forEach(el => { const elStopButton = el; - elStopButton.style.display = 'none'; + elStopButton.style.display = null; elStopButton.removeAttribute('disabled'); }); getRunButtonElements().forEach(el => { From 9a9a864376404c9584bd846965719e1cf947296e Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 9 Jul 2019 14:34:43 +0800 Subject: [PATCH 38/38] aaronint --- src/botPage/view/View.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/botPage/view/View.js b/src/botPage/view/View.js index 8475581086..755c144398 100644 --- a/src/botPage/view/View.js +++ b/src/botPage/view/View.js @@ -455,8 +455,9 @@ export default class View { }; const showSummary = () => { - $('#summaryPanel').dialog('option', 'minWidth', 770); - $('#summaryPanel').dialog('open'); + $('#summaryPanel') + .dialog('option', 'minWidth', 770) + .dialog('open'); addExportButtonToPanel('summaryPanel'); };