├── .editorconfig ├── .gitattributes ├── .github └── ISSUE_TEMPLATE │ ├── add-currency.md │ ├── bug-report.md │ ├── feature-request.md │ └── other.md ├── .gitignore ├── .npmrc ├── .travis.yml ├── LICENSE ├── MAINTAINING.md ├── README.md ├── app ├── .npmrc ├── config.js ├── constants.js ├── encryption.js ├── index.js ├── locale.js ├── locales │ ├── ar │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── bn │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── de │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── en-US │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── es-ES │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── fa │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── fr │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── hi │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── id │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── it │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── ja │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── ko │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── nb │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── pl │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── ro │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── ru │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── sv-SE │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── sw │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── th │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── tr │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── ur-PK │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── vi │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ ├── zh-CN │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json │ └── zh-TW │ │ ├── app.json │ │ ├── chart.json │ │ ├── common.json │ │ ├── dashboard.json │ │ ├── exchange.json │ │ ├── forgot-password.json │ │ ├── login.json │ │ ├── menu.json │ │ ├── nav.json │ │ ├── portfolio.json │ │ ├── settings.json │ │ ├── swap.json │ │ └── trades.json ├── marketmaker │ ├── index.js │ └── supported-currencies.js ├── menu.js ├── package.json ├── portfolio-util.js ├── renderer-state.js ├── renderer │ ├── api.js │ ├── assets │ │ ├── custom-cryptocurrency-icons │ │ │ ├── bots.svg │ │ │ ├── crypto.svg │ │ │ ├── dex.svg │ │ │ ├── jumblr.svg │ │ │ ├── kv.svg │ │ │ ├── mshark.svg │ │ │ ├── myth.svg │ │ │ ├── pangea.svg │ │ │ ├── revs.svg │ │ │ ├── supernet.svg │ │ │ └── wlc.svg │ │ ├── hyperdex-logo-text-black.svg │ │ ├── hyperdex-logo-text-white.svg │ │ ├── hyperdex-logo.svg │ │ ├── info-icon.svg │ │ ├── password-icon.svg │ │ ├── person-icon.svg │ │ ├── search-icon.svg │ │ ├── success-icon.svg │ │ ├── swap-icon.svg │ │ └── warning-icon.svg │ ├── avatar.js │ ├── block-explorer.js │ ├── components │ │ ├── AppView.js │ │ ├── Avatar.js │ │ ├── BackButton.js │ │ ├── BackButton.scss │ │ ├── BackTextButton.js │ │ ├── Button.js │ │ ├── Button.scss │ │ ├── Checkbox.js │ │ ├── Checkbox.scss │ │ ├── CopyButton.js │ │ ├── CopyButton.scss │ │ ├── CopyCurrencyAddress.js │ │ ├── CopyCurrencyAddress.scss │ │ ├── CopyIconButton.js │ │ ├── CurrencyIcon.js │ │ ├── CurrencySelectOption.js │ │ ├── DateInput.js │ │ ├── DateInput.scss │ │ ├── DepthChart.js │ │ ├── DepthChart.scss │ │ ├── DonateButton.js │ │ ├── DonateButton.scss │ │ ├── Empty.js │ │ ├── Empty.scss │ │ ├── ExternalLink.js │ │ ├── Input.js │ │ ├── Input.scss │ │ ├── Link.js │ │ ├── LoginBackButton.js │ │ ├── LoginBackButton.scss │ │ ├── LoginView.js │ │ ├── Modal.js │ │ ├── Modal.scss │ │ ├── NativeSelect.js │ │ ├── NativeSelect.scss │ │ ├── PlusButton.js │ │ ├── PlusButton.scss │ │ ├── Progress.js │ │ ├── Progress.scss │ │ ├── ReloadButton.js │ │ ├── SeedPhrase.js │ │ ├── SeedPhrase.scss │ │ ├── Select.js │ │ ├── Select.scss │ │ ├── SelectOption.js │ │ ├── SelectOption.scss │ │ ├── Spinner.js │ │ ├── Success.js │ │ ├── Success.scss │ │ ├── SuperComponent.js │ │ ├── Svg.js │ │ ├── SwapDetails.js │ │ ├── SwapDetails.scss │ │ ├── SwapFilters.js │ │ ├── SwapFilters.scss │ │ ├── SwapList.js │ │ ├── SwapList.scss │ │ ├── TabButton.js │ │ ├── TabButton.scss │ │ ├── TextArea.js │ │ ├── TextArea.scss │ │ ├── TimeSeriesChart.js │ │ ├── TimeSeriesChart.scss │ │ ├── Tooltip.js │ │ ├── Tooltip.scss │ │ ├── View.js │ │ └── WrapWidth.js │ ├── containers │ │ ├── App.js │ │ ├── CreatePortfolio.js │ │ ├── Dashboard.js │ │ ├── Exchange.js │ │ ├── ForgotPassword.js │ │ ├── Login.js │ │ ├── RestorePortfolio.js │ │ ├── Settings.js │ │ ├── SuperContainer.js │ │ └── Trades.js │ ├── dev.html │ ├── fetch-currency-info.js │ ├── fire-every.js │ ├── icons │ │ ├── BackArrow.js │ │ ├── Cog.js │ │ ├── Copy.js │ │ ├── Crosshair.js │ │ ├── Dashboard.js │ │ ├── Exchange.js │ │ ├── Plus.js │ │ ├── Reload.js │ │ ├── RightArrow.js │ │ ├── Settings.js │ │ ├── Swap.js │ │ └── Trades.js │ ├── identicons.js │ ├── index.html │ ├── index.js │ ├── styles │ │ ├── fonts.scss │ │ ├── fonts │ │ │ ├── SourceSansPro-Black.ttf │ │ │ ├── SourceSansPro-BlackItalic.ttf │ │ │ ├── SourceSansPro-Bold.ttf │ │ │ ├── SourceSansPro-BoldItalic.ttf │ │ │ ├── SourceSansPro-ExtraLight.ttf │ │ │ ├── SourceSansPro-ExtraLightItalic.ttf │ │ │ ├── SourceSansPro-Italic.ttf │ │ │ ├── SourceSansPro-Light.ttf │ │ │ ├── SourceSansPro-LightItalic.ttf │ │ │ ├── SourceSansPro-Regular.ttf │ │ │ ├── SourceSansPro-SemiBold.ttf │ │ │ └── SourceSansPro-SemiBoldItalic.ttf │ │ ├── index.scss │ │ ├── modern-base.css │ │ └── variables.scss │ ├── swap-db.js │ ├── touch-bar.js │ ├── translate.js │ ├── util.js │ └── views │ │ ├── App.js │ │ ├── AppSettings.js │ │ ├── ComponentsPreview.js │ │ ├── ComponentsPreview.scss │ │ ├── CreatePortfolio │ │ ├── CreatePortfolio.scss │ │ ├── Step1.js │ │ ├── Step2.js │ │ ├── Step3.js │ │ ├── Step4.js │ │ └── index.js │ │ ├── Dashboard │ │ ├── Activity.js │ │ ├── Activity.scss │ │ ├── Chart.js │ │ ├── Chart.scss │ │ ├── Dashboard.scss │ │ ├── DepositModal.js │ │ ├── DepositModal.scss │ │ ├── Intro.js │ │ ├── List.js │ │ ├── List.scss │ │ ├── PieChart.js │ │ ├── PieChart.scss │ │ ├── Wallet.js │ │ ├── Wallet.scss │ │ ├── WalletActivity.js │ │ ├── WalletActivity.scss │ │ ├── WalletInfo.js │ │ ├── WalletInfo.scss │ │ ├── WithdrawModal.js │ │ ├── WithdrawModal.scss │ │ └── index.js │ │ ├── Exchange │ │ ├── Chart.js │ │ ├── Chart.scss │ │ ├── Exchange.scss │ │ ├── Intro.js │ │ ├── Order.js │ │ ├── Order.scss │ │ ├── Swaps.js │ │ ├── Swaps.scss │ │ └── index.js │ │ ├── ForgotPassword │ │ ├── ForgotPassword.scss │ │ ├── Step1.js │ │ ├── Step2.js │ │ ├── Step3.js │ │ └── index.js │ │ ├── LoggingIn.js │ │ ├── LoggingIn.scss │ │ ├── Login.js │ │ ├── Login.scss │ │ ├── LoginBox.js │ │ ├── LoginBox.scss │ │ ├── Nav.js │ │ ├── NewPortfolio.js │ │ ├── NewPortfolio.scss │ │ ├── RestorePortfolio │ │ ├── Step1.js │ │ ├── Step2.js │ │ ├── Step3.js │ │ └── index.js │ │ ├── Settings │ │ ├── Currency.js │ │ ├── DeleteModal.js │ │ ├── Export.js │ │ ├── RenamePortfolio.js │ │ ├── SeedPhraseModal.js │ │ ├── SeedPhraseModal.scss │ │ ├── Settings.scss │ │ ├── Theme.js │ │ └── index.js │ │ ├── Swap.js │ │ ├── Swap.scss │ │ ├── TabView.js │ │ ├── TabView.scss │ │ ├── Trades.js │ │ └── Trades.scss ├── static │ └── icon.png ├── util-common.js ├── util.js └── yarn.lock ├── babel.config.js ├── build ├── background.png ├── background@2x.png ├── icon.icns └── icon.ico ├── crowdin.yml ├── docs └── add-currency.md ├── media ├── AppIcon │ ├── AppIcon-1024px.png │ ├── AppIcon-128px.png │ ├── AppIcon-16px.png │ ├── AppIcon-256px.png │ ├── AppIcon-32px.png │ ├── AppIcon-512px.png │ ├── AppIcon-64px.png │ └── AppIcon.svg ├── Komodo Asset Chain Icons │ ├── beer-icon.svg │ ├── bots-icon.svg │ ├── crypto-icon.svg │ ├── dex-icon.svg │ ├── dsec-icon.svg │ ├── hodl-icon.svg │ ├── jumblr-icon.svg │ ├── kv-icon.svg │ ├── mshark-icon.svg │ ├── pangea-icon.svg │ ├── pizza-icon.svg │ ├── popcorn-icon.svg │ ├── ramen-icon.svg │ ├── revs-icon.svg │ ├── supernet-icon.svg │ └── wlc-icon.svg ├── Logo-Black-Text.png ├── Logo-Black-Text.svg ├── Logo-Large.png ├── Logo-White-Text.png ├── Logo-White-Text.svg ├── Logo.ai ├── Logo.svg ├── Slack │ ├── Slack Avatar.png │ ├── Slack Avatar.sketch │ └── Slack Avatar.svg ├── Twitter │ ├── Header - Grandma Friendly.svg │ ├── Header - No Tagline.svg │ ├── Header.svg │ ├── Profile Picture.svg │ └── Twitter Cover & Profile Picture.fig └── screenshots │ └── exchange-view.png ├── package.json ├── scripts └── get-marketmaker │ └── index.js ├── signedchecksum ├── test ├── _index.js └── renderer │ ├── components │ ├── Avatar.js │ ├── BackButton.js │ ├── Button.js │ ├── Checkbox.js │ ├── CopyButton.js │ ├── DateInput.js │ ├── SwapFilters.js │ └── TabButton.js │ └── fetch-currency-info.js ├── webpack.config.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [*.yml] 11 | indent_style = space 12 | indent_size = 2 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | *.ai binary 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/add-currency.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: '💸 Add a currency' 3 | about: 'Get a new currency added to HyperDEX' 4 | --- 5 | 6 | 7 | 8 | See the [steps for adding a currency](../../docs/add-currency.md). 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: '🐛 Bug report' 3 | about: 'Report an issue with HyperDEX' 4 | --- 5 | 6 | **Describe the bug** 7 | 8 | 9 | 10 | **To reproduce** 11 | 12 | 19 | 20 | **Expected behavior** 21 | 22 | 23 | 24 | **Screenshots** 25 | 26 | 27 | 28 | **System info** 29 | 30 | - OS & version: 31 | - HyperDEX version: 32 | 33 | 37 | 38 | **Additional context** 39 | 40 | 41 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: '🚀 Feature request' 3 | about: 'Suggest an idea for HyperDEX' 4 | --- 5 | 6 | **Describe the feature** 7 | 8 | 9 | 10 | **Describe alternatives you've considered** 11 | 12 | 13 | 14 | **Additional context** 15 | 16 | 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/other.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: '🌈 Other' 3 | about: 'Anything else' 4 | --- 5 | 6 | 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | /dist 3 | /app/renderer-dist 4 | /app/marketmaker/bin 5 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | os: osx 2 | osx_image: xcode10 3 | language: node_js 4 | node_js: '10' 5 | script: 6 | - brew install rpm 7 | - npm test 8 | - npm run dist 9 | branches: 10 | except: 11 | - l10n_master 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Luke Childs 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /app/.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /app/config.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const {is} = require('electron-util'); 3 | const Store = require('electron-store'); 4 | const {minWindowSize} = require('./constants'); 5 | 6 | const defaults = { 7 | windowState: { 8 | width: minWindowSize.width, 9 | height: minWindowSize.height, 10 | }, 11 | theme: is.macos ? 'system' : 'dark', 12 | swapModalShowAdvanced: false, 13 | }; 14 | 15 | const store = new Store({defaults}); 16 | module.exports = store; 17 | -------------------------------------------------------------------------------- /app/encryption.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const {createSession} = require('iocane'); 3 | 4 | const session = createSession() 5 | .use('cbc') 6 | .setDerivationRounds(300000); 7 | 8 | module.exports = { 9 | encrypt: session.encrypt.bind(session), 10 | decrypt: session.decrypt.bind(session), 11 | }; 12 | -------------------------------------------------------------------------------- /app/locales/ar/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "تخصيص ارتباط Marketmaker", 4 | "exampleUrl": "مثال: {{url}}", 5 | "invalidUrl": "ارتباط غير صحيح", 6 | "title": "إعدادات التطبيق" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/ar/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "لا توجد بيانات متاحة" 3 | } -------------------------------------------------------------------------------- /app/locales/ar/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "رجوع", 3 | "copied": "تم النسخ", 4 | "copy": "نسخ", 5 | "feedback": "ملاحظة" 6 | } -------------------------------------------------------------------------------- /app/locales/ar/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "تأكيد", 3 | "confirmPassword": "تأكيد كلمة المرور", 4 | "confirmPasswordNoMatch": "كلمة المرور المؤكدة غير متطابقة", 5 | "enterSeedPhrase": "أدخل عبارة Seed", 6 | "exampleSeedPhrase": "مثال: {{seedPhrase}} …", 7 | "password": "كلمة المرور", 8 | "seedPhraseNotSecure": "عبارة seed التي أدخلتها غير آمنة تمامًا.", 9 | "setNewPassword": "تعيين كلمة مرور جديدة", 10 | "success": "تم تعيين كلمة مرورك الجديدة!" 11 | } -------------------------------------------------------------------------------- /app/locales/ar/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "هل نسيت كلمة المرور", 3 | "incorrectPassword": "كلمة المرور غير صحيحة", 4 | "login": "تسجيل الدخول", 5 | "loggingIn": "تسجيل الدخول…", 6 | "password": "كلمة المرور", 7 | "selectPortfolio": "حدد الحافظة…" 8 | } -------------------------------------------------------------------------------- /app/locales/ar/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "التفضيلات…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "الويب", 8 | "sourceCode": "الكود المصدر", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "الإبلاغ عن مشكلة…", 11 | "about": "حول {{appName}}" 12 | }, 13 | "other": { 14 | "file": "الملف" 15 | }, 16 | "portfolio": { 17 | "title": "الحافظة", 18 | "dashboard": "لوحة المعلومات", 19 | "swap": "مبادلة", 20 | "exchange": "تبادل", 21 | "trades": "التداولات", 22 | "settings": "الإعدادات", 23 | "goToPrevView": "انتقل إلى العرض السابق", 24 | "goToNextView": "انتقل إلى العرض التالي", 25 | "logOut": "تسجيل الخروج" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/ar/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "لوحة المعلومات", 3 | "exchange": "تبادل", 4 | "settings": "الإعدادات", 5 | "swap": "مبادلة", 6 | "trades": "التداولات" 7 | } -------------------------------------------------------------------------------- /app/locales/ar/portfolio.json: -------------------------------------------------------------------------------- 1 | { 2 | "create": { 3 | "confirm": "تأكيد", 4 | "confirmPassword": "تأكيد كلمة المرور", 5 | "confirmPasswordNoMatch": "كلمة المرور المؤكدة غير متطابقة", 6 | "confirmSeedPhrase": "تأكيد عبارة Seed", 7 | "exampleSeedPhrase": "مثال: {{seedPhrase}} …", 8 | "name": "اسم الحافظة", 9 | "next": "التالي", 10 | "password": "كلمة المرور", 11 | "securityDescription": "<0>ننصحك بتخزينها بعيدًا عن الجهاز. <1>اعرف المزيد عن أفضل ممارسات الأمان", 12 | "securityTitle": "هام: يرجى إجراء نسخ احتياطي لعبارة seed الآن!", 13 | "seedPhrase": "عبارة Seed لحافظتك", 14 | "seedPhraseNoMatch": "عبارة Seed التي أدخلتها لا تطابق مع تلك التي تم استخراجها", 15 | "success": "تمت إضافة حافظة جديدة!", 16 | "title": "إنشاء حافظة جديدة" 17 | }, 18 | "new": { 19 | "createOrRestoreDescription": "قم بإنشاء حافظة جديدة إذا لم يكن لديك عبارة Seed.", 20 | "createOrRestoreTitle": "<0>هل تريد إنشاء حافظة جديدة<1>أم استعادة الموجودة؟", 21 | "createPortfolio": "إنشاء حافظة جديدة", 22 | "restorePortfolio": "استعادة الحافظة" 23 | }, 24 | "restore": { 25 | "confirm": "تأكيد", 26 | "confirmPasswordNoMatch": "كلمة المرور المؤكدة غير متطابقة", 27 | "enterSeedPhrase": "أدخل عبارة Seed", 28 | "exampleSeedPhrase": "مثال: {{seedPhrase}} …" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ar/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "التطبيق", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "العملات المفعلة", 9 | "logOutAppSettings": "<0><0>تسجيل الخروج لمعرفة المزيد من إعدادات التطبيق.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "الحافظة", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "الإعدادات", 24 | "theme": { 25 | "theme": "الموضوع", 26 | "dark": "داكن", 27 | "light": "فاتح", 28 | "system": "النظام" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ar/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "أوامر مفتوحة", 3 | "tradeHistory": "Trade History", 4 | "stats": "في الشهر الماضي قمت بعدد{{count}} تبادل ناجح بعملات {{currencyCount}} تساوي {{totalSwapsWorthInUsd}} في إجمالها", 5 | "stats_plural": "في الشهر الماضي قمت بعدد{{count}} تبادل ناجح بعملات {{currencyCount}} تساوي {{totalSwapsWorthInUsd}} في إجمالها" 6 | } -------------------------------------------------------------------------------- /app/locales/bn/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "কাস্টম মার্কেটার URL", 4 | "exampleUrl": "যেমন: {{url}}", 5 | "invalidUrl": "ভুল URL", 6 | "title": "অ্যাপ সেটিংস" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/bn/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "কোনো ডেটা পাওয়া যায়নি" 3 | } -------------------------------------------------------------------------------- /app/locales/bn/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "পিছনে যান", 3 | "copied": "কপি করা হয়েছে", 4 | "copy": "কপি", 5 | "feedback": "প্রতিক্রিয়া" 6 | } -------------------------------------------------------------------------------- /app/locales/bn/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "নিশ্চিত করুন", 3 | "confirmPassword": "পাসওয়ার্ড নিশ্চিত করুন", 4 | "confirmPasswordNoMatch": "নিশ্চিত করা পাসওয়ার্ড মূল পাসওয়ার্ডের সাথে মেলেনি", 5 | "enterSeedPhrase": "আপনার সিড ফ্রেজ প্রবেশ করান", 6 | "exampleSeedPhrase": "যেমন: {{seedPhrase}}…", 7 | "password": "পাসওয়ার্ড", 8 | "seedPhraseNotSecure": "আপনি যে সিড ফ্রেজটি প্রবেশ করিয়েছেন সেটি নিরাপদ নয়।", 9 | "setNewPassword": "নতুন পাসওয়ার্ড সেট করুন", 10 | "success": "আপনার নতুন পাসওয়ার্ড সেট হয়েছে!" 11 | } -------------------------------------------------------------------------------- /app/locales/bn/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "পাসওয়ার্ড ভুলে গেছেন", 3 | "incorrectPassword": "ভুল পাসওয়ার্ড", 4 | "login": "লগইন", 5 | "loggingIn": "লগইন হচ্ছে...", 6 | "password": "পাসওয়ার্ড", 7 | "selectPortfolio": "পোর্টফোলিও নির্বাচন করুন..." 8 | } -------------------------------------------------------------------------------- /app/locales/bn/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "অগ্রাধিকারসমূহ…" 4 | }, 5 | "help": { 6 | "debugMode": "ডিবাগ মোড", 7 | "website": "ওয়েবসাইট", 8 | "sourceCode": "সোর্স কোড", 9 | "reportSecurityIssue": "একটি নিরাপত্তা সমস্যা রিপোর্ট করুন…", 10 | "reportIssue": "সমস্যা রিপোর্ট করুন…", 11 | "about": "{{appName}} সম্পর্কে" 12 | }, 13 | "other": { 14 | "file": "ফাইল" 15 | }, 16 | "portfolio": { 17 | "title": "পোর্টফোলিও", 18 | "dashboard": "ড্যাশবোর্ড", 19 | "swap": "বিনিময়", 20 | "exchange": "লেনদেন", 21 | "trades": "ট্রেডসমূহ", 22 | "settings": "সেটিংস", 23 | "goToPrevView": "পূর্ববর্তী দৃশ্যে যান", 24 | "goToNextView": "পরবর্তী দৃশ্যে যান", 25 | "logOut": "লগ আউট" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/bn/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "ড্যাশবোর্ড", 3 | "exchange": "লেনদেন", 4 | "settings": "সেটিংস", 5 | "swap": "বিনিময়", 6 | "trades": "ট্রেডসমূহ" 7 | } -------------------------------------------------------------------------------- /app/locales/bn/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "অ্যাপ", 3 | "deletePortfolio": { 4 | "confirm": "আমি বুঝতে পেরেছি, এই পোর্টফোলিওটি মুছুন", 5 | "description": "<0> আপনি আপনার সিড ফ্রেজ সংরক্ষণ না করা পর্যন্ত, এই ক্রিয়াটি পূর্বাবস্থায় ফেরানো যাবে না এবং স্থায়ীভাবে <1> <0> {{name}} পোর্টফোলিও মুছে যাবে। <1> নিশ্চিত করতে অনুগ্রহ করে পোর্টফোলিও নাম টাইপ করুন। ", 6 | "title": "পোর্টফোলিও মুছুন" 7 | }, 8 | "enabledCurrencies": "সক্রিয় মুদ্রাসমূহ", 9 | "logOutAppSettings": "<0>আরও অ্যাপ সেটিংস দেখার জন্য <0>লগ আউট করুন।", 10 | "name": "নাম", 11 | "manage": "পরিচালনা", 12 | "export": { 13 | "sectionLabel": "এক্সপোর্ট", 14 | "exportTradeHistory": "CSV তে ট্রেড ইতিহাস এক্সপোর্ট করুন", 15 | "trades": "ট্রেডসমূহ" 16 | }, 17 | "portfolio": "পোর্টফোলিও", 18 | "seedPhrase": { 19 | "enterPassword": "পাসওয়ার্ড লিখুন", 20 | "submit": "জমা দিন", 21 | "title": "সিড ফ্রেস দেখুন" 22 | }, 23 | "title": "সেটিংস", 24 | "theme": { 25 | "theme": "থিম", 26 | "dark": "গাঢ়", 27 | "light": "হালকা", 28 | "system": "সিস্টেম" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/bn/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "খোলা অর্ডারসমূহ", 3 | "tradeHistory": "Trade History", 4 | "stats": "গত মাসে আপনি সফলভাবে {{currencyCount}} মুদ্রায় {{count}}টি ট্রেড করেছেন যার মোট মূল্য {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "গত মাসে আপনি সফলভাবে {{currencyCount}} মুদ্রায় {{count}}টি ট্রেড করেছেন যার মোট মূল্য {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/de/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "Eigene Marktmacher-URL", 4 | "exampleUrl": "Beispiel: {{url}}", 5 | "invalidUrl": "Ungültige URL", 6 | "title": "App-Einstellungen" 7 | }, 8 | "donate": { 9 | "title": "Spenden", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/locales/de/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Keine Daten verfügbar" 3 | } -------------------------------------------------------------------------------- /app/locales/de/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Zurück", 3 | "copied": "Kopiert", 4 | "copy": "Kopieren", 5 | "feedback": "Feedback" 6 | } -------------------------------------------------------------------------------- /app/locales/de/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Bestätigen", 3 | "confirmPassword": "Passwort bestätigen", 4 | "confirmPasswordNoMatch": "Bestätigungspasswort stimmt nicht überein", 5 | "enterSeedPhrase": "Seed-Schlüssel eingeben", 6 | "exampleSeedPhrase": "Beispiel: {{seedPhrase}} …", 7 | "password": "Passwort", 8 | "seedPhraseNotSecure": "Der eingegebene Seed-Schlüssel ist nicht sehr sicher.", 9 | "setNewPassword": "Neues Passwort setzen", 10 | "success": "Dein neues Passwort ist gesetzt!" 11 | } -------------------------------------------------------------------------------- /app/locales/de/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Passwort vergessen", 3 | "incorrectPassword": "Falsches Passwort", 4 | "login": "Einloggen", 5 | "loggingIn": "Einloggen…", 6 | "password": "Passwort", 7 | "selectPortfolio": "Portfolio wählen…" 8 | } -------------------------------------------------------------------------------- /app/locales/de/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Einstellungen…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Website", 8 | "sourceCode": "Quellcode", 9 | "reportSecurityIssue": "Sicherheitsproblem melden…", 10 | "reportIssue": "Problem melden…", 11 | "about": "Über {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Datei" 15 | }, 16 | "portfolio": { 17 | "title": "Portfolio", 18 | "dashboard": "Dashboard", 19 | "swap": "Tausch", 20 | "exchange": "Tauschmarkt", 21 | "trades": "Geschäfte", 22 | "settings": "Einstellungen", 23 | "goToPrevView": "Zur vorherigen Ansicht", 24 | "goToNextView": "Zur nächsten Ansicht", 25 | "logOut": "Ausloggen" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/de/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Dashboard", 3 | "exchange": "Markt", 4 | "settings": "Einstellungen", 5 | "swap": "Tausch", 6 | "trades": "Geschäfte" 7 | } -------------------------------------------------------------------------------- /app/locales/de/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "App", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Portfolio löschen" 7 | }, 8 | "enabledCurrencies": "Aktivierte Währungen", 9 | "logOutAppSettings": "<0><0>Ausloggen, um weitere App-Einstellungen zu sehen.", 10 | "name": "Name", 11 | "manage": "Verwalten", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Portfolio", 18 | "seedPhrase": { 19 | "enterPassword": "Passwort eingeben", 20 | "submit": "Senden", 21 | "title": "Seed-Schlüssel ansehen" 22 | }, 23 | "title": "Einstellungen", 24 | "theme": { 25 | "theme": "Thema", 26 | "dark": "Dunkel", 27 | "light": "Hell", 28 | "system": "System" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/de/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Offene Aufträge", 3 | "tradeHistory": "Trade History", 4 | "stats": "Im letzten Monat hast du {{count}} erfolgreichen Tausch in {{currencyCount}} Währungen im Gesamtwert von {{totalSwapsWorthInUsd}} getätigt", 5 | "stats_plural": "Im letzten Monat hast du {{count}} erfolgreiche Tauschgeschäfte in {{currencyCount}} Währungen im Gesamtwert von {{totalSwapsWorthInUsd}} getätigt" 6 | } -------------------------------------------------------------------------------- /app/locales/en-US/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "Custom Marketmaker URL", 4 | "exampleUrl": "Example: {{url}}", 5 | "invalidUrl": "Invalid URL", 6 | "title": "App settings" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/locales/en-US/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "No data available" 3 | } 4 | -------------------------------------------------------------------------------- /app/locales/en-US/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Back", 3 | "copied": "Copied", 4 | "copy": "Copy", 5 | "feedback": "Feedback" 6 | } 7 | -------------------------------------------------------------------------------- /app/locales/en-US/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Confirm", 3 | "confirmPassword": "Confirm Password", 4 | "confirmPasswordNoMatch": "Confirmed password doesn't match password", 5 | "enterSeedPhrase": "Enter Your Seed Phrase", 6 | "exampleSeedPhrase": "Example: {{seedPhrase}} …", 7 | "password": "Password", 8 | "seedPhraseNotSecure": "The seed phrase you entered is not very secure.", 9 | "setNewPassword": "Set New Password", 10 | "success": "Your new password is set!" 11 | } 12 | -------------------------------------------------------------------------------- /app/locales/en-US/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Forgot password", 3 | "incorrectPassword": "Incorrect password", 4 | "login": "Login", 5 | "loggingIn": "Logging in…", 6 | "password": "Password", 7 | "selectPortfolio": "Select portfolio…" 8 | } 9 | -------------------------------------------------------------------------------- /app/locales/en-US/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Preferences…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Website", 8 | "sourceCode": "Source Code", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "Report an Issue…", 11 | "about": "About {{appName}}" 12 | }, 13 | "other": { 14 | "file": "File" 15 | }, 16 | "portfolio": { 17 | "title": "Portfolio", 18 | "dashboard": "Dashboard", 19 | "swap": "Swap", 20 | "exchange": "Exchange", 21 | "trades": "Trades", 22 | "settings": "Settings", 23 | "goToPrevView": "Go to Previous View", 24 | "goToNextView": "Go to Next View", 25 | "logOut": "Log Out" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/locales/en-US/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Dashboard", 3 | "exchange": "Exchange", 4 | "settings": "Settings", 5 | "swap": "Swap", 6 | "trades": "Trades" 7 | } 8 | -------------------------------------------------------------------------------- /app/locales/en-US/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "App", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "Enabled currencies", 9 | "logOutAppSettings": "<0><0>Log out to see more app settings.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Portfolio", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Settings", 24 | "theme": { 25 | "theme": "Theme", 26 | "dark": "Dark", 27 | "light": "Light", 28 | "system": "System" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/locales/en-US/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Open Orders", 3 | "tradeHistory": "Trade History", 4 | "stats": "In the last month you did {{count}} successful trade in {{currencyCount}} currencies worth {{totalSwapsWorthInUsd}} in total", 5 | "stats_plural": "In the last month you did {{count}} successful trades in {{currencyCount}} currencies worth {{totalSwapsWorthInUsd}} in total" 6 | } 7 | -------------------------------------------------------------------------------- /app/locales/es-ES/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "Personalizar enlace del creador del mercado", 4 | "exampleUrl": "Ejemplo: {{url}}", 5 | "invalidUrl": "Enlace no válido", 6 | "title": "Ajustes de la aplicación" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/es-ES/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "No hay datos disponibles" 3 | } -------------------------------------------------------------------------------- /app/locales/es-ES/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Atrás", 3 | "copied": "Copiado", 4 | "copy": "Copiar", 5 | "feedback": "Comentarios" 6 | } -------------------------------------------------------------------------------- /app/locales/es-ES/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Confirmar", 3 | "confirmPassword": "Confirmar contraseña", 4 | "confirmPasswordNoMatch": "La contraseña confirmada no coincide con la contraseña", 5 | "enterSeedPhrase": "Introduce tu frase secreta", 6 | "exampleSeedPhrase": "Ejemplo: {{seedPhrase}}…", 7 | "password": "Contraseña", 8 | "seedPhraseNotSecure": "La frase secreta que has utilizado no es muy segura.", 9 | "setNewPassword": "Configurar una nueva contraseña", 10 | "success": "¡Se ha establecido tu nueva contraseña!" 11 | } -------------------------------------------------------------------------------- /app/locales/es-ES/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Contraseña olvidada", 3 | "incorrectPassword": "Contraseña incorrecta", 4 | "login": "Iniciar sesión", 5 | "loggingIn": "Iniciando sesión…", 6 | "password": "Contraseña", 7 | "selectPortfolio": "Seleccionar cartera…" 8 | } -------------------------------------------------------------------------------- /app/locales/es-ES/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Preferencias…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Página web", 8 | "sourceCode": "Código fuente", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "Notificar un error…", 11 | "about": "Acerca de {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Archivo" 15 | }, 16 | "portfolio": { 17 | "title": "Cartera", 18 | "dashboard": "Panel de control", 19 | "swap": "Cambio", 20 | "exchange": "Intercambio", 21 | "trades": "Operaciones", 22 | "settings": "Ajustes", 23 | "goToPrevView": "Ir a la vista anterior", 24 | "goToNextView": "Ir a la vista siguiente", 25 | "logOut": "Cerrar Sesión" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/es-ES/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Panel de control", 3 | "exchange": "Intercambio", 4 | "settings": "Ajustes", 5 | "swap": "Cambio", 6 | "trades": "Operaciones" 7 | } -------------------------------------------------------------------------------- /app/locales/es-ES/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Aplicación", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "Divisas habilitadas", 9 | "logOutAppSettings": "<0><0>Cierra sesión para ver más ajustes de la aplicación.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Cartera", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Ajustes", 24 | "theme": { 25 | "theme": "Tema", 26 | "dark": "Oscuro", 27 | "light": "Claro", 28 | "system": "Sistema" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/es-ES/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Abrir órdenes", 3 | "tradeHistory": "Trade History", 4 | "stats": "Durante el último mes, realizaste {{count}} operación con éxito en {{currencyCount}} divisas que ascienden a un total de {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "Durante el último mes, realizaste {{count}} operaciones con éxito en {{currencyCount}} divisas que ascienden a un total de {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/fa/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "URL سفارشی Marketmaker", 4 | "exampleUrl": "مثال: {{url}}", 5 | "invalidUrl": "URL اشتباه است", 6 | "title": "تنظیمات برنامه" 7 | }, 8 | "donate": { 9 | "title": "اهدای کمک مالی", 10 | "bodyText": "HyperDEX پروژه‌ای رایگان و منبع باز است. می‌توانید با اهدای کمک‌های مالی به آدرس‌های زیر از رشد آن حمایت کنید." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/fa/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "اطلاعاتی موجود نیست" 3 | } -------------------------------------------------------------------------------- /app/locales/fa/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "بازگشت", 3 | "copied": "کپی شد", 4 | "copy": "کپی", 5 | "feedback": "ﺑﺎﺯﺧﻮﺭﺩ" 6 | } -------------------------------------------------------------------------------- /app/locales/fa/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "تایید", 3 | "confirmPassword": "تأیید رمز عبور", 4 | "confirmPasswordNoMatch": "تایید رمزعبور با رمزعبور تطابق ندارد", 5 | "enterSeedPhrase": "عبارت مولد خود را وارد کنید", 6 | "exampleSeedPhrase": "مثال: {{seedPhrase}} …", 7 | "password": "رمزعبور", 8 | "seedPhraseNotSecure": "عبارت مولدی که وارد کرده‌اید چندان امن نیست.", 9 | "setNewPassword": "تعیین رمزعبور جدید", 10 | "success": "رمزعبور جدید شما تنظیم شد!" 11 | } -------------------------------------------------------------------------------- /app/locales/fa/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "فراموشی رمزعبور", 3 | "incorrectPassword": "رمز عبور نادرست", 4 | "login": "ورود", 5 | "loggingIn": "در حال ورود…", 6 | "password": "رمزعبور", 7 | "selectPortfolio": "انتخاب سبد سهام…" 8 | } -------------------------------------------------------------------------------- /app/locales/fa/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "ترجیحات…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "وب‌سایت", 8 | "sourceCode": "متن برنامه", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "گزارش دادن مشکل…", 11 | "about": "درباره {{appName}}" 12 | }, 13 | "other": { 14 | "file": "فایل" 15 | }, 16 | "portfolio": { 17 | "title": "سبد سهام", 18 | "dashboard": "داشبورد", 19 | "swap": "جابجایی", 20 | "exchange": "تبادل", 21 | "trades": "معاملات", 22 | "settings": "تنظیمات", 23 | "goToPrevView": "رفتن به نمای قبلی", 24 | "goToNextView": "رفتن به نمای بعدی", 25 | "logOut": "خروج" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/fa/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "داشبورد", 3 | "exchange": "تبادل", 4 | "settings": "تنظیمات", 5 | "swap": "جابجایی", 6 | "trades": "معاملات" 7 | } -------------------------------------------------------------------------------- /app/locales/fa/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "نرم افزار", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "ارزهای فعال", 9 | "logOutAppSettings": "<0><0>خارج شوید تا تنظیمات بیشتری از برنامه را ببینید.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "سبد سهام", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "تنظیمات", 24 | "theme": { 25 | "theme": "پوسته", 26 | "dark": "تیره", 27 | "light": "روشن", 28 | "system": "سیستم" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/fa/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "سفارش‌های باز", 3 | "tradeHistory": "Trade History", 4 | "stats": "در ماه گذشته شما {{count}} معامله موفق با ارز {{currencyCount}} به ارزش کلی {{totalSwapsWorthInUsd}} انجام داده‌اید", 5 | "stats_plural": "در ماه گذشته شما {{count}} معامله موفق با ارز {{currencyCount}} به ارزش کلی {{totalSwapsWorthInUsd}} انجام داده‌اید" 6 | } -------------------------------------------------------------------------------- /app/locales/fr/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "URL d'animateur de marché personnalisée", 4 | "exampleUrl": "Exemple : {{url}}", 5 | "invalidUrl": "URL invalide", 6 | "title": "Paramètres de l'application" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/fr/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Aucune donnée disponible" 3 | } -------------------------------------------------------------------------------- /app/locales/fr/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Retour", 3 | "copied": "Copié", 4 | "copy": "Copier", 5 | "feedback": "Remarques" 6 | } -------------------------------------------------------------------------------- /app/locales/fr/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Confirmer", 3 | "confirmPassword": "Confirmez le mot de passe", 4 | "confirmPasswordNoMatch": "Les mots de passe ne correspondent pas", 5 | "enterSeedPhrase": "Saisissez votre phrase de récupération", 6 | "exampleSeedPhrase": "Exemple : {{seedPhrase}}…", 7 | "password": "Mot de passe", 8 | "seedPhraseNotSecure": "La phrase de récupération saisie n'est pas très sûre.", 9 | "setNewPassword": "Modifier votre mot de passe", 10 | "success": "Votre mot de passe a été modifié !" 11 | } -------------------------------------------------------------------------------- /app/locales/fr/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Mot de passe oublié", 3 | "incorrectPassword": "Mot de passe incorrect", 4 | "login": "Connexion", 5 | "loggingIn": "Connexion en cours…", 6 | "password": "Mot de passe", 7 | "selectPortfolio": "Choisir un portefeuille…" 8 | } -------------------------------------------------------------------------------- /app/locales/fr/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Préférences…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Site internet", 8 | "sourceCode": "Code source", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "Signaler un problème…", 11 | "about": "À propos de {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Fichier" 15 | }, 16 | "portfolio": { 17 | "title": "Portefeuille", 18 | "dashboard": "Tableau de bord", 19 | "swap": "Échanger", 20 | "exchange": "Bourse", 21 | "trades": "Transactions", 22 | "settings": "Réglages", 23 | "goToPrevView": "Aller à la page précédente", 24 | "goToNextView": "Aller à la page suivante", 25 | "logOut": "Déconnexion" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/fr/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Tableau de bord", 3 | "exchange": "Bourse", 4 | "settings": "Réglages", 5 | "swap": "Échanger", 6 | "trades": "Transactions" 7 | } -------------------------------------------------------------------------------- /app/locales/fr/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Appli", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "Devises activées", 9 | "logOutAppSettings": "<0><0>Déconnecte-toi pour afficher plus de réglages de l'appli.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Portefeuille", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Réglages", 24 | "theme": { 25 | "theme": "Habillage", 26 | "dark": "Sombre", 27 | "light": "Clair", 28 | "system": "Système" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/fr/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Ordres ouverts", 3 | "tradeHistory": "Trade History", 4 | "stats": "Au cours du dernier mois, tu as effectué {{count}} transactions réussies dans {{currencyCount}} devises, pour une valeur totale de {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "Au cours du dernier mois, tu as effectué {{count}} transaction réussie dans {{currencyCount}} devises, pour une valeur totale de {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/hi/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "कस्टम Marketmaker URL", 4 | "exampleUrl": "उदाहरण: {{url}}", 5 | "invalidUrl": "अमान्य URL", 6 | "title": "ऐप सेटिंग" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/hi/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "कोई डेटा उपलब्ध नहीं" 3 | } -------------------------------------------------------------------------------- /app/locales/hi/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "वापस", 3 | "copied": "कॉपी किया गया", 4 | "copy": "कॉपी करें", 5 | "feedback": "फीडबैक" 6 | } -------------------------------------------------------------------------------- /app/locales/hi/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "पुष्टि करें", 3 | "confirmPassword": "पासवर्ड की पुष्टि करें", 4 | "confirmPasswordNoMatch": "पासवर्ड से पुष्टि पासवर्ड मेल नहीं खाता है", 5 | "enterSeedPhrase": "अपना सीड वाक्यांश दर्ज करें", 6 | "exampleSeedPhrase": "उदाहरण: {{seedPhrase}} …", 7 | "password": "पासवर्ड", 8 | "seedPhraseNotSecure": "आपके द्वारा दर्ज किया गया सीड वाक्यांश बहुत सुरक्षित नहीं है।", 9 | "setNewPassword": "नया पासवर्ड सेट करें", 10 | "success": "आपका नया पासवर्ड सेट हो गया है!" 11 | } -------------------------------------------------------------------------------- /app/locales/hi/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "पासवर्ड भूल गए", 3 | "incorrectPassword": "गलत पासवर्ड", 4 | "login": "लॉगिन करें", 5 | "loggingIn": "लॉगिन कर रहे हैं…", 6 | "password": "पासवर्ड", 7 | "selectPortfolio": "पोर्टफोलियो चुनें…" 8 | } -------------------------------------------------------------------------------- /app/locales/hi/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "प्राथमिकताएँ..." 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "वेबसाइट", 8 | "sourceCode": "सोर्स कोड", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "किसी समस्या की रिपोर्ट करें…", 11 | "about": "{{appName}} के बारे में" 12 | }, 13 | "other": { 14 | "file": "फ़ाइल" 15 | }, 16 | "portfolio": { 17 | "title": "पोर्टफोलियो", 18 | "dashboard": "डैशबोर्ड", 19 | "swap": "स्वैप करें", 20 | "exchange": "एक्सचेंज", 21 | "trades": "ट्रेड", 22 | "settings": "सेटिंग", 23 | "goToPrevView": "पिछले व्यू पर जाएँ", 24 | "goToNextView": "अगले व्यू पर जाएँ", 25 | "logOut": "लॉग आउट" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/hi/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "डैशबोर्ड", 3 | "exchange": "एक्सचेंज", 4 | "settings": "सेटिंग", 5 | "swap": "स्वैप करें", 6 | "trades": "ट्रेड" 7 | } -------------------------------------------------------------------------------- /app/locales/hi/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "ऐप", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "सक्षम मुद्राएँ", 9 | "logOutAppSettings": "<0>अधिक ऐप सेटिंग देखने के लिए<0>लॉग आउट करें।", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "पोर्टफोलियो", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "सेटिंग", 24 | "theme": { 25 | "theme": "थीम", 26 | "dark": "डार्क", 27 | "light": "हल्का", 28 | "system": "सिस्टम" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/hi/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "ओपन ऑर्डर", 3 | "tradeHistory": "Trade History", 4 | "stats": "पिछले महीने आपने कुल {{totalSwapsWorthInUsd}} मूल्य की {{currencyCount}} मुद्राओं में {{count}} सफल ट्रेड किया", 5 | "stats_plural": "पिछले महीने आपने कुल {{totalSwapsWorthInUsd}} मूल्य की {{currencyCount}} मुद्राओं में {{count}} सफल ट्रेड किए" 6 | } -------------------------------------------------------------------------------- /app/locales/id/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "URL Marketmaker Kustom", 4 | "exampleUrl": "Contoh: {{url}}", 5 | "invalidUrl": "URL Tidak Valid", 6 | "title": "Pengaturan Aplikasi" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/id/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Data tidak tersedia" 3 | } -------------------------------------------------------------------------------- /app/locales/id/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Kembali", 3 | "copied": "Disalin", 4 | "copy": "Salin", 5 | "feedback": "Umpan Balik" 6 | } -------------------------------------------------------------------------------- /app/locales/id/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Konfirmasi", 3 | "confirmPassword": "Konfirmasi Kata Sandi", 4 | "confirmPasswordNoMatch": "Kata sandi yang dikonfirmasi tidak sesuai", 5 | "enterSeedPhrase": "Masukkan frasa seed", 6 | "exampleSeedPhrase": "Contoh: {{seedPhrase}} …", 7 | "password": "Kata sandi", 8 | "seedPhraseNotSecure": "Frasa seed yang Anda masukkan kurang aman.", 9 | "setNewPassword": "Buat Kata Sandi Baru", 10 | "success": "Kata sandi baru Anda telah dibuat!" 11 | } -------------------------------------------------------------------------------- /app/locales/id/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Lupa kata sandi", 3 | "incorrectPassword": "Kata sandi tidak benar", 4 | "login": "Login", 5 | "loggingIn": "Login…", 6 | "password": "Kata sandi", 7 | "selectPortfolio": "Pilih portfolio…" 8 | } -------------------------------------------------------------------------------- /app/locales/id/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Preferensi…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Situs web", 8 | "sourceCode": "Kode sumber", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "Laporkan masalah…", 11 | "about": "Tentang {{appName}}" 12 | }, 13 | "other": { 14 | "file": "File" 15 | }, 16 | "portfolio": { 17 | "title": "Portfolio", 18 | "dashboard": "Dasbor", 19 | "swap": "Swap", 20 | "exchange": "Pertukaran", 21 | "trades": "Trade", 22 | "settings": "Pengaturan", 23 | "goToPrevView": "Pergi ke tampilan sebelumnya", 24 | "goToNextView": "Pergi ke tampilan berikutnya", 25 | "logOut": "Log out" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/id/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Dasbor", 3 | "exchange": "Pertukaran", 4 | "settings": "Pengaturan", 5 | "swap": "Swap", 6 | "trades": "Trade" 7 | } -------------------------------------------------------------------------------- /app/locales/id/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Aplikasi", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "Aktifkan mata uang", 9 | "logOutAppSettings": "<0><0>Log out untuk melihat pengaturan aplikasi lainnya.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Portfolio", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Pengaturan", 24 | "theme": { 25 | "theme": "Tema", 26 | "dark": "Gelap", 27 | "light": "Terang", 28 | "system": "Sistem" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/id/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Pesanan Terbuka", 3 | "tradeHistory": "Trade History", 4 | "stats": "Pada bulan lalu Anda melakukan {{count}} trade yang berhasil dalam {{currencyCount}} mata uang senilai {{totalSwapsWorthInUsd}} secara total", 5 | "stats_plural": "Pada bulan lalu Anda melakukan {{count}} trade yang berhasil dalam {{currencyCount}} mata uang senilai {{totalSwapsWorthInUsd}} secara total" 6 | } -------------------------------------------------------------------------------- /app/locales/it/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "URL Marketmaker personalizzato", 4 | "exampleUrl": "Esempio: {{url}}", 5 | "invalidUrl": "URL non valido", 6 | "title": "Impostazioni dell'app" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/it/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Nessun dato disponibile" 3 | } -------------------------------------------------------------------------------- /app/locales/it/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Indietro", 3 | "copied": "Copiato", 4 | "copy": "Copia", 5 | "feedback": "Feedback" 6 | } -------------------------------------------------------------------------------- /app/locales/it/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Conferma", 3 | "confirmPassword": "Conferma password", 4 | "confirmPasswordNoMatch": "La password confermata non corrisponde alla password", 5 | "enterSeedPhrase": "Inserisci la tua frase segreta", 6 | "exampleSeedPhrase": "Esempio: {{seedPhrase}} …", 7 | "password": "Password", 8 | "seedPhraseNotSecure": "La frase segreta che hai inserito non è molto sicura.", 9 | "setNewPassword": "Imposta nuova password", 10 | "success": "La nuova password è stata impostata!" 11 | } -------------------------------------------------------------------------------- /app/locales/it/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Password dimenticata", 3 | "incorrectPassword": "Password non corretta", 4 | "login": "Accedi", 5 | "loggingIn": "Accesso in corso…", 6 | "password": "Password", 7 | "selectPortfolio": "Seleziona portafoglio…" 8 | } -------------------------------------------------------------------------------- /app/locales/it/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Impostazioni…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Sito web", 8 | "sourceCode": "Codice sorgente", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "Segnala un problema…", 11 | "about": "Informazioni su {{appName}}" 12 | }, 13 | "other": { 14 | "file": "File" 15 | }, 16 | "portfolio": { 17 | "title": "Portafoglio", 18 | "dashboard": "Pannello di controllo", 19 | "swap": "Scambia", 20 | "exchange": "Scambio", 21 | "trades": "Operazioni", 22 | "settings": "Impostazioni", 23 | "goToPrevView": "Vai alla vista precedente", 24 | "goToNextView": "Vai alla vista successiva", 25 | "logOut": "Esci" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/it/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Pannello di controllo", 3 | "exchange": "Mercato", 4 | "settings": "Impostazioni", 5 | "swap": "Scambio", 6 | "trades": "Operazioni" 7 | } -------------------------------------------------------------------------------- /app/locales/it/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "App", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "Valute abilitate", 9 | "logOutAppSettings": "<0><0>Esci per visualizzare ulteriori impostazioni dell'app.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Portafoglio", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Impostazioni", 24 | "theme": { 25 | "theme": "Tema", 26 | "dark": "Scuro", 27 | "light": "Chiaro", 28 | "system": "Sistema" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/it/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Ordini aperti", 3 | "tradeHistory": "Trade History", 4 | "stats": "Nell'ultimo mese hai eseguito con successo {{count}} operazione in {{currencyCount}} valute, per un valore di {{totalSwapsWorthInUsd}} in totale", 5 | "stats_plural": "Nell'ultimo mese hai eseguito con successo {{count}} operazioni in {{currencyCount}} valute, per un valore di {{totalSwapsWorthInUsd}} in totale" 6 | } -------------------------------------------------------------------------------- /app/locales/ja/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "カスタム マーケットメーカー URL", 4 | "exampleUrl": "例: {{url}}", 5 | "invalidUrl": "無効な URL", 6 | "title": "アプリの設定" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/ja/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "利用可能なデータがありません。" 3 | } -------------------------------------------------------------------------------- /app/locales/ja/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "戻る", 3 | "copied": "コピーしました", 4 | "copy": "コピー", 5 | "feedback": "フィードバック" 6 | } -------------------------------------------------------------------------------- /app/locales/ja/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "確認", 3 | "confirmPassword": "パスワードの確認", 4 | "confirmPasswordNoMatch": "確認パスワードが一致しません", 5 | "enterSeedPhrase": "シードフレーズを入力", 6 | "exampleSeedPhrase": "例: {{seedPhrase}} …", 7 | "password": "パスワード", 8 | "seedPhraseNotSecure": "シードフレーズが安全ではありません", 9 | "setNewPassword": "新しいパスワードを設定", 10 | "success": "新しいパスワードが設定されました!" 11 | } -------------------------------------------------------------------------------- /app/locales/ja/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "パスワードを忘れた", 3 | "incorrectPassword": "パスワードが正しくありません", 4 | "login": "ログイン", 5 | "loggingIn": "ログインしています...", 6 | "password": "パスワード", 7 | "selectPortfolio": "ポートフォリオを選択…" 8 | } -------------------------------------------------------------------------------- /app/locales/ja/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "設定…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "ウェブサイト", 8 | "sourceCode": "ソースコード", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "問題を報告…", 11 | "about": "{{appName}} について" 12 | }, 13 | "other": { 14 | "file": "ファイル" 15 | }, 16 | "portfolio": { 17 | "title": "ポートフォリオ", 18 | "dashboard": "ダッシュボード", 19 | "swap": "スワップ", 20 | "exchange": "取引所", 21 | "trades": "トレード", 22 | "settings": "設定", 23 | "goToPrevView": "前のビューに移動", 24 | "goToNextView": "次のビューに移動", 25 | "logOut": "ログアウト" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/ja/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "ダッシュボード", 3 | "exchange": "取引所", 4 | "settings": "設定", 5 | "swap": "スワップ", 6 | "trades": "トレード" 7 | } -------------------------------------------------------------------------------- /app/locales/ja/portfolio.json: -------------------------------------------------------------------------------- 1 | { 2 | "create": { 3 | "confirm": "確認", 4 | "confirmPassword": "パスワードの確認", 5 | "confirmPasswordNoMatch": "確認パスワードが一致しません", 6 | "confirmSeedPhrase": "シードフレーズを確認", 7 | "exampleSeedPhrase": "例: {{seedPhrase}} …", 8 | "name": "ポートフォリオ名", 9 | "next": "次", 10 | "password": "パスワード", 11 | "securityDescription": "<0>オフラインで保管することをお勧めします。<1>推奨のセキュリティプラクティスについてもっと学ぶ", 12 | "securityTitle": "重要: シードフレーズを今すぐバックアップしてください!", 13 | "seedPhrase": "あなたのポートフォリオのシードフレーズ", 14 | "seedPhraseNoMatch": "入力したシードフレーズと、生成されたシードフレーズが違います", 15 | "success": "新しいポートフォリオが追加されました!", 16 | "title": "新しいポートフォリオを作成" 17 | }, 18 | "new": { 19 | "createOrRestoreDescription": "シードフレーズがまだない場合は、新たに作成してください。", 20 | "createOrRestoreTitle": "<0>新しいポートフォリオを作成<1>しますか、それとも既存のポートフォリオを復元しますか?", 21 | "createPortfolio": "新しいポートフォリオを作成", 22 | "restorePortfolio": "ポートフォリオを復元" 23 | }, 24 | "restore": { 25 | "confirm": "確認", 26 | "confirmPasswordNoMatch": "確認パスワードが一致しません", 27 | "enterSeedPhrase": "シードフレーズを入力", 28 | "exampleSeedPhrase": "例: {{seedPhrase}} …" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ja/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "アプリ", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "有効になっている通貨", 9 | "logOutAppSettings": "さらにアプリ設定を表示するには<0><0>ログアウトしてください。", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "ポートフォリオ", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "設定", 24 | "theme": { 25 | "theme": "テーマ", 26 | "dark": "ダーク", 27 | "light": "ライト", 28 | "system": "システム" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ja/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "オープン注文", 3 | "tradeHistory": "Trade History", 4 | "stats": "先月、あなたは {{currencyCount}} 個の通貨を合計 {{totalSwapsWorthInUsd}} 分、{{count}} 回トレードしました。", 5 | "stats_plural": "先月、あなたは {{currencyCount}} 個の通貨を合計 {{totalSwapsWorthInUsd}} 分、{{count}} 回トレードしました。" 6 | } -------------------------------------------------------------------------------- /app/locales/ko/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "사용자 지정 투자 기관 URL", 4 | "exampleUrl": "예: {{url}}", 5 | "invalidUrl": "유효하지 않은 URL", 6 | "title": "앱 설정" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/ko/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "이용 가능한 데이터 없음" 3 | } -------------------------------------------------------------------------------- /app/locales/ko/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "뒤로", 3 | "copied": "복사됨", 4 | "copy": "복사", 5 | "feedback": "피드백" 6 | } -------------------------------------------------------------------------------- /app/locales/ko/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "확인", 3 | "confirmPassword": "비밀번호 확인", 4 | "confirmPasswordNoMatch": "확인 비밀번호가 비밀번호와 일치하지 않습니다", 5 | "enterSeedPhrase": "씨앗구(시드 프레이즈)를 입력하십시오", 6 | "exampleSeedPhrase": "예: {{seedPhrase}} …", 7 | "password": "비밀번호", 8 | "seedPhraseNotSecure": "입력하신 씨앗구는 안전하지 않습니다.", 9 | "setNewPassword": "새 비밀번호 설정", 10 | "success": "새 비밀번호가 설정되었습니다!" 11 | } -------------------------------------------------------------------------------- /app/locales/ko/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "비밀번호 찾기", 3 | "incorrectPassword": "잘못된 비밀번호", 4 | "login": "로그인", 5 | "loggingIn": "로그인 중…", 6 | "password": "비밀번호", 7 | "selectPortfolio": "포트폴리오 선택..." 8 | } -------------------------------------------------------------------------------- /app/locales/ko/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "환경 설정..." 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "웹사이트", 8 | "sourceCode": "소스 코드", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "문제 신고...", 11 | "about": "{{appName}} 정보" 12 | }, 13 | "other": { 14 | "file": "파일" 15 | }, 16 | "portfolio": { 17 | "title": "포트폴리오", 18 | "dashboard": "대시보드", 19 | "swap": "스왑", 20 | "exchange": "거래소", 21 | "trades": "거래", 22 | "settings": "설정", 23 | "goToPrevView": "이전 보기로 가기", 24 | "goToNextView": "다음 보기로 가기", 25 | "logOut": "로그아웃" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/ko/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "대시보드", 3 | "exchange": "환전", 4 | "settings": "설정", 5 | "swap": "스왑", 6 | "trades": "거래" 7 | } -------------------------------------------------------------------------------- /app/locales/ko/portfolio.json: -------------------------------------------------------------------------------- 1 | { 2 | "create": { 3 | "confirm": "확인", 4 | "confirmPassword": "비밀번호 확인", 5 | "confirmPasswordNoMatch": "확인 비밀번호가 비밀번호와 일치하지 않습니다", 6 | "confirmSeedPhrase": "씨앗구(시드 프레이즈)를 확인하십시오", 7 | "exampleSeedPhrase": "예: {{seedPhrase}} …", 8 | "name": "포트폴리오 이름", 9 | "next": "다음", 10 | "password": "비밀번호", 11 | "securityDescription": "<0>오프라인에 보관할 것을 권장합니다. <1>자세한 보안 모범 사례 보기", 12 | "securityTitle": "중요: 지금 씨앗구를 백업하십시오!", 13 | "seedPhrase": "포트폴리오용 씨앗구(시드 프레이즈)", 14 | "seedPhraseNoMatch": "입력하신 씨앗구(시드 프레이즈)가 생성된 것과 같지 않습니다", 15 | "success": "새 포트폴리오가 추가되었습니다!", 16 | "title": "새 포트폴리오 생성" 17 | }, 18 | "new": { 19 | "createOrRestoreDescription": "아직 씨앗구가 없으면 생성하십시오.", 20 | "createOrRestoreTitle": "<0>새 포트폴리오를 생성하시거나,<1>기존의 것을 복원하시겠습니까?", 21 | "createPortfolio": "새 포트폴리오 생성", 22 | "restorePortfolio": "포트폴리오 복원" 23 | }, 24 | "restore": { 25 | "confirm": "확인", 26 | "confirmPasswordNoMatch": "확인 비밀번호가 비밀번호와 일치하지 않습니다", 27 | "enterSeedPhrase": "씨앗구(시드 프레이즈)를 입력하십시오", 28 | "exampleSeedPhrase": "예: {{seedPhrase}} …" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ko/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "앱", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "활성화된 화폐", 9 | "logOutAppSettings": "<0>더 많은 앱 설정을 보려면 <0>로그아웃하십시오.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "포트폴리오", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "설정", 24 | "theme": { 25 | "theme": "테마", 26 | "dark": "어두움", 27 | "light": "밝음", 28 | "system": "시스템" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ko/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "진행 중인 주문", 3 | "tradeHistory": "Trade History", 4 | "stats": "지난 달 {{currencyCount}}종의 화폐로 {{count}}번의 거래에 성공했으며, 총 가치는 {{totalSwapsWorthInUsd}}이었습니다.", 5 | "stats_plural": "지난 달 {{currencyCount}}종의 화폐로 {{count}}번의 거래에 성공했으며, 총 가치는 {{totalSwapsWorthInUsd}}이었습니다." 6 | } -------------------------------------------------------------------------------- /app/locales/nb/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "Egendefinert Marketmaker nettadresse", 4 | "exampleUrl": "Eksempel: {{url}}", 5 | "invalidUrl": "Ugyldig nettadresse", 6 | "title": "App-innstillinger" 7 | }, 8 | "donate": { 9 | "title": "Donér", 10 | "bodyText": "HyperDEX er et gratis åpen-kildekode prosjekt. Du kan støtte utviklingen ved å donere til adressene nedenfor." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/nb/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Ingen data tilgjengelig" 3 | } -------------------------------------------------------------------------------- /app/locales/nb/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Tilbake", 3 | "copied": "Kopiert", 4 | "copy": "Kopier", 5 | "feedback": "Tilbakemelding" 6 | } -------------------------------------------------------------------------------- /app/locales/nb/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Bekreft", 3 | "confirmPassword": "Bekreft passord", 4 | "confirmPasswordNoMatch": "Det bekreftede passordet stemmer ikke med the valgte passordet", 5 | "enterSeedPhrase": "Skriv inn din \"seed phrase\"", 6 | "exampleSeedPhrase": "Eksempel: {{seedPhrase}}…", 7 | "password": "Passord", 8 | "seedPhraseNotSecure": "Den angitte \"seed phrase\"en er ikke veldig sikker.", 9 | "setNewPassword": "Angi nytt passord", 10 | "success": "Ditt nye passord er satt!" 11 | } -------------------------------------------------------------------------------- /app/locales/nb/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Glemt passord", 3 | "incorrectPassword": "Feil passord", 4 | "login": "Logg inn", 5 | "loggingIn": "Logger inn…", 6 | "password": "Passord", 7 | "selectPortfolio": "Velg portefølje…" 8 | } -------------------------------------------------------------------------------- /app/locales/nb/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Innstillinger…" 4 | }, 5 | "help": { 6 | "debugMode": "Feilsøkingsmodus", 7 | "website": "Nettsted", 8 | "sourceCode": "Kildekode", 9 | "reportSecurityIssue": "Rapporter et sikkerhetsproblem…", 10 | "reportIssue": "Rapporter et problem…", 11 | "about": "Om {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Fil" 15 | }, 16 | "portfolio": { 17 | "title": "Portefølje", 18 | "dashboard": "Start", 19 | "swap": "Bytte", 20 | "exchange": "Børs", 21 | "trades": "Handler", 22 | "settings": "Innstillinger", 23 | "goToPrevView": "Gå til forrige visning", 24 | "goToNextView": "Gå til neste visning", 25 | "logOut": "Logg ut" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/nb/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Start", 3 | "exchange": "Børs", 4 | "settings": "Innstillinger", 5 | "swap": "Bytte", 6 | "trades": "Handler" 7 | } -------------------------------------------------------------------------------- /app/locales/nb/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "App", 3 | "deletePortfolio": { 4 | "confirm": "Jeg forstår, slett denne porteføljen", 5 | "description": "<0>Hvis du ikke lagrer din \"Seed Phrase\" kan denne handling ikke angres og vil permanent slette <1><0>{{name}} porteføljen. <1>Vennligst skriv i navnet på porteføljen for å bekrefte.", 6 | "title": "Slett portefølje" 7 | }, 8 | "enabledCurrencies": "Aktiverte valutaer", 9 | "logOutAppSettings": "<0><0>Logg ut for å se flere app innstillinger.", 10 | "name": "Navn", 11 | "manage": "Administrer", 12 | "export": { 13 | "sectionLabel": "Eksporter", 14 | "exportTradeHistory": "Eksporter handel historikk til CSV", 15 | "trades": "handler" 16 | }, 17 | "portfolio": "Portefølje", 18 | "seedPhrase": { 19 | "enterPassword": "Skriv inn passord", 20 | "submit": "Send", 21 | "title": "Se din \"Seed Phrase\"" 22 | }, 23 | "title": "Innstillinger", 24 | "theme": { 25 | "theme": "Utseende", 26 | "dark": "Mørk", 27 | "light": "Lys", 28 | "system": "System" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/nb/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Åpne handler", 3 | "tradeHistory": "Handel historikk", 4 | "stats": "I den siste måneden utførte du {{count}} vellykket handel i {{currencyCount}} valutaer verdt {{totalSwapsWorthInUsd}} totalt", 5 | "stats_plural": "I den siste måneden utførte du {{count}} vellykkede handler i {{currencyCount}} valutaer verdt {{totalSwapsWorthInUsd}} totalt" 6 | } -------------------------------------------------------------------------------- /app/locales/pl/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "Spersonalizowany adres URL Marketmakera", 4 | "exampleUrl": "Na przykład: {{url}}", 5 | "invalidUrl": "Nieprawidłowy adres URL", 6 | "title": "Ustawienia aplikacji" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/pl/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Brak dostępnych danych" 3 | } -------------------------------------------------------------------------------- /app/locales/pl/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Wstecz", 3 | "copied": "Skopiowano", 4 | "copy": "Kopiuj", 5 | "feedback": "Opinie" 6 | } -------------------------------------------------------------------------------- /app/locales/pl/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Potwierdź", 3 | "confirmPassword": "Potwierdź hasło", 4 | "confirmPasswordNoMatch": "Potwierdzone hasło nie jest zgodne z hasłem", 5 | "enterSeedPhrase": "Wprowadź frazę odzyskiwania", 6 | "exampleSeedPhrase": "Na przykład: {{seedPhrase}}…", 7 | "password": "Hasło", 8 | "seedPhraseNotSecure": "Podana przez Ciebie fraza odzyskiwania nie jest wystarczająco bezpieczna.", 9 | "setNewPassword": "Utwórz nowe hasło", 10 | "success": "Utworzono nowe hasło!" 11 | } -------------------------------------------------------------------------------- /app/locales/pl/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Nie pamiętam hasła", 3 | "incorrectPassword": "Nieprawidłowe hasło", 4 | "login": "Zaloguj się", 5 | "loggingIn": "Logowanie…", 6 | "password": "Hasło", 7 | "selectPortfolio": "Wybierz portfolio…" 8 | } -------------------------------------------------------------------------------- /app/locales/pl/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Preferencje…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Strona internetowa", 8 | "sourceCode": "Kod źródłowy", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "Zgłoś problem…", 11 | "about": "O {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Plik" 15 | }, 16 | "portfolio": { 17 | "title": "Portfolio", 18 | "dashboard": "Pulpit", 19 | "swap": "Swap", 20 | "exchange": "Wymiana", 21 | "trades": "Transakcje", 22 | "settings": "Ustawienia", 23 | "goToPrevView": "Przejdź do poprzedniego widoku", 24 | "goToNextView": "Przejdź do następnego widoku", 25 | "logOut": "Wyloguj się" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/pl/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Pulpit", 3 | "exchange": "Wymiana", 4 | "settings": "Ustawienia", 5 | "swap": "Swap", 6 | "trades": "Transakcje" 7 | } -------------------------------------------------------------------------------- /app/locales/pl/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Aplikacja", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "Aktywne waluty", 9 | "logOutAppSettings": "<0><0>Wyloguj się, aby zobaczyć więcej ustawień aplikacji.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Portfolio", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Ustawienia", 24 | "theme": { 25 | "theme": "Motyw", 26 | "dark": "Ciemny", 27 | "light": "Jasny", 28 | "system": "System" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/pl/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Otwórz zamówienia", 3 | "tradeHistory": "Trade History", 4 | "stats": "W ciągu ostatniego miesiąca dokonałeś\/aś {{count}} udanej transakcji w {{currencyCount}} walutach łącznie wartej {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "W ciągu ostatniego miesiąca dokonałeś\/aś {{count}} udanych transakcji w {{currencyCount}} walutach łącznie wartych {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/ro/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "Link URL personalizat al server-ului de împerechere al tranzacțiilor", 4 | "exampleUrl": "Exemplu: {{url}}", 5 | "invalidUrl": "Link URL invalid", 6 | "title": "Setări aplicație" 7 | }, 8 | "donate": { 9 | "title": "Donează", 10 | "bodyText": "HyperDEX este un produs gratuit susținut în totalitate din ajutorul membrilor comunității. Și tu poți susține proiectul printr-o donație la una dintre adresele de mai jos:" 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/ro/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Nicio informație disponibilă" 3 | } -------------------------------------------------------------------------------- /app/locales/ro/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Înapoi", 3 | "copied": "Copiat", 4 | "copy": "Copiează", 5 | "feedback": "Părere" 6 | } -------------------------------------------------------------------------------- /app/locales/ro/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Confirmă", 3 | "confirmPassword": "Confirmă Parola", 4 | "confirmPasswordNoMatch": "Parola de confirmare nu corespunde cu parola introdusă anterior.", 5 | "enterSeedPhrase": "Introdu secvența de cuvinte unice ce corepund portofelului tău", 6 | "exampleSeedPhrase": "Exemplu: {{seedPhrase}} …", 7 | "password": "Parolă", 8 | "seedPhraseNotSecure": "Secvența de cuvinte introdusă nu este destul de rezistentă.", 9 | "setNewPassword": "Schimbă parola", 10 | "success": "Parola nouă a fost salvată!" 11 | } -------------------------------------------------------------------------------- /app/locales/ro/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Am uitat parola", 3 | "incorrectPassword": "Parola incorectă", 4 | "login": "Autentifică-te", 5 | "loggingIn": "Autentificare…", 6 | "password": "Parolă", 7 | "selectPortfolio": "Selecteaza portofel…" 8 | } -------------------------------------------------------------------------------- /app/locales/ro/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Preferințe…" 4 | }, 5 | "help": { 6 | "debugMode": "Mod dezvoltator", 7 | "website": "Site web", 8 | "sourceCode": "Codul sursă", 9 | "reportSecurityIssue": "Raportează o problemă de securitate…", 10 | "reportIssue": "Raportează o problemă…", 11 | "about": "Despre {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Fișiere" 15 | }, 16 | "portfolio": { 17 | "title": "Portofel", 18 | "dashboard": "Panou de bord", 19 | "swap": "Schimbă", 20 | "exchange": "Schimb valutar", 21 | "trades": "Tranzacții", 22 | "settings": "Setări", 23 | "goToPrevView": "Întoarce-te la meniul anterior", 24 | "goToNextView": "Meniul următor", 25 | "logOut": "Deconectați-vă" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/ro/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Panou de bord", 3 | "exchange": "Schimb valutar", 4 | "settings": "Seări", 5 | "swap": "Schimbă", 6 | "trades": "Tranzacții" 7 | } -------------------------------------------------------------------------------- /app/locales/ro/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Aplicație", 3 | "deletePortfolio": { 4 | "confirm": "Sunt sigur că doresc eliminarea portofelului.", 5 | "description": "<0>Dacă nu ai salvat secvența de cuvinte corespunzătoare portofelului tau, această acțiune poate duce la pierderea definitivă a bunurilor dumneavoastră corespunzătoare portofelului tau <1><0>{{name}}.<1>Introdu numele portofelului pentru a confirma acțiunea.", 6 | "title": "Șterge portofel" 7 | }, 8 | "enabledCurrencies": "Monede activate", 9 | "logOutAppSettings": "<0><0>Deconectați-vă pentru a avea access la toate setările aplicației.", 10 | "name": "Nume", 11 | "manage": "Administrează", 12 | "export": { 13 | "sectionLabel": "Exportă", 14 | "exportTradeHistory": "Exportă istoricul tranzactiilor dumneavoastră în format CSV", 15 | "trades": "tranzacții" 16 | }, 17 | "portfolio": "Portofel", 18 | "seedPhrase": { 19 | "enterPassword": "Introdu parola", 20 | "submit": "Trimite", 21 | "title": "Vezi secvența de cuvinte corespunzatoare portofelului" 22 | }, 23 | "title": "Setări", 24 | "theme": { 25 | "theme": "Temă", 26 | "dark": "Întunecată (mod noapte)", 27 | "light": "Luminată (mod zi)", 28 | "system": "Sistem" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ro/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Comenzi deschise", 3 | "tradeHistory": "Isoric tranzacții", 4 | "stats": "În ultima luna ai efectuat un număr de {{count}} tranzacții reușite cu {{currencyCount}} monede însumând un total de {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "În ultima luna ai efectuat un număr de {{count}} tranzacții reușite cu {{currencyCount}} monede însumând un total de {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/ru/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "URL специального маркетмейкера", 4 | "exampleUrl": "Пример: {{url}}", 5 | "invalidUrl": "Недопустимый URL-адрес", 6 | "title": "Настройки приложения" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/ru/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Нет данных" 3 | } -------------------------------------------------------------------------------- /app/locales/ru/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Назад", 3 | "copied": "Скопировано", 4 | "copy": "Копировать", 5 | "feedback": "Отклик" 6 | } -------------------------------------------------------------------------------- /app/locales/ru/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Подтвердить", 3 | "confirmPassword": "Подтвердить пароль", 4 | "confirmPasswordNoMatch": "Подтверждение пароля не совпадает с паролем", 5 | "enterSeedPhrase": "Введите вашу секретную фразу", 6 | "exampleSeedPhrase": "Пример: {{seedPhrase}}…", 7 | "password": "Пароль", 8 | "seedPhraseNotSecure": "Введенная вами секретная фраза недостаточно безопасна.", 9 | "setNewPassword": "Задать новый пароль", 10 | "success": "Новый пароль установлен!" 11 | } -------------------------------------------------------------------------------- /app/locales/ru/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Забыли пароль", 3 | "incorrectPassword": "Неверный пароль", 4 | "login": "Войти", 5 | "loggingIn": "Производится вход…", 6 | "password": "Пароль", 7 | "selectPortfolio": "Выбрать портфель…" 8 | } -------------------------------------------------------------------------------- /app/locales/ru/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Настройки…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Веб-сайт", 8 | "sourceCode": "Исходный код", 9 | "reportSecurityIssue": "Сообщить о проблеме безопасности…", 10 | "reportIssue": "Сообщить о проблеме…", 11 | "about": "О приложении {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Файл" 15 | }, 16 | "portfolio": { 17 | "title": "Портфель", 18 | "dashboard": "Панель", 19 | "swap": "Своп", 20 | "exchange": "Обмен", 21 | "trades": "Сделки", 22 | "settings": "Настройки", 23 | "goToPrevView": "Перейти к предыдущему виду", 24 | "goToNextView": "Перейти к следующему виду", 25 | "logOut": "Выйти" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/ru/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Панель", 3 | "exchange": "Обмен", 4 | "settings": "Настройки", 5 | "swap": "Своп", 6 | "trades": "Сделки" 7 | } -------------------------------------------------------------------------------- /app/locales/ru/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Приложение", 3 | "deletePortfolio": { 4 | "confirm": "Я понимаю, удалите этот портфель", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Удалить Портфолио" 7 | }, 8 | "enabledCurrencies": "Активные валюты", 9 | "logOutAppSettings": "<0><0>Выйти, чтобы видеть больше настроек приложения.", 10 | "name": "Имя", 11 | "manage": "Управлять", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "сделки" 16 | }, 17 | "portfolio": "Портфель", 18 | "seedPhrase": { 19 | "enterPassword": "Введите пароль", 20 | "submit": "Отправить", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Настройки", 24 | "theme": { 25 | "theme": "Тема", 26 | "dark": "Тёмная", 27 | "light": "Светлая", 28 | "system": "Система" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ru/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Открытые ордера", 3 | "tradeHistory": "Trade History", 4 | "stats": "За последний месяц у вас было успешных сделок: {{count}}; количество валют: {{currencyCount}}; итоговой стоимостью: {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "За последний месяц у вас было успешных сделок: {{count}}; количество валют: {{currencyCount}}; итоговой стоимостью: {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "Anpassad webbadress till Marketmaker", 4 | "exampleUrl": "Exempel: {{url}}", 5 | "invalidUrl": "Ogiltig webbadress", 6 | "title": "Appinställningar" 7 | }, 8 | "donate": { 9 | "title": "Donera", 10 | "bodyText": "HyperDEX är ett gratis och öppen källkod-projekt. Du kan stödja dess utveckling genom att donera till adresserna nedan." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Inga data tillgängliga" 3 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Tillbaka", 3 | "copied": "Kopierad", 4 | "copy": "Kopiera", 5 | "feedback": "Feedback" 6 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Bekräfta", 3 | "confirmPassword": "Bekräfta lösenord", 4 | "confirmPasswordNoMatch": "Bekräftat lösenord matchar inte lösenord", 5 | "enterSeedPhrase": "Ange din fröfras", 6 | "exampleSeedPhrase": "Exempel: {{seedPhrase}} …", 7 | "password": "Lösenord", 8 | "seedPhraseNotSecure": "Den fröfras du angav är inte särskilt säker.", 9 | "setNewPassword": "Ange nytt lösenord", 10 | "success": "Ditt nya lösenord är inställt!" 11 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Glömt lösenord", 3 | "incorrectPassword": "Fel lösenord", 4 | "login": "Logga in", 5 | "loggingIn": "Loggar in…", 6 | "password": "Lösenord", 7 | "selectPortfolio": "Välj portfölj…" 8 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Inställningar…" 4 | }, 5 | "help": { 6 | "debugMode": "Debugläge", 7 | "website": "Webbplats", 8 | "sourceCode": "Källkod", 9 | "reportSecurityIssue": "Rapportera ett säkerhetsproblem…", 10 | "reportIssue": "Rapportera ett problem…", 11 | "about": "Om {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Arkiv" 15 | }, 16 | "portfolio": { 17 | "title": "Portfölj", 18 | "dashboard": "Kontrollpanel", 19 | "swap": "Swap", 20 | "exchange": "Börs", 21 | "trades": "Handel", 22 | "settings": "Inställningar", 23 | "goToPrevView": "Gå till föregående vy", 24 | "goToNextView": "Gå till nästa vy", 25 | "logOut": "Logga ut" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Kontrollpanel", 3 | "exchange": "Börs", 4 | "settings": "Inställningar", 5 | "swap": "Swap", 6 | "trades": "Handel" 7 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "App", 3 | "deletePortfolio": { 4 | "confirm": "Jag förstår, ta bort den här portföljen", 5 | "description": "<0>Om du inte sparar din fröfras kan denna åtgärd inte ångras och kommer radera portföljen <1><0>{{name}} permanent.<1>Skriv in namnet på portföljen för att bekräfta.", 6 | "title": "Ta bort portfölj" 7 | }, 8 | "enabledCurrencies": "Aktiverade valutor", 9 | "logOutAppSettings": "<0><0>Logga ut för att se fler appinställningar.", 10 | "name": "Namn", 11 | "manage": "Hantera", 12 | "export": { 13 | "sectionLabel": "Exportera", 14 | "exportTradeHistory": "Exportera handelshistorik till CSV", 15 | "trades": "handel" 16 | }, 17 | "portfolio": "Portfölj", 18 | "seedPhrase": { 19 | "enterPassword": "Ange lösenord", 20 | "submit": "Skicka", 21 | "title": "Visa fröfras" 22 | }, 23 | "title": "Inställningar", 24 | "theme": { 25 | "theme": "Tema", 26 | "dark": "Mörk", 27 | "light": "Ljus", 28 | "system": "System" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/sv-SE/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Öppna ordrar", 3 | "tradeHistory": "Handelshistorik", 4 | "stats": "Under den senaste månaden genomförde du {{count}} lyckad handelstransaktion i {{currencyCount}} valutor värd {{totalSwapsWorthInUsd}} totalt", 5 | "stats_plural": "Under den senaste månaden genomförde du {{count}} lyckade handelstransaktioner i {{currencyCount}} valutor värd {{totalSwapsWorthInUsd}} totalt" 6 | } -------------------------------------------------------------------------------- /app/locales/sw/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "URL Maalum ya Muuzaji Hisa", 4 | "exampleUrl": "Mfano: {{url}}", 5 | "invalidUrl": "URL si sahihi", 6 | "title": "Mipangilio ya programu" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/sw/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Hamna data" 3 | } -------------------------------------------------------------------------------- /app/locales/sw/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Nyuma", 3 | "copied": "Imenakiliwa", 4 | "copy": "Nakili", 5 | "feedback": "Maoni" 6 | } -------------------------------------------------------------------------------- /app/locales/sw/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Thibitisha", 3 | "confirmPassword": "Thibitisha Nenosiri", 4 | "confirmPasswordNoMatch": "Nenosiri ulilothibitisha halilingani na la kwanza", 5 | "enterSeedPhrase": "Weka Maneno Yako ya Kurejesha Sarafu", 6 | "exampleSeedPhrase": "Mfano: {{seedPhrase}}…", 7 | "password": "Nenosiri", 8 | "seedPhraseNotSecure": "Maneno ya kurejesha sarafu ambayo umeweka sio salama kabisa.", 9 | "setNewPassword": "Weka Nenosiri Jipya", 10 | "success": "Umeweka nenosiri jipya!" 11 | } -------------------------------------------------------------------------------- /app/locales/sw/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Umesahau nenosiri", 3 | "incorrectPassword": "Nenosiri si sahihi", 4 | "login": "Ingia", 5 | "loggingIn": "Unaingia…", 6 | "password": "Nenosiri", 7 | "selectPortfolio": "Chagua uwekezaji…" 8 | } -------------------------------------------------------------------------------- /app/locales/sw/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Mapendeleo…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Tovuti", 8 | "sourceCode": "Msimbo chanzo", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "Tuma ripoti kuhusu hitilafu…", 11 | "about": "Kuhusu {{appName}}" 12 | }, 13 | "other": { 14 | "file": "Faili" 15 | }, 16 | "portfolio": { 17 | "title": "Uwekezaji", 18 | "dashboard": "Dashibodi", 19 | "swap": "Badilisha", 20 | "exchange": "Badilisha", 21 | "trades": "Biashara", 22 | "settings": "Mipangilio", 23 | "goToPrevView": "Nenda kwenye Mwonekano Uliopita", 24 | "goToNextView": "Nenda kwenye Mwonekano Unaofuata", 25 | "logOut": "Ondoka" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/sw/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Dashibodi", 3 | "exchange": "Badilisha", 4 | "settings": "Mipangilio", 5 | "swap": "Badilisha", 6 | "trades": "Biashara" 7 | } -------------------------------------------------------------------------------- /app/locales/sw/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Programu", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "Sarafu zilizoruhusiwa", 9 | "logOutAppSettings": "<0><0>Ondoka uone mipangilio zaidi ya programu.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Uwekezaji", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Mipangilio", 24 | "theme": { 25 | "theme": "Mandhari", 26 | "dark": "Nyeusi", 27 | "light": "Nyeupe", 28 | "system": "Mfumo" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/sw/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Maagizo Yaliyofunguliwa", 3 | "tradeHistory": "Trade History", 4 | "stats": "Katika mwezi uliopita ulikamilisha biashara {{count}} kwa sarafu ya {{currencyCount}} yenye thamani ya jumla ya {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "Katika mwezi uliopita ulikamilisha biashara {{count}} kwa sarafu ya {{currencyCount}} zenye thamani ya jumla ya {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/th/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "URL เฉพาะของผู้กำหนดตลาด (Marketmaker)", 4 | "exampleUrl": "ตัวอย่าง: {{url}}", 5 | "invalidUrl": "URL ไม่ถูกต้อง", 6 | "title": "การตั้งค่าแอปพลิเคชัน" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/th/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "ไม่มีข้อมูล" 3 | } -------------------------------------------------------------------------------- /app/locales/th/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "ย้อนกลับ", 3 | "copied": "คัดลอกแล้ว", 4 | "copy": "คัดลอก", 5 | "feedback": "ผลตอบรับ" 6 | } -------------------------------------------------------------------------------- /app/locales/th/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "ยืนยัน", 3 | "confirmPassword": "ยืนยันรหัสผ่าน", 4 | "confirmPasswordNoMatch": "ยืนยันรหัสผ่านไม่ตรงกับรหัสผ่าน", 5 | "enterSeedPhrase": "ป้อนรหัสแบบสุ่มของคุณ", 6 | "exampleSeedPhrase": "ตัวอย่าง: {{seedPhrase}} ...", 7 | "password": "รหัสผ่าน", 8 | "seedPhraseNotSecure": "รหัสแบบสุ่มที่คุณป้อนไม่ค่อยปลอดภัย", 9 | "setNewPassword": "ตั้งรหัสผ่านใหม่", 10 | "success": "ตั้งรหัสผ่านใหม่ของคุณแล้ว!" 11 | } -------------------------------------------------------------------------------- /app/locales/th/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "ลืมรหัสผ่าน", 3 | "incorrectPassword": "รหัสผ่านไม่ถูกต้อง", 4 | "login": "เข้าสู่ระบบ", 5 | "loggingIn": "กำลังเข้าสู่ระบบ...", 6 | "password": "รหัสผ่าน", 7 | "selectPortfolio": "เลือกพอร์ต..." 8 | } -------------------------------------------------------------------------------- /app/locales/th/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "การตั้งค่า..." 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "เว็บไซต์", 8 | "sourceCode": "ซอร์สโค้ด", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "รายงานปัญหา", 11 | "about": "เกี่ยวกับ {{appName}}" 12 | }, 13 | "other": { 14 | "file": "ไฟล์" 15 | }, 16 | "portfolio": { 17 | "title": "พอร์ตการลงทุน", 18 | "dashboard": "หน้าหลัก", 19 | "swap": "สวอป", 20 | "exchange": "แลกเปลี่ยน", 21 | "trades": "การซื้อขาย", 22 | "settings": "การตั้งค่า", 23 | "goToPrevView": "ไปหน้าก่อนหน้านี้", 24 | "goToNextView": "ไปดูหน้าถัดไป", 25 | "logOut": "ออกจากระบบ" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/th/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "หน้าหลัก", 3 | "exchange": "แลกเปลี่ยน", 4 | "settings": "การตั้งค่า", 5 | "swap": "สวอป", 6 | "trades": "การซื้อขาย" 7 | } -------------------------------------------------------------------------------- /app/locales/th/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "แอป", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "สกุลเงินที่เปิดใช้", 9 | "logOutAppSettings": "<0><0>ออกจากระบบเพื่อดูการตั้งค่าแอปเพิ่มเติม", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "พอร์ตการลงทุน", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "การตั้งค่า", 24 | "theme": { 25 | "theme": "ธีม", 26 | "dark": "สีเข้ม", 27 | "light": "สีอ่อน", 28 | "system": "ระบบ" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/th/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "คำสั่งซื้อเปิด", 3 | "tradeHistory": "Trade History", 4 | "stats": "ในเดือนที่แล้ว คุณได้ซื้อขาย {{count}} ครั้งด้วยสกุลเงิน {{currencyCount}} สกุลที่มีมูลค่ารวม {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "ในเดือนที่แล้ว คุณได้ซื้อขาย {{count}} ครั้งด้วยสกุลเงิน {{currencyCount}} สกุลที่มีมูลค่ารวม {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/tr/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "Özel Piyasa Yapıcı Linki", 4 | "exampleUrl": "Örnek: {{url}}", 5 | "invalidUrl": "Geçersiz URL", 6 | "title": "Uygulama ayarları" 7 | }, 8 | "donate": { 9 | "title": "Bağış yap", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/tr/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Veri yok" 3 | } -------------------------------------------------------------------------------- /app/locales/tr/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Geri", 3 | "copied": "Kopyalandı", 4 | "copy": "Kopyala", 5 | "feedback": "Geribildirim" 6 | } -------------------------------------------------------------------------------- /app/locales/tr/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Doğrula", 3 | "confirmPassword": "Şifreyi Tekrarla", 4 | "confirmPasswordNoMatch": "Şifre ile tekrarlanan şifre eşleşmiyor", 5 | "enterSeedPhrase": "Seed Metnini Gir", 6 | "exampleSeedPhrase": "Örnek: {{seedPhrase}} …", 7 | "password": "Şifre", 8 | "seedPhraseNotSecure": "Girdiğin seed metni yeterince güvenli değil.", 9 | "setNewPassword": "Yeni Şifre Oluştur", 10 | "success": "Yeni şifren oluşturuldu!" 11 | } -------------------------------------------------------------------------------- /app/locales/tr/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Şifremi unuttum", 3 | "incorrectPassword": "Hatalı şifre", 4 | "login": "Oturum Aç", 5 | "loggingIn": "Oturum açılıyor…", 6 | "password": "Şifre", 7 | "selectPortfolio": "Portföy seç…" 8 | } -------------------------------------------------------------------------------- /app/locales/tr/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Tercihler…" 4 | }, 5 | "help": { 6 | "debugMode": "Hata ayıklama modu", 7 | "website": "Web sitesi", 8 | "sourceCode": "Kaynak kodu", 9 | "reportSecurityIssue": "Güvenlik sorunlarını raporla…", 10 | "reportIssue": "Sorun bildir…", 11 | "about": "{{appName}} Hakkında" 12 | }, 13 | "other": { 14 | "file": "Dosya" 15 | }, 16 | "portfolio": { 17 | "title": "Portföy", 18 | "dashboard": "Kontrol paneli", 19 | "swap": "Takas Et", 20 | "exchange": "Bozdur", 21 | "trades": "Alım satım", 22 | "settings": "Ayarlar", 23 | "goToPrevView": "Bir Önceki Ekrana Git", 24 | "goToNextView": "Bir Sonraki Ekrana Git", 25 | "logOut": "Çıkış Yap" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/tr/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Kontrol paneli", 3 | "exchange": "Çevir", 4 | "settings": "Ayarlar", 5 | "swap": "Takas Et", 6 | "trades": "Alım satım" 7 | } -------------------------------------------------------------------------------- /app/locales/tr/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Uygulama", 3 | "deletePortfolio": { 4 | "confirm": "Bu portföy'ü silmek istediğime Eminim", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Portföyü Kaldır" 7 | }, 8 | "enabledCurrencies": "Etkin para birimleri", 9 | "logOutAppSettings": "<0><0>Daha fazla uygulama ayarı görmek içinçıkış yap.", 10 | "name": "İsim", 11 | "manage": "Yönet", 12 | "export": { 13 | "sectionLabel": "Dışa aktar", 14 | "exportTradeHistory": "Ticaret geçmiş CSV dosyasına çıkar", 15 | "trades": "takas" 16 | }, 17 | "portfolio": "Portföy", 18 | "seedPhrase": { 19 | "enterPassword": "Şifre giriniz", 20 | "submit": "Gönder", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Ayarlar", 24 | "theme": { 25 | "theme": "Tema", 26 | "dark": "Koyu", 27 | "light": "Açık", 28 | "system": "Sistem" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/tr/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Açık Siparişler", 3 | "tradeHistory": "Trade History", 4 | "stats": "Geçen ay içerisinde toplamda {{totalSwapsWorthInUsd}} olmak üzere; {{currencyCount}} değerinde {{count}} kadar başarılı takas yaptınız", 5 | "stats_plural": "Geçen ay {{currencyCount}} ile toplamda {{totalSwapsWorthInUsd}} değerinde {{count}} başarılı takas yaptın" 6 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "کسٹم مارکیٹ میکر یو آر ایل", 4 | "exampleUrl": "مثال: {{url}}", 5 | "invalidUrl": "غلط یو آر ایل", 6 | "title": "ایپ کی ترتیبات" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "اعداد و شمار دستیاب نہیں ہیں" 3 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "پیچھے", 3 | "copied": "نقل", 4 | "copy": "نقل", 5 | "feedback": "تاثرات" 6 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "تصدیق کریں", 3 | "confirmPassword": "پاس ورڈ کی تصدیق کریں", 4 | "confirmPasswordNoMatch": "تصدیق شدہ پاس ورڈ مشابہ نہیں ہے پاس ورڈ سے", 5 | "enterSeedPhrase": "اپن تفصیلی فقرہ درج کریں", 6 | "exampleSeedPhrase": "مثال: {{seedPhrase}}…", 7 | "password": "پاس ورڈ", 8 | "seedPhraseNotSecure": "داخل کردہ تفصیلی فقرہ بہت محفوظ نہیں ہے ۔.", 9 | "setNewPassword": "نیا پاس ورڈ سیٹ کریں", 10 | "success": "آپ کا نیا پاس ورڈ سیٹ ہو گیا ہے!" 11 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "پاس ورڈ بھول گیا", 3 | "incorrectPassword": "غلط پاسورڈ", 4 | "login": "لاگ اِن", 5 | "loggingIn": "لاگ ان ہو رہا ہے…", 6 | "password": "پاس ورڈ", 7 | "selectPortfolio": "پورٹ فولیو منتخب کریں…" 8 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "ترجیحات…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "ویب سائٹ", 8 | "sourceCode": "سورس کوڈ", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "مسئلے کو رپورٹ کریں…", 11 | "about": "{{appName}} کے بارے میں" 12 | }, 13 | "other": { 14 | "file": "فائل" 15 | }, 16 | "portfolio": { 17 | "title": "پورٹ فولیو", 18 | "dashboard": "ڈیش بورڈ", 19 | "swap": "سویپ کریں", 20 | "exchange": "تبادلہ", 21 | "trades": "ٹریڈز", 22 | "settings": "سیٹنگیز", 23 | "goToPrevView": "پچھلے منظر پر جائیں", 24 | "goToNextView": "اگلے منظر پر جائیں", 25 | "logOut": "لاگ آؤٹ" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "ڈیش بورڈ", 3 | "exchange": "تبادلہ", 4 | "settings": "سیٹنگیز", 5 | "swap": "سویپ کریں", 6 | "trades": "ٹریڈز" 7 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "ایپ", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "فعال کرنسیاں", 9 | "logOutAppSettings": "<0>مزید ایپ سیٹنگز دیکھنے کے لیے <0>لاگ آؤٹ کریں.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "پورٹ فولیو", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "سیٹنگیز", 24 | "theme": { 25 | "theme": "تھیم", 26 | "dark": "گہری", 27 | "light": "ہلکی تھیم", 28 | "system": "سسٹم" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/ur-PK/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "آرڈرز کھولیں", 3 | "tradeHistory": "Trade History", 4 | "stats": "گذشتہ ایک ماہ میں آپ نے {{count}} کامیاب ٹریڈ کیا {{currencyCount}} کرنسیز کی کل مالیت {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "گذشتہ ایک ماہ میں آپ نے {{count}} کامیاب ٹریڈ کیا {{currencyCount}} کرنسیز کی کل مالیت {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/vi/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "URL Tùy chỉnh cho Nhà đầu tư", 4 | "exampleUrl": "Ví dụ: {{url}}", 5 | "invalidUrl": "URL không hợp lệ", 6 | "title": "Cài đặt ứng dụng" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/vi/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "Không có dữ liệu khả dụng" 3 | } -------------------------------------------------------------------------------- /app/locales/vi/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "Quay lại", 3 | "copied": "Đã sao chép", 4 | "copy": "Sao chép", 5 | "feedback": "Phản hồi" 6 | } -------------------------------------------------------------------------------- /app/locales/vi/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "Xác nhận", 3 | "confirmPassword": "Xác nhận Mật khẩu", 4 | "confirmPasswordNoMatch": "Mật khẩu được xác nhận không khớp", 5 | "enterSeedPhrase": "Nhập Seed Phrase của bạn", 6 | "exampleSeedPhrase": "Ví dụ: {{seedPhrase}} …", 7 | "password": "Mật khẩu", 8 | "seedPhraseNotSecure": "Seed phrase bạn vừa nhập rất không an toàn.", 9 | "setNewPassword": "Đặt Mật khẩu Mới", 10 | "success": "Mật khẩu mới của bạn đã được đặt!" 11 | } -------------------------------------------------------------------------------- /app/locales/vi/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "Quên mật khẩu", 3 | "incorrectPassword": "Mật khẩu không đúng", 4 | "login": "Đăng nhập", 5 | "loggingIn": "Đang đăng nhập…", 6 | "password": "Mật khẩu", 7 | "selectPortfolio": "Chọn mục đầu tư…" 8 | } -------------------------------------------------------------------------------- /app/locales/vi/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "Tùy chọn…" 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "Trang web", 8 | "sourceCode": "Mã nguồn", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "Báo cáo một vấn đề…", 11 | "about": "Về {{appName}}" 12 | }, 13 | "other": { 14 | "file": "File" 15 | }, 16 | "portfolio": { 17 | "title": "Mục đầu tư", 18 | "dashboard": "Bảng điều khiển", 19 | "swap": "Hoán đổi", 20 | "exchange": "Tỉ giá", 21 | "trades": "Giao dịch", 22 | "settings": "Cài đặt", 23 | "goToPrevView": "Đi tới Trang Trước", 24 | "goToNextView": "Đi tới Trang Tiếp", 25 | "logOut": "Đăng Xuất" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/vi/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "Bảng điều khiển", 3 | "exchange": "Tỉ giá", 4 | "settings": "Cài đặt", 5 | "swap": "Hoán đổi", 6 | "trades": "Giao dịch" 7 | } -------------------------------------------------------------------------------- /app/locales/vi/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "Ứng dụng", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "Đồng tiền đã kích hoạt", 9 | "logOutAppSettings": "<0><0>Đăng xuấtđể xem thêm cài đặt của ứng dụng.", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "Mục đầu tư", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "Cài đặt", 24 | "theme": { 25 | "theme": "Chủ đề", 26 | "dark": "Tối", 27 | "light": "Sáng", 28 | "system": "Hệ thống" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/vi/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "Mở Lệnh", 3 | "tradeHistory": "Trade History", 4 | "stats": "Trong tháng vừa rồi bạn đã thực hiện {{count}} giao dịch thành công với {{currencyCount}} đồng tiền có tổng giá trị là {{totalSwapsWorthInUsd}}", 5 | "stats_plural": "Trong tháng vừa rồi bạn đã thực hiện {{count}} giao dịch thành công với {{currencyCount}} đồng tiền có tổng giá trị là {{totalSwapsWorthInUsd}}" 6 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "自定义做市商 URL", 4 | "exampleUrl": "例如:{{url}}", 5 | "invalidUrl": "无效的 URL", 6 | "title": "应用设置" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "无可用数据" 3 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "返回", 3 | "copied": "已复制", 4 | "copy": "复制", 5 | "feedback": "反馈" 6 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "确认", 3 | "confirmPassword": "确认密码", 4 | "confirmPasswordNoMatch": "确认的密码与原密码不匹配。", 5 | "enterSeedPhrase": "输入您的助记词", 6 | "exampleSeedPhrase": "例如:{{seedPhrase}} …", 7 | "password": "密码", 8 | "seedPhraseNotSecure": "您输入的助记词不太安全。", 9 | "setNewPassword": "设置新密码", 10 | "success": "新密码已设置!" 11 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "忘记密码", 3 | "incorrectPassword": "密码错误", 4 | "login": "登录", 5 | "loggingIn": "正在登录…", 6 | "password": "密码", 7 | "selectPortfolio": "选择资产组合..." 8 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "偏好设置..." 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "网站", 8 | "sourceCode": "源代码", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "报告问题…", 11 | "about": "关于 {{appName}}" 12 | }, 13 | "other": { 14 | "file": "文件" 15 | }, 16 | "portfolio": { 17 | "title": "资产组合", 18 | "dashboard": "仪表盘", 19 | "swap": "交换", 20 | "exchange": "交易", 21 | "trades": "交易", 22 | "settings": "设置", 23 | "goToPrevView": "转到上一视图", 24 | "goToNextView": "转到下一视图", 25 | "logOut": "注销" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "仪表盘", 3 | "exchange": "交易", 4 | "settings": "设置", 5 | "swap": "交换", 6 | "trades": "交易" 7 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/portfolio.json: -------------------------------------------------------------------------------- 1 | { 2 | "create": { 3 | "confirm": "确认", 4 | "confirmPassword": "确认密码", 5 | "confirmPasswordNoMatch": "确认的密码与原密码不匹配。", 6 | "confirmSeedPhrase": "确认您的助记词", 7 | "exampleSeedPhrase": "例如:{{seedPhrase}} …", 8 | "name": "资产组合名称", 9 | "next": "下一步", 10 | "password": "密码", 11 | "securityDescription": "<0>我们建议离线保存。<1>了解更多安全保障方法", 12 | "securityTitle": "重要:请立即备份您的助记词!", 13 | "seedPhrase": "您的资产组合的助记词", 14 | "seedPhraseNoMatch": "您输入的助记词与生成的不匹配", 15 | "success": "新资产组合已添加!", 16 | "title": "新建资产组合" 17 | }, 18 | "new": { 19 | "createOrRestoreDescription": "如果您还没有助记词,请新建资产组合", 20 | "createOrRestoreTitle": "<0>您想要新建资产组合<1>还是恢复已有的数据?", 21 | "createPortfolio": "新建资产组合", 22 | "restorePortfolio": "恢复资产组合" 23 | }, 24 | "restore": { 25 | "confirm": "确认", 26 | "confirmPasswordNoMatch": "确认的密码与原密码不匹配。", 27 | "enterSeedPhrase": "输入您的助记词", 28 | "exampleSeedPhrase": "例如:{{seedPhrase}} …" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "应用", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "已启用的货币", 9 | "logOutAppSettings": "<0><0>注销以查看更多应用设置。", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "资产组合", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "设置", 24 | "theme": { 25 | "theme": "主题", 26 | "dark": "夜间模式", 27 | "light": "白天模式", 28 | "system": "系统" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/zh-CN/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "开放订单", 3 | "tradeHistory": "Trade History", 4 | "stats": "上个月您在 {{currencyCount}} 种货币间成功进行了 {{count}} 笔交易,总价值 {{totalSwapsWorthInUsd}}。", 5 | "stats_plural": "上个月您在 {{currencyCount}} 种货币间成功进行了 {{count}} 笔交易,总价值 {{totalSwapsWorthInUsd}}。" 6 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "customUrl": "自訂做市商 URL", 4 | "exampleUrl": "示例:{{url}}", 5 | "invalidUrl": "無效 URL", 6 | "title": "程式設定" 7 | }, 8 | "donate": { 9 | "title": "Donate", 10 | "bodyText": "HyperDEX is a free and open source project. You can help support its development by donating to the below addresses." 11 | } 12 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "noData": "無可用資料" 3 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "back": "返回", 3 | "copied": "已複製", 4 | "copy": "複製", 5 | "feedback": "回饋" 6 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/forgot-password.json: -------------------------------------------------------------------------------- 1 | { 2 | "confirm": "確認", 3 | "confirmPassword": "確認密碼", 4 | "confirmPasswordNoMatch": "確認的密碼與原密碼不匹配。", 5 | "enterSeedPhrase": "輸入您的助記詞", 6 | "exampleSeedPhrase": "示例:{{seedPhrase}}…", 7 | "password": "密碼", 8 | "seedPhraseNotSecure": "您輸入的助記詞不太安全。", 9 | "setNewPassword": "設定新密碼", 10 | "success": "新密碼已設定!" 11 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "forgotPassword": "忘記密碼", 3 | "incorrectPassword": "密碼錯誤", 4 | "login": "登入", 5 | "loggingIn": "登入中…", 6 | "password": "密碼", 7 | "selectPortfolio": "選擇投資組合…" 8 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "preferences": "偏好設定..." 4 | }, 5 | "help": { 6 | "debugMode": "Debug Mode", 7 | "website": "網站", 8 | "sourceCode": "原始碼", 9 | "reportSecurityIssue": "Report a Security Issue…", 10 | "reportIssue": "回報問題…", 11 | "about": "關於 {{appName}}" 12 | }, 13 | "other": { 14 | "file": "檔案" 15 | }, 16 | "portfolio": { 17 | "title": "投資組合", 18 | "dashboard": "監控面板", 19 | "swap": "交換", 20 | "exchange": "交易", 21 | "trades": "交易", 22 | "settings": "設定", 23 | "goToPrevView": "轉到上一視圖", 24 | "goToNextView": "轉到下一視圖", 25 | "logOut": "登出" 26 | } 27 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/nav.json: -------------------------------------------------------------------------------- 1 | { 2 | "dashboard": "監控面板", 3 | "exchange": "交易", 4 | "settings": "設定", 5 | "swap": "交換", 6 | "trades": "交易" 7 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/portfolio.json: -------------------------------------------------------------------------------- 1 | { 2 | "create": { 3 | "confirm": "確認", 4 | "confirmPassword": "確認密碼", 5 | "confirmPasswordNoMatch": "確認的密碼與原密碼不匹配。", 6 | "confirmSeedPhrase": "確認您的助記詞", 7 | "exampleSeedPhrase": "示例:{{seedPhrase}}…", 8 | "name": "投資組合名稱", 9 | "next": "下一步", 10 | "password": "密碼", 11 | "securityDescription": "<0>我們建議離線存儲。<1>瞭解更多安全保障方法", 12 | "securityTitle": "重要:請立即備份您的助記詞!", 13 | "seedPhrase": "您的投資組合的助記詞", 14 | "seedPhraseNoMatch": "您輸入的助記詞與生成的不匹配", 15 | "success": "已新增投資組合!", 16 | "title": "建立新投資組合" 17 | }, 18 | "new": { 19 | "createOrRestoreDescription": "如果您還沒有助記詞,請建立新投資組合", 20 | "createOrRestoreTitle": "<0>您想要建立新投資組合<1>還是恢復已有的資料?", 21 | "createPortfolio": "建立新投資組合", 22 | "restorePortfolio": "恢復投資組合" 23 | }, 24 | "restore": { 25 | "confirm": "確認", 26 | "confirmPasswordNoMatch": "確認的密碼與原密碼不匹配。", 27 | "enterSeedPhrase": "輸入您的助記詞", 28 | "exampleSeedPhrase": "示例:{{seedPhrase}}…" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "程式", 3 | "deletePortfolio": { 4 | "confirm": "I understand, delete this portfolio", 5 | "description": "<0>Unless you save your seed phrase, this action cannot be undone and will permanently delete the <1><0>{{name}} portfolio.<1>Please type in the name of the portfolio to confirm.", 6 | "title": "Delete Portfolio" 7 | }, 8 | "enabledCurrencies": "已啟用的貨幣", 9 | "logOutAppSettings": "<0><0>登出以查看更多程式設定。", 10 | "name": "Name", 11 | "manage": "Manage", 12 | "export": { 13 | "sectionLabel": "Export", 14 | "exportTradeHistory": "Export Trade History to CSV", 15 | "trades": "trades" 16 | }, 17 | "portfolio": "投資組合", 18 | "seedPhrase": { 19 | "enterPassword": "Enter password", 20 | "submit": "Submit", 21 | "title": "View Seed Phrase" 22 | }, 23 | "title": "設定", 24 | "theme": { 25 | "theme": "主題", 26 | "dark": "暗色主題", 27 | "light": "白色主題", 28 | "system": "系統" 29 | } 30 | } -------------------------------------------------------------------------------- /app/locales/zh-TW/trades.json: -------------------------------------------------------------------------------- 1 | { 2 | "openOrders": "開放訂單", 3 | "tradeHistory": "Trade History", 4 | "stats": "上個月您在 {{currencyCount}} 種貨幣間成功進行了 {{count}} 筆交易,總價值 {{totalSwapsWorthInUsd}}。", 5 | "stats_plural": "上個月您在 {{currencyCount}} 種貨幣間成功進行了 {{count}} 筆交易,總價值 {{totalSwapsWorthInUsd}}。" 6 | } -------------------------------------------------------------------------------- /app/renderer-state.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const electron = require('electron'); 3 | 4 | const {ipcMain: ipc} = electron; 5 | 6 | const rendererState = {}; 7 | 8 | ipc.on('app-container-state-updated', (event, state) => { 9 | rendererState.appContainer = state; 10 | rendererState.isLoggedIn = state.activeView !== 'Login' && state.activeView !== 'AppSettings'; 11 | }); 12 | 13 | module.exports = rendererState; 14 | -------------------------------------------------------------------------------- /app/renderer/assets/custom-cryptocurrency-icons/dex.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/renderer/assets/custom-cryptocurrency-icons/jumblr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/renderer/assets/custom-cryptocurrency-icons/revs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/renderer/assets/custom-cryptocurrency-icons/supernet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/renderer/assets/info-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/renderer/assets/password-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/renderer/assets/person-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/renderer/assets/search-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/renderer/assets/success-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/renderer/assets/warning-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/renderer/components/AppView.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import View from 'components/View'; 4 | import appContainer from 'containers/App'; 5 | 6 | const AppView = ({component}) => ( 7 | 8 | ); 9 | 10 | AppView.propTypes = { 11 | component: PropTypes.elementType.isRequired, 12 | }; 13 | 14 | export default AppView; 15 | -------------------------------------------------------------------------------- /app/renderer/components/Avatar.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import appContainer from 'containers/App'; 3 | import avatar from '../avatar'; 4 | 5 | const Avatar = props => ( 6 | 7 | ); 8 | 9 | export default Avatar; 10 | -------------------------------------------------------------------------------- /app/renderer/components/BackButton.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import BackArrowIcon from 'icons/BackArrow'; 4 | import './BackButton.scss'; 5 | 6 | const BackButton = ({className, ...props}) => ( 7 | 10 | ); 11 | 12 | BackButton.propTypes = { 13 | className: PropTypes.string, 14 | }; 15 | 16 | BackButton.defaultProps = { 17 | className: '', 18 | }; 19 | 20 | export default BackButton; 21 | -------------------------------------------------------------------------------- /app/renderer/components/BackButton.scss: -------------------------------------------------------------------------------- 1 | @import '../styles/variables'; 2 | 3 | .BackButton { 4 | @include icon-button; 5 | 6 | svg { 7 | width: 8px; 8 | height: 12px; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /app/renderer/components/BackTextButton.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import BackArrow from 'icons/BackArrow'; 3 | import {translate} from '../translate'; 4 | 5 | const t = translate('common'); 6 | 7 | const BackTextButton = props => ( 8 | 9 |
10 | 11 | {t('back')} 12 |
13 | 39 |
40 | ); 41 | 42 | export default BackTextButton; 43 | -------------------------------------------------------------------------------- /app/renderer/components/Button.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import {classNames} from 'react-extras'; 4 | import './Button.scss'; 5 | 6 | const Button = ({primary, fullwidth, color, ...props}) => { 7 | const className = classNames('Button', { 8 | 'Button--primary': primary, 9 | [`Button--${color}`]: color, 10 | 'Button--fullwidth': fullwidth, 11 | 'Button--disabled': props.disabled, 12 | }, props.className); 13 | 14 | return ( 15 | 21 | ); 22 | }; 23 | 24 | Button.propTypes = { 25 | primary: PropTypes.bool, 26 | fullwidth: PropTypes.bool, 27 | color: PropTypes.string, 28 | disabled: PropTypes.bool, 29 | className: PropTypes.string, 30 | value: PropTypes.string.isRequired, 31 | }; 32 | 33 | Button.defaultProps = { 34 | primary: false, 35 | fullwidth: false, 36 | color: undefined, 37 | disabled: false, 38 | className: '', 39 | }; 40 | 41 | export default Button; 42 | -------------------------------------------------------------------------------- /app/renderer/components/CopyButton.js: -------------------------------------------------------------------------------- 1 | import {clipboard} from 'electron'; 2 | import React from 'react'; 3 | import PropTypes from 'prop-types'; 4 | import CopyIcon from 'icons/Copy'; 5 | import './CopyButton.scss'; 6 | 7 | const CopyButton = ({value, className, onClick, ...props}) => { 8 | return ( 9 | 20 | ); 21 | }; 22 | 23 | CopyButton.propTypes = { 24 | value: PropTypes.string.isRequired, 25 | className: PropTypes.string, 26 | onClick: PropTypes.func, 27 | }; 28 | 29 | CopyButton.defaultProps = { 30 | className: '', 31 | onClick: () => {}, 32 | }; 33 | 34 | export default CopyButton; 35 | -------------------------------------------------------------------------------- /app/renderer/components/CopyButton.scss: -------------------------------------------------------------------------------- 1 | .CopyButton, 2 | .ReloadButton { 3 | display: flex; 4 | align-items: center; 5 | justify-content: center; 6 | width: 30px; 7 | height: 30px; 8 | border: none; 9 | background-color: transparent; 10 | color: var(--red-color); 11 | transition: opacity 0.3s ease-in-out; 12 | 13 | &:hover { 14 | opacity: 0.7; 15 | } 16 | 17 | &:active { 18 | opacity: 0.4; 19 | transition: none; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/renderer/components/CopyCurrencyAddress.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import Input from 'components/Input'; 4 | import CopyIconButton from 'components/CopyIconButton'; 5 | import './CopyCurrencyAddress.scss'; 6 | 7 | const CopyCurrencyAddress = ({value}) => ( 8 | } 12 | /> 13 | ); 14 | 15 | CopyCurrencyAddress.propTypes = { 16 | value: PropTypes.string.isRequired, 17 | }; 18 | 19 | export default CopyCurrencyAddress; 20 | -------------------------------------------------------------------------------- /app/renderer/components/CopyCurrencyAddress.scss: -------------------------------------------------------------------------------- 1 | .CopyCurrencyAddress { 2 | input { 3 | color: var(--text-color2); 4 | font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; 5 | font-size: 13px; 6 | font-weight: normal; 7 | caret-color: transparent; 8 | } 9 | 10 | .CopyButton { 11 | color: var(--text-color2); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/renderer/components/CopyIconButton.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {withState} from 'containers/SuperContainer'; 3 | import Tooltip from 'components/Tooltip'; 4 | import CopyButton from 'components/CopyButton'; 5 | import {translate} from '../translate'; 6 | 7 | const t = translate('common'); 8 | 9 | const CopyIconButton = withState( 10 | ({setState, state, ...props}) => ( 11 | { 14 | setState({isCopied: false}); 15 | }} 16 | > 17 | { 20 | setState({isCopied: true}); 21 | }} 22 | /> 23 | 24 | ), 25 | {isCopied: false} 26 | ); 27 | 28 | CopyIconButton.propTypes = CopyButton.propTypes; 29 | 30 | export default CopyIconButton; 31 | -------------------------------------------------------------------------------- /app/renderer/components/CurrencyIcon.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import {Image} from 'react-extras'; 4 | 5 | // TODO: Read this list from disk instead. Not a priority though. 6 | const hasCustomIcon = new Set([ 7 | 'BOTS', 8 | 'CRYPTO', 9 | 'DEX', 10 | 'JUMBLR', 11 | 'KV', 12 | 'MSHARK', 13 | 'MYTH', 14 | 'PANGEA', 15 | 'REVS', 16 | 'SUPERNET', 17 | 'WLC', 18 | ]); 19 | 20 | const CurrencyIcon = ({symbol, size, ...props}) => { 21 | let url = `/assets/cryptocurrency-icons/${symbol.toLowerCase()}.svg`; 22 | 23 | if (hasCustomIcon.has(symbol)) { 24 | url = `/assets/custom-cryptocurrency-icons/${symbol.toLowerCase()}.svg`; 25 | } 26 | 27 | return ( 28 | 35 | ); 36 | }; 37 | 38 | CurrencyIcon.propTypes = { 39 | symbol: PropTypes.string.isRequired, 40 | size: PropTypes.string, 41 | }; 42 | 43 | CurrencyIcon.defaultProps = { 44 | size: undefined, 45 | }; 46 | 47 | export default CurrencyIcon; 48 | -------------------------------------------------------------------------------- /app/renderer/components/CurrencySelectOption.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CurrencyIcon from './CurrencyIcon'; 3 | import SelectOption from './SelectOption'; 4 | 5 | const CurrencySelectOption = option => ( 6 | } 9 | /> 10 | ); 11 | 12 | CurrencySelectOption.propTypes = SelectOption.propTypes; 13 | 14 | export default CurrencySelectOption; 15 | -------------------------------------------------------------------------------- /app/renderer/components/DepthChart.scss: -------------------------------------------------------------------------------- 1 | /* stylelint-disable selector-class-pattern */ 2 | @import '../styles/variables'; 3 | 4 | .DepthChart { 5 | display: flex; 6 | 7 | .custom-tooltip { 8 | font-size: 12px; 9 | } 10 | 11 | /* Hides the first YAxis tick */ 12 | .recharts-yAxis .recharts-cartesian-axis-tick:first-child { 13 | display: none; 14 | } 15 | 16 | .recharts-responsive-container:nth-child(1) { 17 | .recharts-xAxis .recharts-cartesian-axis-tick:last-child { 18 | display: none; 19 | } 20 | } 21 | 22 | .recharts-responsive-container:nth-child(2) { 23 | position: relative; 24 | left: -10px; 25 | 26 | .recharts-xAxis .recharts-cartesian-axis-tick:first-child { 27 | display: none; 28 | } 29 | } 30 | 31 | &.is-empty .recharts-area-dots { 32 | display: none; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/renderer/components/DonateButton.scss: -------------------------------------------------------------------------------- 1 | .DonateModal main { 2 | .section { 3 | margin: 10px 0; 4 | 5 | &:last-of-type { 6 | margin-bottom: 0; 7 | } 8 | 9 | label { 10 | font-size: 13px; 11 | font-weight: 600; 12 | color: var(--text-color); 13 | } 14 | } 15 | 16 | .text { 17 | text-align: center; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/renderer/components/Empty.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import './Empty.scss'; 4 | 5 | const Empty = ({text, show}) => { 6 | if (!show) { 7 | return null; 8 | } 9 | 10 | return ( 11 |
12 |

{text}

13 |
14 | ); 15 | }; 16 | 17 | Empty.propTypes = { 18 | text: PropTypes.string.isRequired, 19 | show: PropTypes.bool, 20 | }; 21 | 22 | Empty.defaultProps = { 23 | show: false, 24 | }; 25 | 26 | export default Empty; 27 | -------------------------------------------------------------------------------- /app/renderer/components/Empty.scss: -------------------------------------------------------------------------------- 1 | @keyframes fade-in-0-4 { 2 | from { 3 | opacity: 0; 4 | } 5 | 6 | to { 7 | opacity: 0.4; 8 | } 9 | } 10 | 11 | .Empty { 12 | flex: 1; 13 | display: flex; 14 | flex-direction: column; 15 | justify-content: center; 16 | align-items: center; 17 | user-select: none; 18 | cursor: default; 19 | 20 | p { 21 | display: block; 22 | margin: 0; 23 | padding: 0; 24 | font-size: 20px; 25 | opacity: 0.4; 26 | animation: fade-in-0-4 1s; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/renderer/components/ExternalLink.js: -------------------------------------------------------------------------------- 1 | import electron from 'electron'; 2 | import React from 'react'; 3 | import PropTypes from 'prop-types'; 4 | import Link from './Link'; 5 | 6 | const {openExternal} = electron.shell; 7 | 8 | const ExternalLink = ({url, ...props}) => openExternal(url)}/>; 9 | 10 | ExternalLink.propTypes = { 11 | url: PropTypes.string.isRequired, 12 | }; 13 | 14 | export default ExternalLink; 15 | -------------------------------------------------------------------------------- /app/renderer/components/Link.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const Link = ({className, ...props}) => ; 5 | 6 | Link.propTypes = { 7 | className: PropTypes.string, 8 | }; 9 | 10 | Link.defaultProps = { 11 | className: '', 12 | }; 13 | 14 | export default Link; 15 | -------------------------------------------------------------------------------- /app/renderer/components/LoginBackButton.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import loginContainer from 'containers/Login'; 4 | import BackButton from './BackButton'; 5 | import './LoginBackButton.scss'; 6 | 7 | const LoginBackButton = props => ( 8 | { 9 | loginContainer.setActiveView(props.view); 10 | loginContainer.setProgress(props.progress); 11 | }}/> 12 | ); 13 | 14 | LoginBackButton.propTypes = { 15 | className: PropTypes.string, 16 | view: PropTypes.string.isRequired, 17 | progress: PropTypes.number.isRequired, 18 | }; 19 | 20 | LoginBackButton.defaultProps = { 21 | className: '', 22 | }; 23 | 24 | export default LoginBackButton; 25 | -------------------------------------------------------------------------------- /app/renderer/components/LoginBackButton.scss: -------------------------------------------------------------------------------- 1 | .LoginBackButton { 2 | position: absolute; 3 | top: 57px; 4 | left: 53px; 5 | } 6 | -------------------------------------------------------------------------------- /app/renderer/components/LoginView.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import View from 'components/View'; 4 | import loginContainer from 'containers/Login'; 5 | 6 | const LoginView = ({component}) => ( 7 | 8 | ); 9 | 10 | LoginView.propTypes = { 11 | component: PropTypes.elementType.isRequired, 12 | }; 13 | 14 | export default LoginView; 15 | -------------------------------------------------------------------------------- /app/renderer/components/NativeSelect.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './NativeSelect.scss'; 3 | 4 | const NativeSelect = props => { 5 | return ( 6 |
7 | 29 | )); 30 | -------------------------------------------------------------------------------- /app/renderer/components/SelectOption.scss: -------------------------------------------------------------------------------- 1 | @import '../styles/variables'; 2 | 3 | .SelectOption { 4 | --image-size: 20px; 5 | display: flex; 6 | align-items: center; 7 | 8 | &__label { 9 | margin-left: 0; 10 | } 11 | 12 | &__image-wrap { 13 | position: relative; 14 | left: -4px; 15 | 16 | img { 17 | display: block; 18 | } 19 | } 20 | 21 | &__image { 22 | display: block; 23 | width: var(--image-size); 24 | height: var(--image-size); 25 | } 26 | 27 | &--image { 28 | .SelectOption__label { 29 | margin-left: 4px; 30 | } 31 | } 32 | } 33 | 34 | .Select--multi .Select-multi-value-wrapper { 35 | .SelectOption { 36 | &__image-wrap { 37 | position: unset; 38 | left: unset; 39 | 40 | img { 41 | width: 18px; 42 | height: 18px; 43 | } 44 | } 45 | } 46 | } 47 | 48 | .Select-menu { 49 | .SelectOption { 50 | &__image-wrap { 51 | /* Use larger icons in the dropdown menu */ 52 | img { 53 | width: 26px; 54 | height: 26px; 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /app/renderer/components/Spinner.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const Spinner = ({color, size, ...props}) => ( 5 | 11 | 15 | 24 | 25 | 26 | ); 27 | 28 | Spinner.propTypes = { 29 | color: PropTypes.string, 30 | size: PropTypes.number, 31 | }; 32 | 33 | Spinner.defaultProps = { 34 | color: '#7f8fa4', 35 | size: 40, 36 | }; 37 | 38 | export default Spinner; 39 | -------------------------------------------------------------------------------- /app/renderer/components/Success.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import './Success.scss'; 4 | 5 | const Success = ({children, className, ...props}) => ( 6 |
7 | 8 |

{children}

9 |
10 | ); 11 | 12 | Success.propTypes = { 13 | children: PropTypes.node.isRequired, 14 | className: PropTypes.string, 15 | }; 16 | 17 | Success.defaultProps = { 18 | className: '', 19 | }; 20 | 21 | export default Success; 22 | -------------------------------------------------------------------------------- /app/renderer/components/Success.scss: -------------------------------------------------------------------------------- 1 | @import '../styles/variables'; 2 | 3 | .Success { 4 | position: absolute; 5 | top: 0; 6 | right: 0; 7 | bottom: 0; 8 | left: 0; 9 | background: var(--background-color); 10 | 11 | img { 12 | margin-top: 180px; 13 | } 14 | 15 | h1 { 16 | margin-top: 14px; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/renderer/components/SuperComponent.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | class SuperComponent extends React.Component { 4 | state = {}; 5 | 6 | constructor(...args) { 7 | super(...args); 8 | 9 | if (this.getInitialState) { 10 | this.state = this.getInitialState(); 11 | } 12 | } 13 | 14 | resetState() { 15 | if (!this.getInitialState) { 16 | throw new Error('You need to use the `getInitialState` method to be able to reset the state'); 17 | } 18 | 19 | const state = this.getInitialState(); 20 | 21 | // We set this as `setState` only updates props in the initial state 22 | // eslint-disable-next-line react/no-direct-mutation-state 23 | this.state = state; 24 | 25 | this.setState(state); 26 | } 27 | } 28 | 29 | export default SuperComponent; 30 | -------------------------------------------------------------------------------- /app/renderer/components/Svg.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const Svg = ({ 5 | size, 6 | fill, 7 | hoverFill, 8 | activeFill, 9 | children, 10 | ...props 11 | }) => ( 12 | 13 | {children} 14 | 32 | 33 | ); 34 | 35 | Svg.propTypes = { 36 | children: PropTypes.node.isRequired, 37 | size: PropTypes.string, 38 | fill: PropTypes.string, 39 | hoverFill: PropTypes.string, 40 | activeFill: PropTypes.string, 41 | onClick: PropTypes.func, 42 | }; 43 | 44 | Svg.defaultProps = { 45 | size: undefined, 46 | fill: 'currentColor', 47 | hoverFill: undefined, 48 | activeFill: undefined, 49 | onClick: undefined, 50 | }; 51 | 52 | export default Svg; 53 | -------------------------------------------------------------------------------- /app/renderer/components/TabButton.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import {classNames} from 'react-extras'; 4 | import './TabButton.scss'; 5 | 6 | const TabButton = ({children, className, isActive, onClick, ...props}) => ( 7 | 15 | {children} 16 | 17 | ); 18 | 19 | TabButton.propTypes = { 20 | children: PropTypes.node.isRequired, 21 | className: PropTypes.string, 22 | isActive: PropTypes.bool.isRequired, 23 | onClick: PropTypes.func.isRequired, 24 | }; 25 | 26 | TabButton.defaultProps = { 27 | className: '', 28 | }; 29 | 30 | export default TabButton; 31 | -------------------------------------------------------------------------------- /app/renderer/components/TabButton.scss: -------------------------------------------------------------------------------- 1 | .TabButton { 2 | user-select: none; 3 | cursor: default; 4 | font-size: 15px; 5 | 6 | &.active { 7 | color: var(--primary-color); 8 | border-bottom: 1px solid var(--primary-color); 9 | } 10 | 11 | &:first-child { 12 | margin-right: 20px; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/renderer/components/TextArea.scss: -------------------------------------------------------------------------------- 1 | @import './Input'; 2 | 3 | .TextArea { 4 | textarea { 5 | min-width: 245px; 6 | min-height: 72px; 7 | padding: 7px 10px; 8 | overflow: auto; 9 | resize: none; 10 | font-weight: 600; 11 | line-height: 19px; 12 | } 13 | 14 | textarea::placeholder { 15 | font-weight: normal; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/renderer/components/TimeSeriesChart.scss: -------------------------------------------------------------------------------- 1 | @import '../styles/variables'; 2 | 3 | .TimeSeriesChart { 4 | .custom-tooltip { 5 | font-size: 12px; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /app/renderer/components/View.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const View = ({component: Component, ...rest}) => ( 5 | Component.name === rest.activeView ? : null 6 | ); 7 | 8 | View.propTypes = { 9 | component: PropTypes.elementType.isRequired, 10 | }; 11 | 12 | export default View; 13 | -------------------------------------------------------------------------------- /app/renderer/containers/Settings.js: -------------------------------------------------------------------------------- 1 | import {Container} from 'unstated'; 2 | 3 | class SettingsContainer extends Container { 4 | state = { 5 | isUpdatingCurrencies: false, 6 | }; 7 | 8 | setIsUpdatingCurrencies = isUpdatingCurrencies => { 9 | this.setState({isUpdatingCurrencies}); 10 | }; 11 | } 12 | 13 | const settingsContainer = new SettingsContainer(); 14 | 15 | export default settingsContainer; 16 | -------------------------------------------------------------------------------- /app/renderer/containers/Trades.js: -------------------------------------------------------------------------------- 1 | import {Container} from 'unstated'; 2 | 3 | class TradesContainer extends Container { 4 | state = { 5 | activeView: 'OpenOrders', 6 | isSwapCancelling: {}, 7 | }; 8 | 9 | setActiveView = activeView => { 10 | this.setState({activeView}); 11 | }; 12 | 13 | setIsSwapCancelling = (swapUuid, isCancelling) => { 14 | this.setState(state => { 15 | const {isSwapCancelling} = state; 16 | isSwapCancelling[swapUuid] = isCancelling; 17 | return state; 18 | }); 19 | }; 20 | } 21 | 22 | const tradesContainer = new TradesContainer(); 23 | 24 | export default tradesContainer; 25 | -------------------------------------------------------------------------------- /app/renderer/dev.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | HyperDEX 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /app/renderer/fire-every.js: -------------------------------------------------------------------------------- 1 | import toMilliseconds from '@sindresorhus/to-milliseconds'; 2 | import delayModule from 'delay'; 3 | 4 | const fireEvery = async (delay, cb, options) => { 5 | if (typeof delay !== 'number') { 6 | delay = toMilliseconds(delay); 7 | } 8 | 9 | options = { 10 | fireInstantly: true, 11 | ...options, 12 | }; 13 | 14 | if (!options.fireInstantly) { 15 | await delayModule(delay); 16 | } 17 | 18 | let timeoutId = 0; 19 | 20 | return (async function fire() { 21 | const startTime = Date.now(); 22 | await cb(); 23 | timeoutId = setTimeout(fire, delay - (Date.now() - startTime)); 24 | return () => clearTimeout(timeoutId); 25 | })(); 26 | }; 27 | 28 | export default fireEvery; 29 | -------------------------------------------------------------------------------- /app/renderer/icons/BackArrow.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const BackArrow = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default BackArrow; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Cog.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Cog = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Cog; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Copy.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Copy = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Copy; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Crosshair.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Crosshair = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Crosshair; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Dashboard.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Dashboard = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Dashboard; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Exchange.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Exchange = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Exchange; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Plus.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Plus = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Plus; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Reload.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Reload = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Reload; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/RightArrow.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const RightArrow = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default RightArrow; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Settings.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Settings = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Settings; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Swap.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Swap = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Swap; 11 | -------------------------------------------------------------------------------- /app/renderer/icons/Trades.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Svg from 'components/Svg'; 3 | 4 | const Trades = props => ( 5 | 6 | 7 | 8 | ); 9 | 10 | export default Trades; 11 | -------------------------------------------------------------------------------- /app/renderer/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HyperDEX 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-Black.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-BlackItalic.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-Bold.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-BoldItalic.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-ExtraLight.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-Italic.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-Light.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-LightItalic.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-Regular.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-SemiBold.ttf -------------------------------------------------------------------------------- /app/renderer/styles/fonts/SourceSansPro-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atomiclabs/hyperdex/abb973e3e687136ac2e65a210f89329fbbf3e545/app/renderer/styles/fonts/SourceSansPro-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /app/renderer/translate.js: -------------------------------------------------------------------------------- 1 | import ipc from 'electron-better-ipc'; 2 | import {createInstance} from 'i18next'; 3 | import mem from 'mem'; 4 | 5 | const instance = createInstance(); 6 | const translate = namespaces => mem(namespaces ? instance.getFixedT(null, namespaces) : instance.t.bind(instance)); 7 | 8 | (async () => { 9 | const i18n = await ipc.callMain('get-translations'); 10 | 11 | instance.init({ 12 | ...i18n.options, 13 | lng: i18n.language, 14 | resources: i18n.store.data, 15 | }); 16 | })(); 17 | 18 | export { 19 | instance, 20 | translate, 21 | }; 22 | -------------------------------------------------------------------------------- /app/renderer/views/App.js: -------------------------------------------------------------------------------- 1 | import {hot} from 'react-hot-loader'; 2 | import React from 'react'; 3 | import {Subscribe} from 'unstated'; 4 | import '../styles/index.scss'; 5 | import appContainer from 'containers/App'; 6 | import AppView from 'components/AppView'; 7 | import Login from './Login'; 8 | import AppSettings from './AppSettings'; 9 | import Dashboard from './Dashboard'; 10 | import Swap from './Swap'; 11 | import Exchange from './Exchange'; 12 | import Trades from './Trades'; 13 | import Settings from './Settings'; 14 | import ComponentsPreview from './ComponentsPreview'; 15 | 16 | const App = () => ( 17 | 18 | {() => ( 19 | <> 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | )} 30 | 31 | ); 32 | 33 | export default hot(module)(App); 34 | -------------------------------------------------------------------------------- /app/renderer/views/ComponentsPreview.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Button from 'components/Button'; 3 | import BackButton from 'components/BackButton'; 4 | import ReloadButton from 'components/ReloadButton'; 5 | import Input from 'components/Input'; 6 | import TextArea from 'components/TextArea'; 7 | import Progress from 'components/Progress'; 8 | import Checkbox from 'components/Checkbox'; 9 | import './ComponentsPreview.scss'; 10 | 11 | const ComponentsPreview = () => ( 12 |
13 |