diff --git a/src/components/Checkbox/index.js b/src/components/Checkbox/index.js index 99059916..23b134a9 100644 --- a/src/components/Checkbox/index.js +++ b/src/components/Checkbox/index.js @@ -1,6 +1,6 @@ /* @flow */ -import React, { PureComponent } from 'react'; +import * as React from 'react'; import PropTypes from 'prop-types'; import styled, { css } from 'styled-components'; import colors from 'config/colors'; @@ -11,7 +11,7 @@ import { FONT_SIZE } from 'config/variables'; type Props = { onClick: (event: KeyboardEvent) => void, isChecked: boolean, - children: string, + children: React.Node, } const Wrapper = styled.div` @@ -62,7 +62,7 @@ const Label = styled.div` } `; -class Checkbox extends PureComponent { +class Checkbox extends React.PureComponent { handleKeyboard(event: KeyboardEvent) { if (event.keyCode === 32) { this.props.onClick(event); diff --git a/src/components/Tooltip/index.js b/src/components/Tooltip/index.js index 17cb2344..4703c028 100644 --- a/src/components/Tooltip/index.js +++ b/src/components/Tooltip/index.js @@ -1,9 +1,11 @@ import React from 'react'; +import { FormattedMessage } from 'react-intl'; import RcTooltip from 'rc-tooltip'; import colors from 'config/colors'; import Link from 'components/Link'; import styled from 'styled-components'; import PropTypes from 'prop-types'; +import l10nMessages from './index.messages'; const Wrapper = styled.div``; @@ -43,7 +45,7 @@ const Tooltip = ({ {content} {readMoreLink && ( - Read more + ) } diff --git a/src/components/Tooltip/index.messages.js b/src/components/Tooltip/index.messages.js new file mode 100644 index 00000000..cc45ea2b --- /dev/null +++ b/src/components/Tooltip/index.messages.js @@ -0,0 +1,12 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_READ_MORE: { + id: 'TR_READ_MORE', + defaultMessage: 'Read more', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/QrModal/index.js b/src/components/modals/QrModal/index.js index 2666584a..e95d1104 100644 --- a/src/components/modals/QrModal/index.js +++ b/src/components/modals/QrModal/index.js @@ -1,9 +1,10 @@ /* @flow */ -import * as React from 'react'; +import React, { Component } from 'react'; import PropTypes from 'prop-types'; import QrReader from 'react-qr-reader'; import styled from 'styled-components'; +import { FormattedMessage, injectIntl } from 'react-intl'; import colors from 'config/colors'; import icons from 'config/icons'; @@ -15,6 +16,7 @@ import Link from 'components/Link'; import { parseUri } from 'utils/cryptoUriParser'; import type { parsedURI } from 'utils/cryptoUriParser'; +import l10nMessages from './index.messages'; import type { Props as BaseProps } from '../Container'; const Wrapper = styled.div` @@ -59,7 +61,8 @@ const StyledQrReader = styled(QrReader)` type Props = { onScan: (data: parsedURI) => any, onError?: (error: any) => any, - onCancel?: $ElementType<$ElementType, 'onCancel'>; + onCancel?: $ElementType<$ElementType, 'onCancel'>, + intl: any, } type State = { @@ -67,7 +70,7 @@ type State = { error: any, }; -class QrModal extends React.Component { +class QrModal extends Component { constructor(props: Props) { super(props); this.state = { @@ -111,15 +114,15 @@ class QrModal extends React.Component { if (err.name === 'NotAllowedError' || err.name === 'PermissionDeniedError' || err.name === 'NotReadableError' || err.name === 'TrackStartError') { this.setState({ - error: 'Permission to access the camera was denied.', + error: this.props.intl.formatMessage(l10nMessages.TR_CAMERA_PERMISSION_DENIED), }); } else if (err.name === 'NotFoundError' || err.name === 'DevicesNotFoundError') { this.setState({ - error: 'The camera was not recognized.', + error: this.props.intl.formatMessage(l10nMessages.TR_CAMERA_NOT_RECOGNIZED), }); } else { this.setState({ - error: 'Unknown error. See console logs for details.', + error: this.props.intl.formatMessage(l10nMessages.TR_UNKOWN_ERROR_SEE_CONSOLE), }); } } @@ -142,11 +145,11 @@ class QrModal extends React.Component { /> -

Scan QR code

- {!this.state.readerLoaded && !this.state.error && Waiting for camera...} +

+ {!this.state.readerLoaded && !this.state.error && } {this.state.error && ( - Oops! Something went wrong! + {this.state.error.toString()} )} @@ -170,6 +173,7 @@ QrModal.propTypes = { onScan: PropTypes.func.isRequired, onError: PropTypes.func, onCancel: PropTypes.func, + intl: PropTypes.any, }; -export default QrModal; +export default injectIntl(QrModal); diff --git a/src/components/modals/QrModal/index.messages.js b/src/components/modals/QrModal/index.messages.js new file mode 100644 index 00000000..c9e26487 --- /dev/null +++ b/src/components/modals/QrModal/index.messages.js @@ -0,0 +1,33 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_SCAN_QR_CODE: { + id: 'TR_SCAN_QR_CODE', + defaultMessage: 'Scan QR code', + description: 'Title for the Scan QR modal dialog', + }, + TR_WAITING_FOR_CAMERA: { + id: 'TR_WAITING_FOR_CAMERA', + defaultMessage: 'Waiting for camera...', + }, + TR_OOPS_SOMETHING_WENT_WRONG: { + id: 'TR_OOPS_SOMETHING_WENT_WRONG', + defaultMessage: 'Oops! Something went wrong!', + }, + TR_CAMERA_PERMISSION_DENIED: { + id: 'TR_CAMERA_PERMISSION_DENIED', + defaultMessage: 'Permission to access the camera was denied.', + }, + TR_CAMERA_NOT_RECOGNIZED: { + id: 'TR_CAMERA_NOT_RECOGNIZED', + defaultMessage: 'The camera was not recognized.', + }, + TR_UNKOWN_ERROR_SEE_CONSOLE: { + id: 'TR_UNKOWN_ERROR_SEE_CONSOLE', + defaultMessage: 'Unknown error. See console logs for details.', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/device/Remember/index.js b/src/components/modals/device/Remember/index.js index 02dde355..135b4d25 100644 --- a/src/components/modals/device/Remember/index.js +++ b/src/components/modals/device/Remember/index.js @@ -7,8 +7,11 @@ import { H3 } from 'components/Heading'; import P from 'components/Paragraph'; import Loader from 'components/Loader'; import Button from 'components/Button'; +import { FormattedMessage } from 'react-intl'; import type { TrezorDevice } from 'flowtype'; +import l10nMessages from './index.messages'; + import type { Props as BaseProps } from '../../Container'; type Props = { @@ -113,7 +116,7 @@ class RememberDevice extends PureComponent { const { device, instances, onRememberDevice } = this.props; let { label } = device; - const devicePlural: string = instances && instances.length > 1 ? 'devices or to remember them' : 'device or to remember it'; + const deviceCount = instances ? instances.length : 0; if (instances && instances.length > 0) { label = instances.map((instance, index) => { let comma: string = ''; @@ -125,12 +128,28 @@ class RememberDevice extends PureComponent { } return ( -

Forget {label}?

- Would you like Trezor Wallet to forget your { devicePlural }, so that it is still visible even while disconnected? +

+ +

+ + +
diff --git a/src/components/modals/device/Remember/index.messages.js b/src/components/modals/device/Remember/index.messages.js new file mode 100644 index 00000000..0d6b2913 --- /dev/null +++ b/src/components/modals/device/Remember/index.messages.js @@ -0,0 +1,24 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_FORGET_LABEL: { + id: 'TR_FORGET_LABEL', + defaultMessage: 'Forget {deviceLabel}?', + }, + TR_WOULD_YOU_LIKE_TREZOR_WALLET_TO: { + id: 'TR_WOULD_YOU_LIKE_TREZOR_WALLET_TO', + defaultMessage: 'Would you like Trezor Wallet to forget your {deviceCount, plural, one {device} other {devices}} or to remember {deviceCount, plural, one {it} other {them}}, so that it is still visible even while disconnected?', + }, + TR_FORGET: { + id: 'TR_FORGET', + defaultMessage: 'Forget', + }, + TR_REMEMBER: { + id: 'TR_REMEMBER', + defaultMessage: 'Remember', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/device/WalletType/index.js b/src/components/modals/device/WalletType/index.js index 349c7e1a..208f6d4e 100644 --- a/src/components/modals/device/WalletType/index.js +++ b/src/components/modals/device/WalletType/index.js @@ -14,11 +14,15 @@ import Tooltip from 'components/Tooltip'; import Icon from 'components/Icon'; import Link from 'components/Link'; import WalletTypeIcon from 'components/images/WalletType'; +import { FormattedMessage, injectIntl } from 'react-intl'; import type { TrezorDevice } from 'flowtype'; +import l10nCommonMessages from 'views/common.messages'; +import l10nMessages from './index.messages'; import type { Props as BaseProps } from '../../Container'; type Props = { + intl: any, device: TrezorDevice; onWalletTypeRequest: $ElementType<$ElementType, 'onWalletTypeRequest'>; onCancel: $ElementType<$ElementType, 'onCancel'>; @@ -110,20 +114,36 @@ class WalletType extends PureComponent { /> )} - { device.state ? 'Change' : 'Select' } wallet type for { device.instanceLabel } + { device.state + ? ( + + ) : ( + + )} +
- Standard Wallet +
-

Continue to access your standard wallet.

- onWalletTypeRequest(false)}>Go to your standard wallet +

+ +

+ onWalletTypeRequest(false)}> + +
{ size={32} color={colors.TEXT_PRIMARY} /> - Hidden Wallet + -

You will be asked to enter your passphrase to unlock your hidden wallet.

- onWalletTypeRequest(true)}>Go to your hidden wallet +

+ +

+ onWalletTypeRequest(true)}> + +
); @@ -154,4 +178,4 @@ WalletType.propTypes = { onCancel: PropTypes.func.isRequired, }; -export default WalletType; \ No newline at end of file +export default injectIntl(WalletType); \ No newline at end of file diff --git a/src/components/modals/device/WalletType/index.messages.js b/src/components/modals/device/WalletType/index.messages.js new file mode 100644 index 00000000..3102c074 --- /dev/null +++ b/src/components/modals/device/WalletType/index.messages.js @@ -0,0 +1,36 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_SELECT_WALLET_TYPE_FOR: { + id: 'TR_SELECT_WALLET_TYPE_FOR', + defaultMessage: 'Select wallet type for {deviceLabel}', + }, + TR_CHANGE_WALLET_TYPE_FOR: { + id: 'TR_CHANGE_WALLET_TYPE_FOR', + defaultMessage: 'Select wallet type for {deviceLabel}', + }, + TR_STANDARD_WALLET: { + id: 'TR_STANDARD_WALLET', + defaultMessage: 'Standard wallet', + }, + TR_HIDDEN_WALLET: { + id: 'TR_HIDDEN_WALLET', + defaultMessage: 'Hidden wallet', + }, + TR_CONTINUE_TO_ACCESS_STANDARD_WALLET: { + id: 'TR_CONTINUE_TO_ACCESS_STANDARD_WALLET', + defaultMessage: 'Continue to access your standard wallet.', + }, + TR_PASSPHRASE_IS_OPTIONAL_FEATURE: { + id: 'TR_PASSPHRASE_IS_OPTIONAL_FEATURE', + defaultMessage: 'Passphrase is an optional feature of the Trezor device that is recommended for advanced users only. It is a word or a sentence of your choice. Its main purpose is to access a hidden wallet.', + }, + TR_ASKED_ENTER_YOUR_PASSPHRASE_TO_UNLOCK: { + id: 'TR_ASKED_ENTER_YOUR_PASSPHRASE_TO_UNLOCK', + defaultMessage: 'You will be asked to enter your passphrase to unlock your hidden wallet.', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/external/Cardano/index.js b/src/components/modals/external/Cardano/index.js index 645be885..043a191d 100644 --- a/src/components/modals/external/Cardano/index.js +++ b/src/components/modals/external/Cardano/index.js @@ -11,6 +11,10 @@ import Button from 'components/Button'; import { H2 } from 'components/Heading'; import P from 'components/Paragraph'; import coins from 'constants/coins'; +import { FormattedMessage } from 'react-intl'; + +import l10nCommonMessages from '../common.messages'; +import l10nMessages from './index.messages'; import CardanoImage from './images/cardano.png'; import type { Props as BaseProps } from '../../Container'; @@ -54,11 +58,17 @@ const CardanoWallet = (props: Props) => ( /> -

Cardano wallet

-

You will be redirected to external wallet

+

+ +

+

+ +

i.id === 'ada').url}> - Go to external wallet + + + ); diff --git a/src/components/modals/external/Cardano/index.messages.js b/src/components/modals/external/Cardano/index.messages.js new file mode 100644 index 00000000..dfac0b56 --- /dev/null +++ b/src/components/modals/external/Cardano/index.messages.js @@ -0,0 +1,12 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_CARDANO_WALLET: { + id: 'TR_CARDANO_WALLET', + defaultMessage: 'Cardano wallet', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/external/Nem/index.js b/src/components/modals/external/Nem/index.js index 993e097f..aa026df5 100644 --- a/src/components/modals/external/Nem/index.js +++ b/src/components/modals/external/Nem/index.js @@ -8,10 +8,12 @@ import icons from 'config/icons'; import Icon from 'components/Icon'; import Link from 'components/Link'; import Button from 'components/Button'; -import { H3, H4 } from 'components/Heading'; +import { H2, H4 } from 'components/Heading'; import P from 'components/Paragraph'; import coins from 'constants/coins'; +import { FormattedMessage } from 'react-intl'; +import l10nMessages from './index.messages'; import NemImage from './images/nem-download.png'; import type { Props as BaseProps } from '../../Container'; @@ -51,12 +53,20 @@ const NemWallet = (props: Props) => ( icon={icons.CLOSE} /> -

NEM Wallet

-

We have partnered up with the NEM Foundation to provide you with a full-fledged NEM Wallet.

-

Make sure you download the Universal Client for Trezor support.

+

+ +

+

+ +

+

+ +

i.id === 'xem').url}> - Go to nem.io + + + ); diff --git a/src/components/modals/external/Nem/index.messages.js b/src/components/modals/external/Nem/index.messages.js new file mode 100644 index 00000000..dfc3bdcf --- /dev/null +++ b/src/components/modals/external/Nem/index.messages.js @@ -0,0 +1,24 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_NEM_WALLET: { + id: 'TR_NEM_WALLET', + defaultMessage: 'NEM wallet', + }, + TR_WE_HAVE_PARTNERED_UP_WITH_THE_NEM: { + id: 'TR_WE_HAVE_PARTNERED_UP_WITH_THE_NEM', + defaultMessage: 'We have partnered up with the NEM Foundation to provide you with a full-fledged NEM Wallet.', + }, + TR_MAKE_SURE_YOU_DOWNLOAD_THE_UNIVERSAL: { + id: 'TR_MAKE_SURE_YOU_DOWNLOAD_THE_UNIVERSAL', + defaultMessage: 'Make sure you download the Universal Client for Trezor support.', + }, + TR_GO_TO_NEM_DOT_IO: { + id: 'TR_GO_TO_NEM_DOT_IO', + defaultMessage: 'Go to nem.io', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/external/Stellar/index.js b/src/components/modals/external/Stellar/index.js index 2ba4a863..3555b5bf 100644 --- a/src/components/modals/external/Stellar/index.js +++ b/src/components/modals/external/Stellar/index.js @@ -11,6 +11,10 @@ import Button from 'components/Button'; import { H2 } from 'components/Heading'; import P from 'components/Paragraph'; import coins from 'constants/coins'; +import { FormattedMessage } from 'react-intl'; + +import l10nCommonMessages from '../common.messages'; +import l10nMessages from './index.messages'; import StellarImage from './images/xlm.png'; import type { Props as BaseProps } from '../../Container'; @@ -54,11 +58,17 @@ const StellarWallet = (props: Props) => ( /> -

Stellar wallet

-

You will be redirected to external wallet

+

+ +

+

+ +

i.id === 'xlm').url}> - Go to external wallet + + + ); diff --git a/src/components/modals/external/Stellar/index.messages.js b/src/components/modals/external/Stellar/index.messages.js new file mode 100644 index 00000000..6dfa0064 --- /dev/null +++ b/src/components/modals/external/Stellar/index.messages.js @@ -0,0 +1,12 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_STELLAR_WALLET: { + id: 'TR_STELLAR_WALLET', + defaultMessage: 'Stellar wallet', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/external/common.messages.js b/src/components/modals/external/common.messages.js new file mode 100644 index 00000000..cdb2713f --- /dev/null +++ b/src/components/modals/external/common.messages.js @@ -0,0 +1,16 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_YOU_WILL_BE_REDIRECTED_TO_EXTERNAL: { + id: 'TR_YOU_WILL_BE_REDIRECTED_TO_EXTERNAL', + defaultMessage: 'You will be redirected to external wallet', + }, + TR_GO_TO_EXTERNAL_WALLET: { + id: 'TR_GO_TO_EXTERNAL_WALLET', + defaultMessage: 'Go to external wallet', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/passphrase/Passphrase/index.js b/src/components/modals/passphrase/Passphrase/index.js index 553be60e..937a6307 100644 --- a/src/components/modals/passphrase/Passphrase/index.js +++ b/src/components/modals/passphrase/Passphrase/index.js @@ -2,6 +2,8 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; +import { FormattedMessage } from 'react-intl'; + import colors from 'config/colors'; import { FONT_SIZE, TRANSITION } from 'config/variables'; @@ -13,6 +15,8 @@ import Button from 'components/Button'; import Input from 'components/inputs/Input'; import type { TrezorDevice } from 'flowtype'; +import l10nCommonMessages from 'views/common.messages'; +import l10nMessages from './index.messages'; import type { Props as BaseProps } from '../../Container'; type Props = { @@ -202,10 +206,23 @@ class Passphrase extends PureComponent { render() { return ( -

Enter {this.state.deviceLabel} passphrase

-

Note that passphrase is case-sensitive. If you enter a wrong passphrase, you will not unlock the desired hidden wallet.

+

+ +

+

+ + {' '} + +

- + { this.passphraseInput = input; }} name="passphraseInputValue" @@ -219,7 +236,9 @@ class Passphrase extends PureComponent { {!this.state.shouldShowSingleInput && ( - + { )} {!this.state.doPassphraseInputsMatch && ( - Passphrases do not match + + + )} this.handleCheckboxClick()} > - Show passphrase +
-

Changed your mind?   - this.submitPassphrase(true)} - >Go to your standard wallet - +

+ this.submitPassphrase(true)} + > + + + ), + }} + />

diff --git a/src/components/modals/passphrase/Passphrase/index.messages.js b/src/components/modals/passphrase/Passphrase/index.messages.js new file mode 100644 index 00000000..ad6b996b --- /dev/null +++ b/src/components/modals/passphrase/Passphrase/index.messages.js @@ -0,0 +1,46 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_ENTER_DEVICE_PASSPHRASE: { + id: 'TR_ENTER_DEVICE_PASSPHRASE', + defaultMessage: 'Enter {deviceLabel} passphrase', + }, + TR_NOTE_COLON_PASSPHRASE: { + id: 'TR_NOTE_COLON_PASSPHRASE', + defaultMessage: 'Note: Passphrase is case-sensitive.', + }, + TR_IF_YOU_FORGET_YOUR_PASSPHRASE_COMMA: { + id: 'TR_IF_YOU_FORGET_YOUR_PASSPHRASE_COMMA', + defaultMessage: 'If you forget your passphrase, your wallet is lost for good. There is no way to recover your funds.', + }, + TR_CONFIRM_PASSPHRASE: { + id: 'TR_CONFIRM_PASSPHRASE', + defaultMessage: 'Confirm Passphrase', + }, + TR_PASSPHRASES_DO_NOT_MATCH: { + id: 'TR_PASSPHRASES_DO_NOT_MATCH', + defaultMessage: 'Passphrases do not match!', + }, + TR_SHOW_PASSPHRASE: { + id: 'TR_SHOW_PASSPHRASE', + defaultMessage: 'Show passphrase', + description: 'This is on a passphrase button', + }, + TR_ENTER: { + id: 'TR_ENTER', + defaultMessage: 'Enter', + }, + TR_PASSPHRASE: { + id: 'TR_PASSPHRASE', + defaultMessage: 'Passphrase', + description: 'Label above input', + }, + TR_CHANGED_YOUR_MIND: { + id: 'TR_CHANGED_YOUR_MIND', + defaultMessage: 'Changed your mind? {TR_GO_TO_STANDARD_WALLET}', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/pin/Invalid/index.js b/src/components/modals/pin/Invalid/index.js index a69bbd64..4aac6fee 100644 --- a/src/components/modals/pin/Invalid/index.js +++ b/src/components/modals/pin/Invalid/index.js @@ -3,11 +3,13 @@ import React from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; +import { FormattedMessage } from 'react-intl'; import { H3 } from 'components/Heading'; import P from 'components/Paragraph'; import type { TrezorDevice } from 'flowtype'; +import l10nMessages from './index.messages'; type Props = { device: TrezorDevice; @@ -19,8 +21,15 @@ const Wrapper = styled.div` const InvalidPin = (props: Props) => ( -

Entered PIN for { props.device.label } is not correct

-

Retrying...

+

+ +

+

+ +

); diff --git a/src/components/modals/pin/Invalid/index.messages.js b/src/components/modals/pin/Invalid/index.messages.js new file mode 100644 index 00000000..809d1cf8 --- /dev/null +++ b/src/components/modals/pin/Invalid/index.messages.js @@ -0,0 +1,16 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_ENTERED_PIN_NOT_CORRECT: { + id: 'TR_ENTERED_PIN_NOT_CORRECT', + defaultMessage: 'Entered PIN for {deviceLabel} is not correct', + }, + TR_RETRYING_DOT_DOT: { + id: 'TR_RETRYING_DOT_DOT', + defaultMessage: 'Retrying...', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/modals/pin/Pin/index.js b/src/components/modals/pin/Pin/index.js index 31cf42d3..db8d656e 100644 --- a/src/components/modals/pin/Pin/index.js +++ b/src/components/modals/pin/Pin/index.js @@ -7,8 +7,11 @@ import P from 'components/Paragraph'; import { H2 } from 'components/Heading'; import Link from 'components/Link'; import Button from 'components/Button'; +import { FormattedMessage } from 'react-intl'; +import l10nCommonMessages from 'views/common.messages'; import type { TrezorDevice } from 'flowtype'; +import l10nMessages from './index.messages'; import PinButton from './components/Button'; import PinInput from './components/Input'; @@ -146,8 +149,13 @@ class Pin extends PureComponent { const { pin } = this.state; return ( -

Enter { device.label } PIN

-

The PIN layout is displayed on your Trezor.

+

+ +

+

this.onPinBackspace()} /> @@ -167,13 +175,23 @@ class Pin extends PureComponent { this.onPinAdd(3)}>•
- - Not sure how PIN works? - Learn more - + + + + + + ), + }} + />
diff --git a/src/components/modals/pin/Pin/index.messages.js b/src/components/modals/pin/Pin/index.messages.js new file mode 100644 index 00000000..c51f876b --- /dev/null +++ b/src/components/modals/pin/Pin/index.messages.js @@ -0,0 +1,24 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_THE_PIN_LAYOUT_IS_DISPLAYED_ON: { + id: 'TR_THE_PIN_LAYOUT_IS_DISPLAYED_ON', + defaultMessage: 'The PIN layout is displayed on your Trezor.', + }, + TR_ENTER_DEVICE_PIN: { + id: 'TR_ENTER_DEVICE_PIN', + defaultMessage: 'Enter {deviceLabel} PIN', + }, + TR_ENTER_PIN: { + id: 'TR_ENTER_PIN', + defaultMessage: 'Enter PIN', + }, + TR_NOT_SURE_HOW_PIN_WORKS: { + id: 'TR_NOT_SURE_HOW_PIN_WORKS', + defaultMessage: 'Not sure how PIN works? {TR_LEARN_MORE}', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/notifications/App/components/OnlineStatus/index.js b/src/components/notifications/App/components/OnlineStatus/index.js index d5acc265..0a2b3486 100644 --- a/src/components/notifications/App/components/OnlineStatus/index.js +++ b/src/components/notifications/App/components/OnlineStatus/index.js @@ -3,9 +3,17 @@ import * as React from 'react'; import Notification from 'components/Notification'; import type { Props } from '../../index'; +import l10nMessages from './index.messages'; export default (props: Props) => { const { online } = props.wallet; if (online) return null; - return (); + return ( + + ); }; \ No newline at end of file diff --git a/src/components/notifications/App/components/OnlineStatus/index.messages.js b/src/components/notifications/App/components/OnlineStatus/index.messages.js new file mode 100644 index 00000000..7e555483 --- /dev/null +++ b/src/components/notifications/App/components/OnlineStatus/index.messages.js @@ -0,0 +1,16 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_YOU_WERE_DISCONNECTED_DOT: { + id: 'TR_YOU_WERE_DISCONNECTED_DOT', + defaultMessage: 'You were disconnected.', + }, + TR_PLEASE_RELOAD_THE_PAGE_DOT: { + id: 'TR_PLEASE_RELOAD_THE_PAGE_DOT', + defaultMessage: 'Please check your Internet connection and reload the page.', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/notifications/App/components/UpdateBridge/index.js b/src/components/notifications/App/components/UpdateBridge/index.js index 071dddde..f1fc6fc2 100644 --- a/src/components/notifications/App/components/UpdateBridge/index.js +++ b/src/components/notifications/App/components/UpdateBridge/index.js @@ -2,7 +2,9 @@ import * as React from 'react'; import Notification from 'components/Notification'; +import l10nCommonMessages from 'views/common.messages'; import type { Props } from '../../index'; +import l10nMessages from './index.messages'; export default (props: Props) => { if (props.connect.transport && props.connect.transport.outdated) { @@ -10,10 +12,11 @@ export default (props: Props) => { { const { selectedDevice } = props.wallet; const outdated = selectedDevice && selectedDevice.features && selectedDevice.firmware === 'outdated'; @@ -12,10 +14,11 @@ export default (props: Props) => { ( @@ -46,4 +49,4 @@ const mapDispatchToProps: MapDispatchToProps routerActions: bindActionCreators(RouterActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(Notifications); \ No newline at end of file +export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Notifications)); \ No newline at end of file diff --git a/src/components/notifications/Context/components/Account/index.js b/src/components/notifications/Context/components/Account/index.js index 59d87299..a914caa9 100644 --- a/src/components/notifications/Context/components/Account/index.js +++ b/src/components/notifications/Context/components/Account/index.js @@ -1,6 +1,7 @@ /* @flow */ import * as React from 'react'; import Notification from 'components/Notification'; +import l10nMessages from './index.messages'; import type { Props } from '../../index'; @@ -21,7 +22,7 @@ export default (props: Props) => { isActionInProgress={blockchain && blockchain.connecting} actions={ [{ - label: 'Connect', + label: props.intl.formatMessage(l10nMessages.TR_CONNECT_TO_BACKEND), callback: async () => { await props.blockchainReconnect(network.shortcut); }, diff --git a/src/components/notifications/Context/components/Account/index.messages.js b/src/components/notifications/Context/components/Account/index.messages.js new file mode 100644 index 00000000..37eda94d --- /dev/null +++ b/src/components/notifications/Context/components/Account/index.messages.js @@ -0,0 +1,12 @@ +/* @flow */ +import { defineMessages } from 'react-intl'; +import type { Messages } from 'flowtype/npm/react-intl'; + +const definedMessages: Messages = defineMessages({ + TR_CONNECT_TO_BACKEND: { + id: 'TR_CONNECT_TO_BACKEND', + defaultMessage: 'Connect', + }, +}); + +export default definedMessages; \ No newline at end of file diff --git a/src/components/notifications/Context/index.js b/src/components/notifications/Context/index.js index e28bba0b..bd4caa32 100644 --- a/src/components/notifications/Context/index.js +++ b/src/components/notifications/Context/index.js @@ -2,6 +2,7 @@ import * as React from 'react'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; +import { injectIntl } from 'react-intl'; import type { MapStateToProps, MapDispatchToProps } from 'react-redux'; import type { State, Dispatch } from 'flowtype'; @@ -26,10 +27,12 @@ export type DispatchProps = { close: typeof NotificationActions.close; blockchainReconnect: typeof reconnect; } +type OwnProps = { + intl: any +}; -export type Props = StateProps & DispatchProps; +export type Props = OwnProps & StateProps & DispatchProps; -type OwnProps = {}; const Notifications = (props: Props) => ( @@ -52,4 +55,4 @@ const mapDispatchToProps: MapDispatchToProps blockchainReconnect: bindActionCreators(reconnect, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(Notifications); \ No newline at end of file +export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Notifications)); \ No newline at end of file diff --git a/src/views/Wallet/views/FirmwareUpdate/index.js b/src/views/Wallet/views/FirmwareUpdate/index.js index 4a636909..0813ca70 100644 --- a/src/views/Wallet/views/FirmwareUpdate/index.js +++ b/src/views/Wallet/views/FirmwareUpdate/index.js @@ -142,7 +142,7 @@ const FirmwareUpdate = (props: Props) => ( {deviceUtils.isDeviceAccessible(props.device) && ( - + )} ); diff --git a/src/views/Wallet/views/FirmwareUpdate/index.messages.js b/src/views/Wallet/views/FirmwareUpdate/index.messages.js index 4a4dea80..73c86937 100644 --- a/src/views/Wallet/views/FirmwareUpdate/index.messages.js +++ b/src/views/Wallet/views/FirmwareUpdate/index.messages.js @@ -11,10 +11,6 @@ const definedMessages: Messages = defineMessages({ id: 'TR_PLEASE_USE_OLD_WALLET', defaultMessage: 'Please use Bitcoin wallet interface to update your firmware.', }, - TR_I_WILL_DO_THAT_LATER: { - id: 'TR_I_WILL_DO_THAT_LATER', - defaultMessage: 'I’ll do that later.', - }, }); export default definedMessages; \ No newline at end of file diff --git a/src/views/Wallet/views/Initialize/index.messages.js b/src/views/Wallet/views/Initialize/index.messages.js index d12dd3d5..5bc8f055 100644 --- a/src/views/Wallet/views/Initialize/index.messages.js +++ b/src/views/Wallet/views/Initialize/index.messages.js @@ -11,10 +11,6 @@ const definedMessages: Messages = defineMessages({ id: 'TR_PLEASE_USE_TO_START_INITIALIZATION', defaultMessage: 'Please use Bitcoin wallet interface to start initialization process', }, - TR_I_WILL_DO_THAT_LATER: { - id: 'TR_I_WILL_DO_THAT_LATER', - defaultMessage: 'I’ll do that later.', - }, }); export default definedMessages; \ No newline at end of file diff --git a/src/views/common.messages.js b/src/views/common.messages.js index 2055d3a8..c0ac1153 100644 --- a/src/views/common.messages.js +++ b/src/views/common.messages.js @@ -34,6 +34,30 @@ const definedMessages: Messages = defineMessages({ id: 'TR_TAKE_ME_TO_BITCOIN_WALLET', defaultMessage: 'Take me to the Bitcoin wallet', }, + TR_I_WILL_DO_THAT_LATER: { + id: 'TR_I_WILL_DO_THAT_LATER', + defaultMessage: 'I’ll do that later.', + }, + TR_SHOW_DETAILS: { + id: 'TR_SHOW_DETAILS', + defaultMessage: 'Show details', + }, + TR_UPGRADE_FOR_THE_NEWEST_FEATURES_DOT: { + id: 'TR_UPGRADE_FOR_THE_NEWEST_FEATURES_DOT', + defaultMessage: 'Upgrade for the newest features.', + }, + TR_LEARN_MORE: { + id: 'TR_LEARN_MORE', + defaultMessage: 'Learn more', + }, + TR_GO_TO_STANDARD_WALLET: { + id: 'TR_GO_TO_STANDARD_WALLET', + defaultMessage: 'Go to your standard wallet', + }, + TR_GO_TO_HIDDEN_WALLET: { + id: 'TR_GO_TO_HIDDEN_WALLET', + defaultMessage: 'Go to your hidden wallet', + }, }); export default definedMessages; \ No newline at end of file diff --git a/translations/extractedMessages/src/components/Tooltip/index.messages.json b/translations/extractedMessages/src/components/Tooltip/index.messages.json new file mode 100644 index 00000000..8feebe69 --- /dev/null +++ b/translations/extractedMessages/src/components/Tooltip/index.messages.json @@ -0,0 +1,15 @@ +[ + { + "id": "TR_READ_MORE", + "defaultMessage": "Read more", + "file": "src/components/Tooltip/index.messages.js", + "start": { + "line": 6, + "column": 18 + }, + "end": { + "line": 9, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/QrModal/index.messages.json b/translations/extractedMessages/src/components/modals/QrModal/index.messages.json new file mode 100644 index 00000000..5f2db9a6 --- /dev/null +++ b/translations/extractedMessages/src/components/modals/QrModal/index.messages.json @@ -0,0 +1,81 @@ +[ + { + "id": "TR_SCAN_QR_CODE", + "description": "Title for the Scan QR modal dialog", + "defaultMessage": "Scan QR code", + "file": "src/components/modals/QrModal/index.messages.js", + "start": { + "line": 6, + "column": 21 + }, + "end": { + "line": 10, + "column": 5 + } + }, + { + "id": "TR_WAITING_FOR_CAMERA", + "defaultMessage": "Waiting for camera...", + "file": "src/components/modals/QrModal/index.messages.js", + "start": { + "line": 11, + "column": 27 + }, + "end": { + "line": 14, + "column": 5 + } + }, + { + "id": "TR_OOPS_SOMETHING_WENT_WRONG", + "defaultMessage": "Oops! Something went wrong!", + "file": "src/components/modals/QrModal/index.messages.js", + "start": { + "line": 15, + "column": 34 + }, + "end": { + "line": 18, + "column": 5 + } + }, + { + "id": "TR_CAMERA_PERMISSION_DENIED", + "defaultMessage": "Permission to access the camera was denied.", + "file": "src/components/modals/QrModal/index.messages.js", + "start": { + "line": 19, + "column": 33 + }, + "end": { + "line": 22, + "column": 5 + } + }, + { + "id": "TR_CAMERA_NOT_RECOGNIZED", + "defaultMessage": "The camera was not recognized.", + "file": "src/components/modals/QrModal/index.messages.js", + "start": { + "line": 23, + "column": 30 + }, + "end": { + "line": 26, + "column": 5 + } + }, + { + "id": "TR_UNKOWN_ERROR_SEE_CONSOLE", + "defaultMessage": "Unknown error. See console logs for details.", + "file": "src/components/modals/QrModal/index.messages.js", + "start": { + "line": 27, + "column": 33 + }, + "end": { + "line": 30, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/device/Remember/index.messages.json b/translations/extractedMessages/src/components/modals/device/Remember/index.messages.json new file mode 100644 index 00000000..87826516 --- /dev/null +++ b/translations/extractedMessages/src/components/modals/device/Remember/index.messages.json @@ -0,0 +1,54 @@ +[ + { + "id": "TR_FORGET_LABEL", + "defaultMessage": "Forget {deviceLabel}?", + "file": "src/components/modals/device/Remember/index.messages.js", + "start": { + "line": 6, + "column": 21 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_WOULD_YOU_LIKE_TREZOR_WALLET_TO", + "defaultMessage": "Would you like Trezor Wallet to forget your {deviceCount, plural, one {device} other {devices}} or to remember {deviceCount, plural, one {it} other {them}}, so that it is still visible even while disconnected?", + "file": "src/components/modals/device/Remember/index.messages.js", + "start": { + "line": 10, + "column": 40 + }, + "end": { + "line": 13, + "column": 5 + } + }, + { + "id": "TR_FORGET", + "defaultMessage": "Forget", + "file": "src/components/modals/device/Remember/index.messages.js", + "start": { + "line": 14, + "column": 15 + }, + "end": { + "line": 17, + "column": 5 + } + }, + { + "id": "TR_REMEMBER", + "defaultMessage": "Remember", + "file": "src/components/modals/device/Remember/index.messages.js", + "start": { + "line": 18, + "column": 17 + }, + "end": { + "line": 21, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/device/WalletType/index.messages.json b/translations/extractedMessages/src/components/modals/device/WalletType/index.messages.json new file mode 100644 index 00000000..faedb7ae --- /dev/null +++ b/translations/extractedMessages/src/components/modals/device/WalletType/index.messages.json @@ -0,0 +1,93 @@ +[ + { + "id": "TR_SELECT_WALLET_TYPE_FOR", + "defaultMessage": "Select wallet type for {deviceLabel}", + "file": "src/components/modals/device/WalletType/index.messages.js", + "start": { + "line": 6, + "column": 31 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_CHANGE_WALLET_TYPE_FOR", + "defaultMessage": "Select wallet type for {deviceLabel}", + "file": "src/components/modals/device/WalletType/index.messages.js", + "start": { + "line": 10, + "column": 31 + }, + "end": { + "line": 13, + "column": 5 + } + }, + { + "id": "TR_STANDARD_WALLET", + "defaultMessage": "Standard wallet", + "file": "src/components/modals/device/WalletType/index.messages.js", + "start": { + "line": 14, + "column": 24 + }, + "end": { + "line": 17, + "column": 5 + } + }, + { + "id": "TR_HIDDEN_WALLET", + "defaultMessage": "Hidden wallet", + "file": "src/components/modals/device/WalletType/index.messages.js", + "start": { + "line": 18, + "column": 22 + }, + "end": { + "line": 21, + "column": 5 + } + }, + { + "id": "TR_CONTINUE_TO_ACCESS_STANDARD_WALLET", + "defaultMessage": "Continue to access your standard wallet.", + "file": "src/components/modals/device/WalletType/index.messages.js", + "start": { + "line": 22, + "column": 43 + }, + "end": { + "line": 25, + "column": 5 + } + }, + { + "id": "TR_PASSPHRASE_IS_OPTIONAL_FEATURE", + "defaultMessage": "Passphrase is an optional feature of the Trezor device that is recommended for advanced users only. It is a word or a sentence of your choice. Its main purpose is to access a hidden wallet.", + "file": "src/components/modals/device/WalletType/index.messages.js", + "start": { + "line": 26, + "column": 39 + }, + "end": { + "line": 29, + "column": 5 + } + }, + { + "id": "TR_ASKED_ENTER_YOUR_PASSPHRASE_TO_UNLOCK", + "defaultMessage": "You will be asked to enter your passphrase to unlock your hidden wallet.", + "file": "src/components/modals/device/WalletType/index.messages.js", + "start": { + "line": 30, + "column": 46 + }, + "end": { + "line": 33, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/external/Cardano/index.messages.json b/translations/extractedMessages/src/components/modals/external/Cardano/index.messages.json new file mode 100644 index 00000000..5bbe9d0f --- /dev/null +++ b/translations/extractedMessages/src/components/modals/external/Cardano/index.messages.json @@ -0,0 +1,15 @@ +[ + { + "id": "TR_CARDANO_WALLET", + "defaultMessage": "Cardano wallet", + "file": "src/components/modals/external/Cardano/index.messages.js", + "start": { + "line": 6, + "column": 23 + }, + "end": { + "line": 9, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/external/Nem/index.messages.json b/translations/extractedMessages/src/components/modals/external/Nem/index.messages.json new file mode 100644 index 00000000..dbadb35a --- /dev/null +++ b/translations/extractedMessages/src/components/modals/external/Nem/index.messages.json @@ -0,0 +1,54 @@ +[ + { + "id": "TR_NEM_WALLET", + "defaultMessage": "NEM wallet", + "file": "src/components/modals/external/Nem/index.messages.js", + "start": { + "line": 6, + "column": 19 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_WE_HAVE_PARTNERED_UP_WITH_THE_NEM", + "defaultMessage": "We have partnered up with the NEM Foundation to provide you with a full-fledged NEM Wallet.", + "file": "src/components/modals/external/Nem/index.messages.js", + "start": { + "line": 10, + "column": 42 + }, + "end": { + "line": 13, + "column": 5 + } + }, + { + "id": "TR_MAKE_SURE_YOU_DOWNLOAD_THE_UNIVERSAL", + "defaultMessage": "Make sure you download the Universal Client for Trezor support.", + "file": "src/components/modals/external/Nem/index.messages.js", + "start": { + "line": 14, + "column": 45 + }, + "end": { + "line": 17, + "column": 5 + } + }, + { + "id": "TR_GO_TO_NEM_DOT_IO", + "defaultMessage": "Go to nem.io", + "file": "src/components/modals/external/Nem/index.messages.js", + "start": { + "line": 18, + "column": 25 + }, + "end": { + "line": 21, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/external/Stellar/index.messages.json b/translations/extractedMessages/src/components/modals/external/Stellar/index.messages.json new file mode 100644 index 00000000..c1ceb02a --- /dev/null +++ b/translations/extractedMessages/src/components/modals/external/Stellar/index.messages.json @@ -0,0 +1,15 @@ +[ + { + "id": "TR_STELLAR_WALLET", + "defaultMessage": "Stellar wallet", + "file": "src/components/modals/external/Stellar/index.messages.js", + "start": { + "line": 6, + "column": 23 + }, + "end": { + "line": 9, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/external/common.messages.json b/translations/extractedMessages/src/components/modals/external/common.messages.json new file mode 100644 index 00000000..4c7f64b4 --- /dev/null +++ b/translations/extractedMessages/src/components/modals/external/common.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_YOU_WILL_BE_REDIRECTED_TO_EXTERNAL", + "defaultMessage": "You will be redirected to external wallet", + "file": "src/components/modals/external/common.messages.js", + "start": { + "line": 6, + "column": 43 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_GO_TO_EXTERNAL_WALLET", + "defaultMessage": "Go to external wallet", + "file": "src/components/modals/external/common.messages.js", + "start": { + "line": 10, + "column": 30 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/passphrase/Passphrase/index.messages.json b/translations/extractedMessages/src/components/modals/passphrase/Passphrase/index.messages.json new file mode 100644 index 00000000..bd701321 --- /dev/null +++ b/translations/extractedMessages/src/components/modals/passphrase/Passphrase/index.messages.json @@ -0,0 +1,121 @@ +[ + { + "id": "TR_ENTER_DEVICE_PASSPHRASE", + "defaultMessage": "Enter {deviceLabel} passphrase", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 6, + "column": 32 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_NOTE_COLON_PASSPHRASE", + "defaultMessage": "Note: Passphrase is case-sensitive.", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 10, + "column": 30 + }, + "end": { + "line": 13, + "column": 5 + } + }, + { + "id": "TR_IF_YOU_FORGET_YOUR_PASSPHRASE_COMMA", + "defaultMessage": "If you forget your passphrase, your wallet is lost for good. There is no way to recover your funds.", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 14, + "column": 44 + }, + "end": { + "line": 17, + "column": 5 + } + }, + { + "id": "TR_CONFIRM_PASSPHRASE", + "defaultMessage": "Confirm Passphrase", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 18, + "column": 27 + }, + "end": { + "line": 21, + "column": 5 + } + }, + { + "id": "TR_PASSPHRASES_DO_NOT_MATCH", + "defaultMessage": "Passphrases do not match!", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 22, + "column": 33 + }, + "end": { + "line": 25, + "column": 5 + } + }, + { + "id": "TR_SHOW_PASSPHRASE", + "description": "This is on a passphrase button", + "defaultMessage": "Show passphrase", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 26, + "column": 24 + }, + "end": { + "line": 30, + "column": 5 + } + }, + { + "id": "TR_ENTER", + "defaultMessage": "Enter", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 31, + "column": 14 + }, + "end": { + "line": 34, + "column": 5 + } + }, + { + "id": "TR_PASSPHRASE", + "description": "Label above input", + "defaultMessage": "Passphrase", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 35, + "column": 19 + }, + "end": { + "line": 39, + "column": 5 + } + }, + { + "id": "TR_CHANGED_YOUR_MIND", + "defaultMessage": "Changed your mind? {TR_GO_TO_STANDARD_WALLET}", + "file": "src/components/modals/passphrase/Passphrase/index.messages.js", + "start": { + "line": 40, + "column": 26 + }, + "end": { + "line": 43, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/pin/Invalid/index.messages.json b/translations/extractedMessages/src/components/modals/pin/Invalid/index.messages.json new file mode 100644 index 00000000..e8e29f4c --- /dev/null +++ b/translations/extractedMessages/src/components/modals/pin/Invalid/index.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_ENTERED_PIN_NOT_CORRECT", + "defaultMessage": "Entered PIN for {deviceLabel} is not correct", + "file": "src/components/modals/pin/Invalid/index.messages.js", + "start": { + "line": 6, + "column": 32 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_RETRYING_DOT_DOT", + "defaultMessage": "Retrying...", + "file": "src/components/modals/pin/Invalid/index.messages.js", + "start": { + "line": 10, + "column": 25 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/modals/pin/Pin/index.messages.json b/translations/extractedMessages/src/components/modals/pin/Pin/index.messages.json new file mode 100644 index 00000000..2efcc03c --- /dev/null +++ b/translations/extractedMessages/src/components/modals/pin/Pin/index.messages.json @@ -0,0 +1,54 @@ +[ + { + "id": "TR_THE_PIN_LAYOUT_IS_DISPLAYED_ON", + "defaultMessage": "The PIN layout is displayed on your Trezor.", + "file": "src/components/modals/pin/Pin/index.messages.js", + "start": { + "line": 6, + "column": 39 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_ENTER_DEVICE_PIN", + "defaultMessage": "Enter {deviceLabel} PIN", + "file": "src/components/modals/pin/Pin/index.messages.js", + "start": { + "line": 10, + "column": 25 + }, + "end": { + "line": 13, + "column": 5 + } + }, + { + "id": "TR_ENTER_PIN", + "defaultMessage": "Enter PIN", + "file": "src/components/modals/pin/Pin/index.messages.js", + "start": { + "line": 14, + "column": 18 + }, + "end": { + "line": 17, + "column": 5 + } + }, + { + "id": "TR_NOT_SURE_HOW_PIN_WORKS", + "defaultMessage": "Not sure how PIN works? {TR_LEARN_MORE}", + "file": "src/components/modals/pin/Pin/index.messages.js", + "start": { + "line": 18, + "column": 31 + }, + "end": { + "line": 21, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/notifications/App/components/OnlineStatus/index.messages.json b/translations/extractedMessages/src/components/notifications/App/components/OnlineStatus/index.messages.json new file mode 100644 index 00000000..836effcd --- /dev/null +++ b/translations/extractedMessages/src/components/notifications/App/components/OnlineStatus/index.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_YOU_WERE_DISCONNECTED_DOT", + "defaultMessage": "You were disconnected.", + "file": "src/components/notifications/App/components/OnlineStatus/index.messages.js", + "start": { + "line": 6, + "column": 34 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_PLEASE_RELOAD_THE_PAGE_DOT", + "defaultMessage": "Please check your Internet connection and reload the page.", + "file": "src/components/notifications/App/components/OnlineStatus/index.messages.js", + "start": { + "line": 10, + "column": 35 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/notifications/App/components/UpdateBridge/index.messages.json b/translations/extractedMessages/src/components/notifications/App/components/UpdateBridge/index.messages.json new file mode 100644 index 00000000..f42a9589 --- /dev/null +++ b/translations/extractedMessages/src/components/notifications/App/components/UpdateBridge/index.messages.json @@ -0,0 +1,15 @@ +[ + { + "id": "TR_NEW_TREZOR_BRIDGE_IS_AVAILABLE", + "defaultMessage": "New Trezor Bridge is available.", + "file": "src/components/notifications/App/components/UpdateBridge/index.messages.js", + "start": { + "line": 6, + "column": 39 + }, + "end": { + "line": 9, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/notifications/App/components/UpdateFirmware/index.messages.json b/translations/extractedMessages/src/components/notifications/App/components/UpdateFirmware/index.messages.json new file mode 100644 index 00000000..17b75be7 --- /dev/null +++ b/translations/extractedMessages/src/components/notifications/App/components/UpdateFirmware/index.messages.json @@ -0,0 +1,15 @@ +[ + { + "id": "TR_NEW_TREZOR_FIRMWARE_IS_AVAILABLE_DOT", + "defaultMessage": "New Trezor firmware is available.", + "file": "src/components/notifications/App/components/UpdateFirmware/index.messages.js", + "start": { + "line": 6, + "column": 45 + }, + "end": { + "line": 9, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/components/notifications/Context/components/Account/index.messages.json b/translations/extractedMessages/src/components/notifications/Context/components/Account/index.messages.json new file mode 100644 index 00000000..90d3298b --- /dev/null +++ b/translations/extractedMessages/src/components/notifications/Context/components/Account/index.messages.json @@ -0,0 +1,15 @@ +[ + { + "id": "TR_CONNECT_TO_BACKEND", + "defaultMessage": "Connect", + "file": "src/components/notifications/Context/components/Account/index.messages.js", + "start": { + "line": 6, + "column": 27 + }, + "end": { + "line": 9, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.json b/translations/extractedMessages/src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.json index c5bd1894..4fece827 100644 --- a/translations/extractedMessages/src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.json +++ b/translations/extractedMessages/src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.json @@ -1,41 +1,14 @@ [ - { - "id": "TR_ACCOUNT_HASH", - "description": "Used in auto-generated account label", - "defaultMessage": "Account #{number}", - "file": "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js", - "start": { - "line": 6, - "column": 21 - }, - "end": { - "line": 10, - "column": 5 - } - }, - { - "id": "TR_LOADING_DOT_DOT_DOT", - "defaultMessage": "Loading...", - "file": "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js", - "start": { - "line": 11, - "column": 28 - }, - "end": { - "line": 14, - "column": 5 - } - }, { "id": "TR_TO_ADD_A_NEW_ACCOUNT_LAST", "defaultMessage": "To add a new account, last account must have some transactions.", "file": "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js", "start": { - "line": 15, + "line": 6, "column": 34 }, "end": { - "line": 18, + "line": 9, "column": 5 } }, @@ -44,11 +17,11 @@ "defaultMessage": "To add accounts, make sure your device is connected.", "file": "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js", "start": { - "line": 19, + "line": 10, "column": 24 }, "end": { - "line": 22, + "line": 13, "column": 5 } }, @@ -57,11 +30,11 @@ "defaultMessage": "Add account", "file": "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js", "start": { - "line": 23, + "line": 14, "column": 20 }, "end": { - "line": 26, + "line": 17, "column": 5 } } diff --git a/translations/extractedMessages/src/views/Wallet/components/TopNavigationAccount/index.messages.json b/translations/extractedMessages/src/views/Wallet/components/TopNavigationAccount/index.messages.json index e8b1c39f..3b6126f9 100644 --- a/translations/extractedMessages/src/views/Wallet/components/TopNavigationAccount/index.messages.json +++ b/translations/extractedMessages/src/views/Wallet/components/TopNavigationAccount/index.messages.json @@ -1,11 +1,11 @@ [ { - "id": "TR_SUMMARY", + "id": "TR_NAV_SUMMARY", "defaultMessage": "Summary", "file": "src/views/Wallet/components/TopNavigationAccount/index.messages.js", "start": { "line": 6, - "column": 16 + "column": 20 }, "end": { "line": 9, @@ -13,12 +13,12 @@ } }, { - "id": "TR_RECEIVE", + "id": "TR_NAV_RECEIVE", "defaultMessage": "Receive", "file": "src/views/Wallet/components/TopNavigationAccount/index.messages.js", "start": { "line": 10, - "column": 16 + "column": 20 }, "end": { "line": 13, @@ -26,12 +26,12 @@ } }, { - "id": "TR_SEND", + "id": "TR_NAV_SEND", "defaultMessage": "Send", "file": "src/views/Wallet/components/TopNavigationAccount/index.messages.js", "start": { "line": 14, - "column": 13 + "column": 17 }, "end": { "line": 17, @@ -39,12 +39,12 @@ } }, { - "id": "TR_SIGN_AND_VERIFY", + "id": "TR_NAV_SIGN_AND_VERIFY", "defaultMessage": "Sign & Verify", "file": "src/views/Wallet/components/TopNavigationAccount/index.messages.js", "start": { "line": 18, - "column": 24 + "column": 28 }, "end": { "line": 21, diff --git a/translations/extractedMessages/src/views/Wallet/views/Account/Send/common.messages.json b/translations/extractedMessages/src/views/Wallet/views/Account/Send/common.messages.json deleted file mode 100644 index 0bf689f8..00000000 --- a/translations/extractedMessages/src/views/Wallet/views/Account/Send/common.messages.json +++ /dev/null @@ -1,84 +0,0 @@ -[ - { - "id": "TR_AMOUNT", - "defaultMessage": "Amount", - "file": "src/views/Wallet/views/Account/Send/common.messages.js", - "start": { - "line": 6, - "column": 15 - }, - "end": { - "line": 9, - "column": 5 - } - }, - { - "id": "TR_SET_MAX", - "description": "Used for setting maximum amount in Send form", - "defaultMessage": "Set max", - "file": "src/views/Wallet/views/Account/Send/common.messages.js", - "start": { - "line": 10, - "column": 16 - }, - "end": { - "line": 14, - "column": 5 - } - }, - { - "id": "TR_FEE", - "description": "Label in Send form", - "defaultMessage": "Fee", - "file": "src/views/Wallet/views/Account/Send/common.messages.js", - "start": { - "line": 15, - "column": 12 - }, - "end": { - "line": 19, - "column": 5 - } - }, - { - "id": "TR_RECOMMENDED_FEES_UPDATED", - "defaultMessage": "Recommended fees updated.", - "file": "src/views/Wallet/views/Account/Send/common.messages.js", - "start": { - "line": 20, - "column": 33 - }, - "end": { - "line": 23, - "column": 5 - } - }, - { - "id": "TR_CLICK_HERE_TO_USE_THEM", - "description": "Button to use recommended updated fees.", - "defaultMessage": "Click here to use them", - "file": "src/views/Wallet/views/Account/Send/common.messages.js", - "start": { - "line": 24, - "column": 31 - }, - "end": { - "line": 28, - "column": 5 - } - }, - { - "id": "TR_ADVANCED_SETTINGS", - "description": "Shows advanced sending form", - "defaultMessage": "Advanced settings", - "file": "src/views/Wallet/views/Account/Send/common.messages.js", - "start": { - "line": 29, - "column": 26 - }, - "end": { - "line": 33, - "column": 5 - } - } -] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.json index 05ac83e6..9c9f52b5 100644 --- a/translations/extractedMessages/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.json +++ b/translations/extractedMessages/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.json @@ -53,6 +53,7 @@ }, { "id": "TR_CALCULATING_DOT_DOT", + "description": "Used when calculating gas limit based on data input in ethereum advanced send form", "defaultMessage": "Calculating...", "file": "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js", "start": { @@ -60,7 +61,7 @@ "column": 28 }, "end": { - "line": 25, + "line": 26, "column": 5 } }, @@ -69,11 +70,11 @@ "defaultMessage": "Gas price", "file": "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js", "start": { - "line": 26, + "line": 27, "column": 18 }, "end": { - "line": 29, + "line": 30, "column": 5 } }, @@ -82,11 +83,11 @@ "defaultMessage": "Gas price refers to the amount of ether you are willing to pay for every unit of gas, and is usually measured in “Gwei”. {TR_GAS_PRICE_QUOTATION}. Increasing the gas price will get the transaction confirmed sooner but makes it more expensive. The recommended gas price is {recommendedGasPrice} GWEI.", "file": "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js", "start": { - "line": 30, + "line": 31, "column": 28 }, "end": { - "line": 33, + "line": 34, "column": 5 } }, @@ -95,11 +96,11 @@ "defaultMessage": "Transaction fee = gas limit * gas price", "file": "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js", "start": { - "line": 34, + "line": 35, "column": 28 }, "end": { - "line": 37, + "line": 38, "column": 5 } }, @@ -108,11 +109,11 @@ "defaultMessage": "Data", "file": "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js", "start": { - "line": 38, + "line": 39, "column": 13 }, "end": { - "line": 41, + "line": 42, "column": 5 } }, @@ -121,11 +122,11 @@ "defaultMessage": "Data is usually used when you send transactions to contracts.", "file": "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js", "start": { - "line": 42, + "line": 43, "column": 29 }, "end": { - "line": 45, + "line": 46, "column": 5 } } diff --git a/translations/extractedMessages/src/views/Wallet/views/Account/SignVerify/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Account/SignVerify/index.messages.json new file mode 100644 index 00000000..8007016d --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Account/SignVerify/index.messages.json @@ -0,0 +1,86 @@ +[ + { + "id": "TR_MESSAGE", + "description": "Used as a label for message input field in Sign and Verify form", + "defaultMessage": "Message", + "file": "src/views/Wallet/views/Account/SignVerify/index.messages.js", + "start": { + "line": 6, + "column": 16 + }, + "end": { + "line": 10, + "column": 5 + } + }, + { + "id": "TR_SIGNATURE", + "description": "Used as a label for signature input field in Sign and Verify form", + "defaultMessage": "Signature", + "file": "src/views/Wallet/views/Account/SignVerify/index.messages.js", + "start": { + "line": 11, + "column": 18 + }, + "end": { + "line": 15, + "column": 5 + } + }, + { + "id": "TR_SIGN", + "description": "Sign button in Sign and Verify form", + "defaultMessage": "Sign", + "file": "src/views/Wallet/views/Account/SignVerify/index.messages.js", + "start": { + "line": 16, + "column": 13 + }, + "end": { + "line": 20, + "column": 5 + } + }, + { + "id": "TR_VERIFY", + "description": "Verify button in Sign and Verify form", + "defaultMessage": "Verify", + "file": "src/views/Wallet/views/Account/SignVerify/index.messages.js", + "start": { + "line": 21, + "column": 15 + }, + "end": { + "line": 25, + "column": 5 + } + }, + { + "id": "TR_VERIFY_MESSAGE", + "description": "Header for the Sign and Verify form", + "defaultMessage": "Verify Message", + "file": "src/views/Wallet/views/Account/SignVerify/index.messages.js", + "start": { + "line": 26, + "column": 23 + }, + "end": { + "line": 30, + "column": 5 + } + }, + { + "id": "TR_SIGN_MESSAGE", + "description": "Header for the Sign and Verify form", + "defaultMessage": "Sign Message", + "file": "src/views/Wallet/views/Account/SignVerify/index.messages.js", + "start": { + "line": 31, + "column": 21 + }, + "end": { + "line": 35, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Account/Summary/common.messages.json b/translations/extractedMessages/src/views/Wallet/views/Account/Summary/common.messages.json new file mode 100644 index 00000000..63cbc471 --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Account/Summary/common.messages.json @@ -0,0 +1,93 @@ +[ + { + "id": "TR_SEE_FULL_TRANSACTION_HISTORY", + "defaultMessage": "See full transaction history", + "file": "src/views/Wallet/views/Account/Summary/common.messages.js", + "start": { + "line": 6, + "column": 37 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_TOKENS", + "defaultMessage": "Tokens", + "file": "src/views/Wallet/views/Account/Summary/common.messages.js", + "start": { + "line": 10, + "column": 15 + }, + "end": { + "line": 13, + "column": 5 + } + }, + { + "id": "TR_INSERT_TOKEN_NAME", + "defaultMessage": "Insert token name, symbol or address to be able to send it.", + "file": "src/views/Wallet/views/Account/Summary/common.messages.js", + "start": { + "line": 14, + "column": 26 + }, + "end": { + "line": 17, + "column": 5 + } + }, + { + "id": "TR_TYPE_IN_A_TOKEN_NAME", + "defaultMessage": "Type in a token name or a token address.", + "file": "src/views/Wallet/views/Account/Summary/common.messages.js", + "start": { + "line": 18, + "column": 29 + }, + "end": { + "line": 21, + "column": 5 + } + }, + { + "id": "TR_TOKEN_NOT_FOUND", + "defaultMessage": "Token not found", + "file": "src/views/Wallet/views/Account/Summary/common.messages.js", + "start": { + "line": 22, + "column": 24 + }, + "end": { + "line": 25, + "column": 5 + } + }, + { + "id": "TR_ALREADY_USED", + "defaultMessage": "Already used", + "file": "src/views/Wallet/views/Account/Summary/common.messages.js", + "start": { + "line": 26, + "column": 21 + }, + "end": { + "line": 29, + "column": 5 + } + }, + { + "id": "TR_HISTORY", + "defaultMessage": "History", + "file": "src/views/Wallet/views/Account/Summary/common.messages.js", + "start": { + "line": 30, + "column": 16 + }, + "end": { + "line": 33, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.messages.json new file mode 100644 index 00000000..ee65ed5b --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_ADD_YOUR_TOKENS", + "defaultMessage": "Add your tokens", + "file": "src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.messages.js", + "start": { + "line": 6, + "column": 24 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_SEARCH_FOR_THE_TOKEN", + "defaultMessage": "Search for the token or add them manually by pasting token address into search input.", + "file": "src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.messages.js", + "start": { + "line": 10, + "column": 29 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Account/Summary/components/Balance/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Account/Summary/components/Balance/index.messages.json new file mode 100644 index 00000000..517373e0 --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Account/Summary/components/Balance/index.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_BALANCE", + "defaultMessage": "Balance", + "file": "src/views/Wallet/views/Account/Summary/components/Balance/index.messages.js", + "start": { + "line": 6, + "column": 16 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_RATE", + "defaultMessage": "Rate", + "file": "src/views/Wallet/views/Account/Summary/components/Balance/index.messages.js", + "start": { + "line": 10, + "column": 13 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Account/common.messages.json b/translations/extractedMessages/src/views/Wallet/views/Account/common.messages.json new file mode 100644 index 00000000..6b050955 --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Account/common.messages.json @@ -0,0 +1,136 @@ +[ + { + "id": "TR_AMOUNT", + "defaultMessage": "Amount", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 6, + "column": 15 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_SET_MAX", + "description": "Used for setting maximum amount in Send form", + "defaultMessage": "Set max", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 10, + "column": 16 + }, + "end": { + "line": 14, + "column": 5 + } + }, + { + "id": "TR_FEE", + "description": "Label in Send form", + "defaultMessage": "Fee", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 15, + "column": 12 + }, + "end": { + "line": 19, + "column": 5 + } + }, + { + "id": "TR_RECOMMENDED_FEES_UPDATED", + "defaultMessage": "Recommended fees updated.", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 20, + "column": 33 + }, + "end": { + "line": 23, + "column": 5 + } + }, + { + "id": "TR_CLICK_HERE_TO_USE_THEM", + "description": "Button to use recommended updated fees.", + "defaultMessage": "Click here to use them", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 24, + "column": 31 + }, + "end": { + "line": 28, + "column": 5 + } + }, + { + "id": "TR_ADVANCED_SETTINGS", + "description": "Shows advanced sending form", + "defaultMessage": "Advanced settings", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 29, + "column": 26 + }, + "end": { + "line": 33, + "column": 5 + } + }, + { + "id": "TR_DEVICE_IS_NOT_CONNECTED", + "defaultMessage": "Device is not connected", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 34, + "column": 32 + }, + "end": { + "line": 37, + "column": 5 + } + }, + { + "id": "TR_DEVICE_IS_UNAVAILABLE", + "defaultMessage": "Device is not unavailable", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 38, + "column": 30 + }, + "end": { + "line": 41, + "column": 5 + } + }, + { + "id": "TR_LOADING_ACCOUNTS", + "defaultMessage": "Loading accounts", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 42, + "column": 25 + }, + "end": { + "line": 45, + "column": 5 + } + }, + { + "id": "TR_SEND", + "defaultMessage": "Send {amount}", + "file": "src/views/Wallet/views/Account/common.messages.js", + "start": { + "line": 46, + "column": 13 + }, + "end": { + "line": 49, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Acquire/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Acquire/index.messages.json new file mode 100644 index 00000000..3563b940 --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Acquire/index.messages.json @@ -0,0 +1,41 @@ +[ + { + "id": "TR_DEVICE_USED_IN_OTHER", + "defaultMessage": "Device is used in other window", + "file": "src/views/Wallet/views/Acquire/index.messages.js", + "start": { + "line": 6, + "column": 29 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_USE_YOUR_DEVICE_IN_THIS_WINDOW", + "defaultMessage": "Do you want to use your device in this window?", + "file": "src/views/Wallet/views/Acquire/index.messages.js", + "start": { + "line": 10, + "column": 39 + }, + "end": { + "line": 13, + "column": 5 + } + }, + { + "id": "TR_ACQUIRE_DEVICE", + "defaultMessage": "Acquire device", + "file": "src/views/Wallet/views/Acquire/index.messages.js", + "start": { + "line": 14, + "column": 23 + }, + "end": { + "line": 17, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Bootloader/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Bootloader/index.messages.json new file mode 100644 index 00000000..337cd5a2 --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Bootloader/index.messages.json @@ -0,0 +1,29 @@ +[ + { + "id": "TR_YOUR_DEVICE_IS_IN_FIRMWARE", + "defaultMessage": "Your device is in firmware update mode", + "file": "src/views/Wallet/views/Bootloader/index.messages.js", + "start": { + "line": 6, + "column": 35 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_PLEASE_RECONNECT_IT", + "description": "Call to action to re-connect Trezor device", + "defaultMessage": "Please re-connect it", + "file": "src/views/Wallet/views/Bootloader/index.messages.js", + "start": { + "line": 10, + "column": 28 + }, + "end": { + "line": 14, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Dashboard/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Dashboard/index.messages.json index ad3e09a9..a9dbb588 100644 --- a/translations/extractedMessages/src/views/Wallet/views/Dashboard/index.messages.json +++ b/translations/extractedMessages/src/views/Wallet/views/Dashboard/index.messages.json @@ -1,12 +1,12 @@ [ { - "id": "dashboard.selectyourcoin.title", + "id": "TR_PLEASE_SELECT_YOUR", "description": "Title of the dashboard component if coin was not selected", "defaultMessage": "Please select your coin", "file": "src/views/Wallet/views/Dashboard/index.messages.js", "start": { "line": 6, - "column": 11 + "column": 27 }, "end": { "line": 10, @@ -14,13 +14,13 @@ } }, { - "id": "dashboard.selectyourcoin.body", + "id": "TR_YOU_WILL_GAIN_ACCESS", "description": "Content of the dashboard component if coin was not selected", "defaultMessage": "You will gain access to receiving & sending selected coin", "file": "src/views/Wallet/views/Dashboard/index.messages.js", "start": { "line": 11, - "column": 10 + "column": 29 }, "end": { "line": 15, diff --git a/translations/extractedMessages/src/views/Wallet/views/FirmwareUpdate/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/FirmwareUpdate/index.messages.json new file mode 100644 index 00000000..34f2bf65 --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/FirmwareUpdate/index.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_ITS_TIME_TO_UPDATE_FIRMWARE", + "defaultMessage": "It’s time to update your firmware", + "file": "src/views/Wallet/views/FirmwareUpdate/index.messages.js", + "start": { + "line": 6, + "column": 36 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_PLEASE_USE_OLD_WALLET", + "defaultMessage": "Please use Bitcoin wallet interface to update your firmware.", + "file": "src/views/Wallet/views/FirmwareUpdate/index.messages.js", + "start": { + "line": 10, + "column": 30 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Initialize/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Initialize/index.messages.json new file mode 100644 index 00000000..d24c8caf --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Initialize/index.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_YOUR_DEVICE_IS_NOT_INITIALIZED", + "defaultMessage": "Your device is not initialized", + "file": "src/views/Wallet/views/Initialize/index.messages.js", + "start": { + "line": 6, + "column": 39 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_PLEASE_USE_TO_START_INITIALIZATION", + "defaultMessage": "Please use Bitcoin wallet interface to start initialization process", + "file": "src/views/Wallet/views/Initialize/index.messages.js", + "start": { + "line": 10, + "column": 43 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/Seedless/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/Seedless/index.messages.json new file mode 100644 index 00000000..dca6365e --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/Seedless/index.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_DEVICE_IS_INITIALIZED_IN_SEEDLESS_MODE", + "defaultMessage": "Device is initialized in seedless mode and therefore not allowed to access wallet", + "file": "src/views/Wallet/views/Seedless/index.messages.js", + "start": { + "line": 6, + "column": 47 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_DEVICE_IS_IN_SEEDLESS", + "defaultMessage": "Device is in seedless mode", + "file": "src/views/Wallet/views/Seedless/index.messages.js", + "start": { + "line": 10, + "column": 30 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/Wallet/views/UnreadableDevice/index.messages.json b/translations/extractedMessages/src/views/Wallet/views/UnreadableDevice/index.messages.json new file mode 100644 index 00000000..d1c14a6d --- /dev/null +++ b/translations/extractedMessages/src/views/Wallet/views/UnreadableDevice/index.messages.json @@ -0,0 +1,28 @@ +[ + { + "id": "TR_UNREADABLE_DEVICE", + "defaultMessage": "Unreadable device", + "file": "src/views/Wallet/views/UnreadableDevice/index.messages.js", + "start": { + "line": 6, + "column": 26 + }, + "end": { + "line": 9, + "column": 5 + } + }, + { + "id": "TR_PLEASE_INSTALL_TREZOR_BRIDGE", + "defaultMessage": "Please install Trezor Bridge", + "file": "src/views/Wallet/views/UnreadableDevice/index.messages.js", + "start": { + "line": 10, + "column": 37 + }, + "end": { + "line": 13, + "column": 5 + } + } +] \ No newline at end of file diff --git a/translations/extractedMessages/src/views/common.messages.json b/translations/extractedMessages/src/views/common.messages.json index bd23f48f..7782c857 100644 --- a/translations/extractedMessages/src/views/common.messages.json +++ b/translations/extractedMessages/src/views/common.messages.json @@ -12,17 +12,31 @@ "column": 5 } }, + { + "id": "TR_ACCOUNT_HASH", + "description": "Used in auto-generated account label", + "defaultMessage": "Account #{number}", + "file": "src/views/common.messages.js", + "start": { + "line": 10, + "column": 21 + }, + "end": { + "line": 14, + "column": 5 + } + }, { "id": "TR_CLEAR", "description": "Clear form button", "defaultMessage": "Clear", "file": "src/views/common.messages.js", "start": { - "line": 10, + "line": 15, "column": 14 }, "end": { - "line": 14, + "line": 19, "column": 5 } }, @@ -31,11 +45,129 @@ "defaultMessage": "Check for devices", "file": "src/views/common.messages.js", "start": { - "line": 15, + "line": 20, "column": 26 }, "end": { - "line": 18, + "line": 23, + "column": 5 + } + }, + { + "id": "TR_ADDRESS", + "description": "Used as label for receive/send address input", + "defaultMessage": "Address", + "file": "src/views/common.messages.js", + "start": { + "line": 24, + "column": 16 + }, + "end": { + "line": 28, + "column": 5 + } + }, + { + "id": "TR_LOADING_DOT_DOT_DOT", + "defaultMessage": "Loading...", + "file": "src/views/common.messages.js", + "start": { + "line": 29, + "column": 28 + }, + "end": { + "line": 32, + "column": 5 + } + }, + { + "id": "TR_TAKE_ME_TO_BITCOIN_WALLET", + "defaultMessage": "Take me to the Bitcoin wallet", + "file": "src/views/common.messages.js", + "start": { + "line": 33, + "column": 34 + }, + "end": { + "line": 36, + "column": 5 + } + }, + { + "id": "TR_I_WILL_DO_THAT_LATER", + "defaultMessage": "I’ll do that later.", + "file": "src/views/common.messages.js", + "start": { + "line": 37, + "column": 29 + }, + "end": { + "line": 40, + "column": 5 + } + }, + { + "id": "TR_SHOW_DETAILS", + "defaultMessage": "Show details", + "file": "src/views/common.messages.js", + "start": { + "line": 41, + "column": 21 + }, + "end": { + "line": 44, + "column": 5 + } + }, + { + "id": "TR_UPGRADE_FOR_THE_NEWEST_FEATURES_DOT", + "defaultMessage": "Upgrade for the newest features.", + "file": "src/views/common.messages.js", + "start": { + "line": 45, + "column": 44 + }, + "end": { + "line": 48, + "column": 5 + } + }, + { + "id": "TR_LEARN_MORE", + "defaultMessage": "Learn more", + "file": "src/views/common.messages.js", + "start": { + "line": 49, + "column": 19 + }, + "end": { + "line": 52, + "column": 5 + } + }, + { + "id": "TR_GO_TO_STANDARD_WALLET", + "defaultMessage": "Go to your standard wallet", + "file": "src/views/common.messages.js", + "start": { + "line": 53, + "column": 30 + }, + "end": { + "line": 56, + "column": 5 + } + }, + { + "id": "TR_GO_TO_HIDDEN_WALLET", + "defaultMessage": "Go to your hidden wallet", + "file": "src/views/common.messages.js", + "start": { + "line": 57, + "column": 28 + }, + "end": { + "line": 60, "column": 5 } } diff --git a/translations/master.json b/translations/master.json index d700a90f..3d2b006e 100644 --- a/translations/master.json +++ b/translations/master.json @@ -1,554 +1,1022 @@ { - "TR_DEVICE_SETTINGS": { - "source": "Device settings", + "TR_FORGET_LABEL": { + "source": "Forget {deviceLabel}?", "meta": { "occurrences": [ - "src/views/common.messages.js" + "src/components/modals/device/Remember/index.messages.js" ] } }, - "TR_CLEAR": { - "source": "Clear", + "TR_WOULD_YOU_LIKE_TREZOR_WALLET_TO": { + "source": "Would you like Trezor Wallet to forget your {deviceCount, plural, one {device} other {devices}} or to remember {deviceCount, plural, one {it} other {them}}, so that it is still visible even while disconnected?", "meta": { - "comment": "Clear form button", "occurrences": [ - "src/views/common.messages.js" + "src/components/modals/device/Remember/index.messages.js" ] } }, - "TR_CHECK_FOR_DEVICES": { - "source": "Check for devices", + "TR_FORGET": { + "source": "Forget", "meta": { "occurrences": [ - "src/views/common.messages.js" + "src/components/modals/device/Remember/index.messages.js" ] } }, - "TR_YOU_ARE_OPENING_TREZOR_BETA_WALLET": { - "source": "You are opening Trezor Beta Wallet", + "TR_REMEMBER": { + "source": "Remember", "meta": { "occurrences": [ - "src/views/Landing/components/BetaDisclaimer/index.messages.js" + "src/components/modals/device/Remember/index.messages.js" ] } }, - "TR_TREZOR_BETA_WALLET_IS": { - "source": "{TR_TREZOR_BETA_WALLET} is a public feature-testing version of the {TR_TREZOR_WALLET}, offering the newest features before they are available to the general public.", + "TR_SELECT_WALLET_TYPE_FOR": { + "source": "Select wallet type for {deviceLabel}", "meta": { "occurrences": [ - "src/views/Landing/components/BetaDisclaimer/index.messages.js" + "src/components/modals/device/WalletType/index.messages.js" ] } }, - "TR_IN_CONTRAST_COMMA_TREZOR": { - "source": "In contrast, {TR_TREZOR_WALLET} is feature-conservative, making sure that its functionality is maximally reliable and dependable for the general public.", + "TR_CHANGE_WALLET_TYPE_FOR": { + "source": "Select wallet type for {deviceLabel}", "meta": { "occurrences": [ - "src/views/Landing/components/BetaDisclaimer/index.messages.js" + "src/components/modals/device/WalletType/index.messages.js" ] } }, - "TR_PLEASE_NOTE_THAT_THE_TREZOR": { - "source": "Please note that the {TR_TREZOR_BETA_WALLET} might be collecting anonymized usage data, especially error logs, for development purposes. The {TR_TREZOR_WALLET} does not log any data.", + "TR_STANDARD_WALLET": { + "source": "Standard wallet", "meta": { "occurrences": [ - "src/views/Landing/components/BetaDisclaimer/index.messages.js" + "src/components/modals/device/WalletType/index.messages.js" ] } }, - "TR_OK_COMMA_I_UNDERSTAND": { - "source": "OK, I understand", + "TR_HIDDEN_WALLET": { + "source": "Hidden wallet", "meta": { "occurrences": [ - "src/views/Landing/components/BetaDisclaimer/index.messages.js" + "src/components/modals/device/WalletType/index.messages.js" ] } }, - "TR_TREZOR_WALLET": { - "source": "Trezor Wallet", + "TR_CONTINUE_TO_ACCESS_STANDARD_WALLET": { + "source": "Continue to access your standard wallet.", "meta": { "occurrences": [ - "src/views/Landing/components/BetaDisclaimer/index.messages.js" + "src/components/modals/device/WalletType/index.messages.js" ] } }, - "TR_TREZOR_BETA_WALLET": { - "source": "Trezor Beta Wallet", + "TR_PASSPHRASE_IS_OPTIONAL_FEATURE": { + "source": "Passphrase is an optional feature of the Trezor device that is recommended for advanced users only. It is a word or a sentence of your choice. Its main purpose is to access a hidden wallet.", "meta": { "occurrences": [ - "src/views/Landing/components/BetaDisclaimer/index.messages.js" + "src/components/modals/device/WalletType/index.messages.js" ] } }, - "TR_YOUR_BROWSER_IS_NOT_SUPPORTED": { - "source": "Your browser is not supported", + "TR_ASKED_ENTER_YOUR_PASSPHRASE_TO_UNLOCK": { + "source": "You will be asked to enter your passphrase to unlock your hidden wallet.", "meta": { "occurrences": [ - "src/views/Landing/components/BrowserNotSupported/index.messages.js" + "src/components/modals/device/WalletType/index.messages.js" ] } }, - "TR_PLEASE_CHOOSE_ONE_OF_THE_SUPPORTED": { - "source": "Please choose one of the supported browsers", + "TR_CARDANO_WALLET": { + "source": "Cardano wallet", "meta": { "occurrences": [ - "src/views/Landing/components/BrowserNotSupported/index.messages.js" + "src/components/modals/external/Cardano/index.messages.js" ] } }, - "TR_GET_CHROME": { - "source": "Get Chrome", + "TR_YOU_WILL_BE_REDIRECTED_TO_EXTERNAL": { + "source": "You will be redirected to external wallet", "meta": { "occurrences": [ - "src/views/Landing/components/BrowserNotSupported/index.messages.js" + "src/components/modals/external/common.messages.js" ] } }, - "TR_GET_FIREFOX": { - "source": "Get Firefox", + "TR_GO_TO_EXTERNAL_WALLET": { + "source": "Go to external wallet", "meta": { "occurrences": [ - "src/views/Landing/components/BrowserNotSupported/index.messages.js" + "src/components/modals/external/common.messages.js" ] } }, - "TR_TREZOR_WALLET_IS_AN_EASY_DASH": { - "source": "Trezor Wallet is an easy-to-use interface for your Trezor. Trezor Wallet allows you to easily control your funds, manage your balance and initiate transfers.", + "TR_NEM_WALLET": { + "source": "NEM wallet", "meta": { "occurrences": [ - "src/views/Landing/components/ConnectDevice/index.messages.js" + "src/components/modals/external/Nem/index.messages.js" ] } }, - "TR_THE_PRIVATE_BANK_IN_YOUR_HANDS": { - "source": "The private bank in your hands.", + "TR_WE_HAVE_PARTNERED_UP_WITH_THE_NEM": { + "source": "We have partnered up with the NEM Foundation to provide you with a full-fledged NEM Wallet.", "meta": { "occurrences": [ - "src/views/Landing/components/ConnectDevice/index.messages.js" + "src/components/modals/external/Nem/index.messages.js" ] } }, - "TR_CONNECT_TREZOR_TO_CONTINUE": { - "source": "Connect Trezor to continue", + "TR_MAKE_SURE_YOU_DOWNLOAD_THE_UNIVERSAL": { + "source": "Make sure you download the Universal Client for Trezor support.", "meta": { "occurrences": [ - "src/views/Landing/components/ConnectDevice/index.messages.js" + "src/components/modals/external/Nem/index.messages.js" ] } }, - "TR_AND": { - "source": "and", + "TR_GO_TO_NEM_DOT_IO": { + "source": "Go to nem.io", "meta": { "occurrences": [ - "src/views/Landing/components/ConnectDevice/index.messages.js" + "src/components/modals/external/Nem/index.messages.js" ] } }, - "TR_DEVICE_NOT_RECOGNIZED_TRY_INSTALLING": { - "source": "Device not recognized? Try installing the {link}.", + "TR_STELLAR_WALLET": { + "source": "Stellar wallet", "meta": { "occurrences": [ - "src/views/Landing/components/ConnectDevice/index.messages.js" + "src/components/modals/external/Stellar/index.messages.js" ] } }, - "TR_DONT_HAVE_A_TREZOR_GET": { - "source": "Don't have a Trezor? {getOne}", + "TR_ENTER_DEVICE_PASSPHRASE": { + "source": "Enter {deviceLabel} passphrase", "meta": { "occurrences": [ - "src/views/Landing/components/ConnectDevice/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_GET_ONE": { - "source": "Get one", + "TR_NOTE_COLON_PASSPHRASE": { + "source": "Note: Passphrase is case-sensitive.", "meta": { - "comment": "Part of the sentence: Dont have a Trezor? Get one", "occurrences": [ - "src/views/Landing/components/ConnectDevice/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_NEW_COMMUNICATION_TOOL": { - "source": "New communication tool to facilitate the connection between your Trezor and your internet browser.", + "TR_IF_YOU_FORGET_YOUR_PASSPHRASE_COMMA": { + "source": "If you forget your passphrase, your wallet is lost for good. There is no way to recover your funds.", "meta": { "occurrences": [ - "src/views/Landing/views/InstallBridge/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_DOWNLOAD_LATEST_BRIDGE": { - "source": "Download latest Bridge {version}", + "TR_CONFIRM_PASSPHRASE": { + "source": "Confirm Passphrase", "meta": { "occurrences": [ - "src/views/Landing/views/InstallBridge/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_LEARN_MORE_ABOUT_LATEST_VERSION": { - "source": "Learn more about latest version in {TR_CHANGELOG}.", + "TR_PASSPHRASES_DO_NOT_MATCH": { + "source": "Passphrases do not match!", "meta": { "occurrences": [ - "src/views/Landing/views/InstallBridge/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_CHANGELOG": { - "source": "Changelog", + "TR_SHOW_PASSPHRASE": { + "source": "Show passphrase", "meta": { - "comment": "Part of the sentence: Learn more about latest version in {TR_CHANGELOG}.", + "comment": "This is on a passphrase button", "occurrences": [ - "src/views/Landing/views/InstallBridge/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_CHECK_PGP_SIGNATURE": { - "source": "Check PGP signature", + "TR_ENTER": { + "source": "Enter", "meta": { "occurrences": [ - "src/views/Landing/views/InstallBridge/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_DONT_UPGRADE_BRIDGE": { - "source": "No, I don't want to upgrade Bridge now", + "TR_PASSPHRASE": { + "source": "Passphrase", "meta": { + "comment": "Label above input", "occurrences": [ - "src/views/Landing/views/InstallBridge/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_TAKE_ME_BACK_TO_WALLET": { - "source": "Take me back to the wallet", + "TR_CHANGED_YOUR_MIND": { + "source": "Changed your mind? {TR_GO_TO_STANDARD_WALLET}", "meta": { "occurrences": [ - "src/views/Landing/views/InstallBridge/index.messages.js" + "src/components/modals/passphrase/Passphrase/index.messages.js" ] } }, - "TR_FIND_OUT_MORE_INFO": { - "source": "Find out more info", + "TR_ENTERED_PIN_NOT_CORRECT": { + "source": "Entered PIN for {deviceLabel} is not correct", "meta": { "occurrences": [ - "src/views/Wallet/components/Content/components/FirmwareUnsupported/index.messages.js" + "src/components/modals/pin/Invalid/index.messages.js" ] } }, - "TR_MODEL_DOES_NOT_SUPPORT_COIN": { - "source": "The coin {coin} is not supported by your Trezor model.", + "TR_RETRYING_DOT_DOT": { + "source": "Retrying...", "meta": { "occurrences": [ - "src/views/Wallet/components/Content/components/FirmwareUnsupported/index.messages.js" + "src/components/modals/pin/Invalid/index.messages.js" ] } }, - "TR_INITIALIZING_ACCOUNTS": { - "source": "Initializing accounts", + "TR_THE_PIN_LAYOUT_IS_DISPLAYED_ON": { + "source": "The PIN layout is displayed on your Trezor.", "meta": { "occurrences": [ - "src/views/Wallet/components/Content/index.messages.js" + "src/components/modals/pin/Pin/index.messages.js" ] } }, - "TR_ACCOUNT_HASH": { - "source": "Account #{number}", + "TR_ENTER_DEVICE_PIN": { + "source": "Enter {deviceLabel} PIN", "meta": { - "comment": "Used in auto-generated account label", "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js" + "src/components/modals/pin/Pin/index.messages.js" ] } }, - "TR_LOADING_DOT_DOT_DOT": { - "source": "Loading...", + "TR_ENTER_PIN": { + "source": "Enter PIN", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js" + "src/components/modals/pin/Pin/index.messages.js" ] } }, - "TR_TO_ADD_A_NEW_ACCOUNT_LAST": { - "source": "To add a new account, last account must have some transactions.", + "TR_NOT_SURE_HOW_PIN_WORKS": { + "source": "Not sure how PIN works? {TR_LEARN_MORE}", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js" + "src/components/modals/pin/Pin/index.messages.js" ] } }, - "TR_TO_ADD_ACCOUNTS": { - "source": "To add accounts, make sure your device is connected.", + "TR_SCAN_QR_CODE": { + "source": "Scan QR code", "meta": { + "comment": "Title for the Scan QR modal dialog", "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js" + "src/components/modals/QrModal/index.messages.js" ] } }, - "TR_ADD_ACCOUNT": { - "source": "Add account", + "TR_WAITING_FOR_CAMERA": { + "source": "Waiting for camera...", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js" + "src/components/modals/QrModal/index.messages.js" ] } }, - "TR_OTHER_COINS": { - "source": "Other coins", + "TR_OOPS_SOMETHING_WENT_WRONG": { + "source": "Oops! Something went wrong!", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/CoinMenu/index.messages.js" + "src/components/modals/QrModal/index.messages.js" ] } }, - "TR_YOU_WILL_BE_REDIRECTED": { - "source": "(You will be redirected)", + "TR_CAMERA_PERMISSION_DENIED": { + "source": "Permission to access the camera was denied.", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/CoinMenu/index.messages.js" + "src/components/modals/QrModal/index.messages.js" ] } }, - "TR_CHANGE_WALLET_TYPE": { - "source": "Change wallet type", + "TR_CAMERA_NOT_RECOGNIZED": { + "source": "The camera was not recognized.", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.messages.js" + "src/components/modals/QrModal/index.messages.js" ] } }, - "TR_RENEW_SESSION": { - "source": "Renew session", + "TR_UNKOWN_ERROR_SEE_CONSOLE": { + "source": "Unknown error. See console logs for details.", "meta": { - "comment": "TODO", "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.messages.js" + "src/components/modals/QrModal/index.messages.js" ] } }, - "TR_FORGET_DEVICE": { - "source": "Forget device", + "TR_YOU_WERE_DISCONNECTED_DOT": { + "source": "You were disconnected.", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.messages.js" + "src/components/notifications/App/components/OnlineStatus/index.messages.js" ] } }, - "TR_YOU_ARE_IN_YOUR_STANDARD_WALLET": { - "source": "You are in your standard wallet.", + "TR_PLEASE_RELOAD_THE_PAGE_DOT": { + "source": "Please check your Internet connection and reload the page.", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/index.messages.js" + "src/components/notifications/App/components/OnlineStatus/index.messages.js" ] } }, - "TR_YOU_ARE_IN_YOUR_WALLET": { - "source": "You are in your hidden wallet.", + "TR_NEW_TREZOR_BRIDGE_IS_AVAILABLE": { + "source": "New Trezor Bridge is available.", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/index.messages.js" + "src/components/notifications/App/components/UpdateBridge/index.messages.js" ] } }, - "TR_CLICK_HERE_TO_ACCESS_YOUR_HIDDEN": { - "source": "Click here to access your hidden wallet.", + "TR_NEW_TREZOR_FIRMWARE_IS_AVAILABLE_DOT": { + "source": "New Trezor firmware is available.", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/index.messages.js" + "src/components/notifications/App/components/UpdateFirmware/index.messages.js" ] } }, - "TR_CLICK_HERE_TO_ACCESS_YOUR_STANDARD": { - "source": "Click here to access your standard or another hidden wallet.", + "TR_CONNECT_TO_BACKEND": { + "source": "Connect", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/index.messages.js" + "src/components/notifications/Context/components/Account/index.messages.js" ] } }, - "TR_TO_ACCESS_OTHER_WALLETS": { - "source": "To access other wallets please connect your device.", + "TR_READ_MORE": { + "source": "Read more", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/index.messages.js" + "src/components/Tooltip/index.messages.js" ] } }, - "TR_NEED_HELP": { - "source": "Need help?", + "TR_DEVICE_SETTINGS": { + "source": "Device settings", "meta": { "occurrences": [ - "src/views/Wallet/components/LeftNavigation/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_NUMBER_OF_DEVICES": { - "source": "Number of devices", + "TR_ACCOUNT_HASH": { + "source": "Account #{number}", "meta": { + "comment": "Used in auto-generated account label", "occurrences": [ - "src/views/Wallet/components/LeftNavigation/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_SUMMARY": { - "source": "Summary", + "TR_CLEAR": { + "source": "Clear", "meta": { + "comment": "Clear form button", "occurrences": [ - "src/views/Wallet/components/TopNavigationAccount/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_RECEIVE": { - "source": "Receive", + "TR_CHECK_FOR_DEVICES": { + "source": "Check for devices", "meta": { "occurrences": [ - "src/views/Wallet/components/TopNavigationAccount/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_SEND": { - "source": "Send", + "TR_ADDRESS": { + "source": "Address", "meta": { + "comment": "Used as label for receive/send address input", "occurrences": [ - "src/views/Wallet/components/TopNavigationAccount/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_SIGN_AND_VERIFY": { - "source": "Sign & Verify", + "TR_LOADING_DOT_DOT_DOT": { + "source": "Loading...", "meta": { "occurrences": [ - "src/views/Wallet/components/TopNavigationAccount/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_CHECK_ADDRESS_ON_TREZOR": { - "source": "Check address on Trezor", + "TR_TAKE_ME_TO_BITCOIN_WALLET": { + "source": "Take me to the Bitcoin wallet", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/common.messages.js" + "src/views/common.messages.js" ] } }, - "TR_SHOW_FULL_ADDRESS": { - "source": "Show full address", + "TR_I_WILL_DO_THAT_LATER": { + "source": "I’ll do that later.", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/common.messages.js" + "src/views/common.messages.js" ] } }, - "TR_QR_CODE": { - "source": "QR Code", + "TR_SHOW_DETAILS": { + "source": "Show details", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/common.messages.js" + "src/views/common.messages.js" ] } }, - "TR_UNVERIFIED_ADDRESS_COMMA_CONNECT": { - "source": "Unverified address, connect your Trezor to verify it", + "TR_UPGRADE_FOR_THE_NEWEST_FEATURES_DOT": { + "source": "Upgrade for the newest features.", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/components/VerifyAddressTooltip/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_UNVERIFIED_ADDRESS_COMMA_SHOW": { - "source": "Unverified address, show on Trezor.", + "TR_LEARN_MORE": { + "source": "Learn more", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/components/VerifyAddressTooltip/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_SHOW_ON_TREZOR": { - "source": "Show on Trezor", + "TR_GO_TO_STANDARD_WALLET": { + "source": "Go to your standard wallet", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/components/VerifyAddressTooltip/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_CONNECT_YOUR_TREZOR_TO_CHECK": { - "source": "Connect your Trezor to verify this address", + "TR_GO_TO_HIDDEN_WALLET": { + "source": "Go to your hidden wallet", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/components/VerifyAddressTooltip/index.messages.js" + "src/views/common.messages.js" ] } }, - "TR_RECEIVE_ETHEREUM_OR_TOKENS": { - "source": "Receive Ethereum or tokens", + "TR_YOU_ARE_OPENING_TREZOR_BETA_WALLET": { + "source": "You are opening Trezor Beta Wallet", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/ethereum/index.messages.js" + "src/views/Landing/components/BetaDisclaimer/index.messages.js" ] } }, - "TR_RECEIVE_RIPPLE": { - "source": "Receive Ripple", + "TR_TREZOR_BETA_WALLET_IS": { + "source": "{TR_TREZOR_BETA_WALLET} is a public feature-testing version of the {TR_TREZOR_WALLET}, offering the newest features before they are available to the general public.", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Receive/ripple/index.messages.js" + "src/views/Landing/components/BetaDisclaimer/index.messages.js" ] } }, - "TR_AMOUNT": { - "source": "Amount", + "TR_IN_CONTRAST_COMMA_TREZOR": { + "source": "In contrast, {TR_TREZOR_WALLET} is feature-conservative, making sure that its functionality is maximally reliable and dependable for the general public.", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Send/common.messages.js" + "src/views/Landing/components/BetaDisclaimer/index.messages.js" ] } }, - "TR_SET_MAX": { - "source": "Set max", + "TR_PLEASE_NOTE_THAT_THE_TREZOR": { + "source": "Please note that the {TR_TREZOR_BETA_WALLET} might be collecting anonymized usage data, especially error logs, for development purposes. The {TR_TREZOR_WALLET} does not log any data.", "meta": { - "comment": "Used for setting maximum amount in Send form", "occurrences": [ - "src/views/Wallet/views/Account/Send/common.messages.js" + "src/views/Landing/components/BetaDisclaimer/index.messages.js" ] } }, - "TR_FEE": { - "source": "Fee", + "TR_OK_COMMA_I_UNDERSTAND": { + "source": "OK, I understand", "meta": { - "comment": "Label in Send form", "occurrences": [ - "src/views/Wallet/views/Account/Send/common.messages.js" + "src/views/Landing/components/BetaDisclaimer/index.messages.js" ] } }, - "TR_RECOMMENDED_FEES_UPDATED": { - "source": "Recommended fees updated.", + "TR_TREZOR_WALLET": { + "source": "Trezor Wallet", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Send/common.messages.js" + "src/views/Landing/components/BetaDisclaimer/index.messages.js" ] } }, - "TR_CLICK_HERE_TO_USE_THEM": { - "source": "Click here to use them", + "TR_TREZOR_BETA_WALLET": { + "source": "Trezor Beta Wallet", "meta": { - "comment": "Button to use recommended updated fees.", "occurrences": [ - "src/views/Wallet/views/Account/Send/common.messages.js" + "src/views/Landing/components/BetaDisclaimer/index.messages.js" ] } }, - "TR_ADVANCED_SETTINGS": { - "source": "Advanced settings", + "TR_YOUR_BROWSER_IS_NOT_SUPPORTED": { + "source": "Your browser is not supported", "meta": { - "comment": "Shows advanced sending form", "occurrences": [ - "src/views/Wallet/views/Account/Send/common.messages.js" + "src/views/Landing/components/BrowserNotSupported/index.messages.js" ] } }, - "TR_GAS_LIMIT": { - "source": "Gas limit", + "TR_PLEASE_CHOOSE_ONE_OF_THE_SUPPORTED": { + "source": "Please choose one of the supported browsers", "meta": { "occurrences": [ - "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js" + "src/views/Landing/components/BrowserNotSupported/index.messages.js" + ] + } + }, + "TR_GET_CHROME": { + "source": "Get Chrome", + "meta": { + "occurrences": [ + "src/views/Landing/components/BrowserNotSupported/index.messages.js" + ] + } + }, + "TR_GET_FIREFOX": { + "source": "Get Firefox", + "meta": { + "occurrences": [ + "src/views/Landing/components/BrowserNotSupported/index.messages.js" + ] + } + }, + "TR_TREZOR_WALLET_IS_AN_EASY_DASH": { + "source": "Trezor Wallet is an easy-to-use interface for your Trezor. Trezor Wallet allows you to easily control your funds, manage your balance and initiate transfers.", + "meta": { + "occurrences": [ + "src/views/Landing/components/ConnectDevice/index.messages.js" + ] + } + }, + "TR_THE_PRIVATE_BANK_IN_YOUR_HANDS": { + "source": "The private bank in your hands.", + "meta": { + "occurrences": [ + "src/views/Landing/components/ConnectDevice/index.messages.js" + ] + } + }, + "TR_CONNECT_TREZOR_TO_CONTINUE": { + "source": "Connect Trezor to continue", + "meta": { + "occurrences": [ + "src/views/Landing/components/ConnectDevice/index.messages.js" + ] + } + }, + "TR_AND": { + "source": "and", + "meta": { + "occurrences": [ + "src/views/Landing/components/ConnectDevice/index.messages.js" + ] + } + }, + "TR_DEVICE_NOT_RECOGNIZED_TRY_INSTALLING": { + "source": "Device not recognized? Try installing the {link}.", + "meta": { + "occurrences": [ + "src/views/Landing/components/ConnectDevice/index.messages.js" + ] + } + }, + "TR_DONT_HAVE_A_TREZOR_GET": { + "source": "Don't have a Trezor? {getOne}", + "meta": { + "occurrences": [ + "src/views/Landing/components/ConnectDevice/index.messages.js" + ] + } + }, + "TR_GET_ONE": { + "source": "Get one", + "meta": { + "comment": "Part of the sentence: Dont have a Trezor? Get one", + "occurrences": [ + "src/views/Landing/components/ConnectDevice/index.messages.js" + ] + } + }, + "TR_NEW_COMMUNICATION_TOOL": { + "source": "New communication tool to facilitate the connection between your Trezor and your internet browser.", + "meta": { + "occurrences": [ + "src/views/Landing/views/InstallBridge/index.messages.js" + ] + } + }, + "TR_DOWNLOAD_LATEST_BRIDGE": { + "source": "Download latest Bridge {version}", + "meta": { + "occurrences": [ + "src/views/Landing/views/InstallBridge/index.messages.js" + ] + } + }, + "TR_LEARN_MORE_ABOUT_LATEST_VERSION": { + "source": "Learn more about latest version in {TR_CHANGELOG}.", + "meta": { + "occurrences": [ + "src/views/Landing/views/InstallBridge/index.messages.js" + ] + } + }, + "TR_CHANGELOG": { + "source": "Changelog", + "meta": { + "comment": "Part of the sentence: Learn more about latest version in {TR_CHANGELOG}.", + "occurrences": [ + "src/views/Landing/views/InstallBridge/index.messages.js" + ] + } + }, + "TR_CHECK_PGP_SIGNATURE": { + "source": "Check PGP signature", + "meta": { + "occurrences": [ + "src/views/Landing/views/InstallBridge/index.messages.js" + ] + } + }, + "TR_DONT_UPGRADE_BRIDGE": { + "source": "No, I don't want to upgrade Bridge now", + "meta": { + "occurrences": [ + "src/views/Landing/views/InstallBridge/index.messages.js" + ] + } + }, + "TR_TAKE_ME_BACK_TO_WALLET": { + "source": "Take me back to the wallet", + "meta": { + "occurrences": [ + "src/views/Landing/views/InstallBridge/index.messages.js" + ] + } + }, + "TR_FIND_OUT_MORE_INFO": { + "source": "Find out more info", + "meta": { + "occurrences": [ + "src/views/Wallet/components/Content/components/FirmwareUnsupported/index.messages.js" + ] + } + }, + "TR_MODEL_DOES_NOT_SUPPORT_COIN": { + "source": "The coin {coin} is not supported by your Trezor model.", + "meta": { + "occurrences": [ + "src/views/Wallet/components/Content/components/FirmwareUnsupported/index.messages.js" + ] + } + }, + "TR_INITIALIZING_ACCOUNTS": { + "source": "Initializing accounts", + "meta": { + "occurrences": [ + "src/views/Wallet/components/Content/index.messages.js" + ] + } + }, + "TR_TO_ADD_A_NEW_ACCOUNT_LAST": { + "source": "To add a new account, last account must have some transactions.", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js" + ] + } + }, + "TR_TO_ADD_ACCOUNTS": { + "source": "To add accounts, make sure your device is connected.", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js" + ] + } + }, + "TR_ADD_ACCOUNT": { + "source": "Add account", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.messages.js" + ] + } + }, + "TR_OTHER_COINS": { + "source": "Other coins", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/components/CoinMenu/index.messages.js" + ] + } + }, + "TR_YOU_WILL_BE_REDIRECTED": { + "source": "(You will be redirected)", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/components/CoinMenu/index.messages.js" + ] + } + }, + "TR_CHANGE_WALLET_TYPE": { + "source": "Change wallet type", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.messages.js" + ] + } + }, + "TR_RENEW_SESSION": { + "source": "Renew session", + "meta": { + "comment": "TODO", + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.messages.js" + ] + } + }, + "TR_FORGET_DEVICE": { + "source": "Forget device", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.messages.js" + ] + } + }, + "TR_YOU_ARE_IN_YOUR_STANDARD_WALLET": { + "source": "You are in your standard wallet.", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/index.messages.js" + ] + } + }, + "TR_YOU_ARE_IN_YOUR_WALLET": { + "source": "You are in your hidden wallet.", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/index.messages.js" + ] + } + }, + "TR_CLICK_HERE_TO_ACCESS_YOUR_HIDDEN": { + "source": "Click here to access your hidden wallet.", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/index.messages.js" + ] + } + }, + "TR_CLICK_HERE_TO_ACCESS_YOUR_STANDARD": { + "source": "Click here to access your standard or another hidden wallet.", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/index.messages.js" + ] + } + }, + "TR_TO_ACCESS_OTHER_WALLETS": { + "source": "To access other wallets please connect your device.", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/index.messages.js" + ] + } + }, + "TR_NEED_HELP": { + "source": "Need help?", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/index.messages.js" + ] + } + }, + "TR_NUMBER_OF_DEVICES": { + "source": "Number of devices", + "meta": { + "occurrences": [ + "src/views/Wallet/components/LeftNavigation/index.messages.js" + ] + } + }, + "TR_NAV_SUMMARY": { + "source": "Summary", + "meta": { + "occurrences": [ + "src/views/Wallet/components/TopNavigationAccount/index.messages.js" + ] + } + }, + "TR_NAV_RECEIVE": { + "source": "Receive", + "meta": { + "occurrences": [ + "src/views/Wallet/components/TopNavigationAccount/index.messages.js" + ] + } + }, + "TR_NAV_SEND": { + "source": "Send", + "meta": { + "occurrences": [ + "src/views/Wallet/components/TopNavigationAccount/index.messages.js" + ] + } + }, + "TR_NAV_SIGN_AND_VERIFY": { + "source": "Sign & Verify", + "meta": { + "occurrences": [ + "src/views/Wallet/components/TopNavigationAccount/index.messages.js" + ] + } + }, + "TR_AMOUNT": { + "source": "Amount", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_SET_MAX": { + "source": "Set max", + "meta": { + "comment": "Used for setting maximum amount in Send form", + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_FEE": { + "source": "Fee", + "meta": { + "comment": "Label in Send form", + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_RECOMMENDED_FEES_UPDATED": { + "source": "Recommended fees updated.", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_CLICK_HERE_TO_USE_THEM": { + "source": "Click here to use them", + "meta": { + "comment": "Button to use recommended updated fees.", + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_ADVANCED_SETTINGS": { + "source": "Advanced settings", + "meta": { + "comment": "Shows advanced sending form", + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_DEVICE_IS_NOT_CONNECTED": { + "source": "Device is not connected", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_DEVICE_IS_UNAVAILABLE": { + "source": "Device is not unavailable", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_LOADING_ACCOUNTS": { + "source": "Loading accounts", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_SEND": { + "source": "Send {amount}", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/common.messages.js" + ] + } + }, + "TR_CHECK_ADDRESS_ON_TREZOR": { + "source": "Check address on Trezor", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/common.messages.js" + ] + } + }, + "TR_SHOW_FULL_ADDRESS": { + "source": "Show full address", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/common.messages.js" + ] + } + }, + "TR_QR_CODE": { + "source": "QR Code", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/common.messages.js" + ] + } + }, + "TR_UNVERIFIED_ADDRESS_COMMA_CONNECT": { + "source": "Unverified address, connect your Trezor to verify it", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/components/VerifyAddressTooltip/index.messages.js" + ] + } + }, + "TR_UNVERIFIED_ADDRESS_COMMA_SHOW": { + "source": "Unverified address, show on Trezor.", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/components/VerifyAddressTooltip/index.messages.js" + ] + } + }, + "TR_SHOW_ON_TREZOR": { + "source": "Show on Trezor", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/components/VerifyAddressTooltip/index.messages.js" + ] + } + }, + "TR_CONNECT_YOUR_TREZOR_TO_CHECK": { + "source": "Connect your Trezor to verify this address", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/components/VerifyAddressTooltip/index.messages.js" + ] + } + }, + "TR_RECEIVE_ETHEREUM_OR_TOKENS": { + "source": "Receive Ethereum or tokens", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/ethereum/index.messages.js" + ] + } + }, + "TR_RECEIVE_RIPPLE": { + "source": "Receive Ripple", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Receive/ripple/index.messages.js" + ] + } + }, + "TR_GAS_LIMIT": { + "source": "Gas limit", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js" ] } }, @@ -579,6 +1047,7 @@ "TR_CALCULATING_DOT_DOT": { "source": "Calculating...", "meta": { + "comment": "Used when calculating gas limit based on data input in ethereum advanced send form", "occurrences": [ "src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.messages.js" ] @@ -681,7 +1150,190 @@ ] } }, - "dashboard.selectyourcoin.title": { + "TR_MESSAGE": { + "source": "Message", + "meta": { + "comment": "Used as a label for message input field in Sign and Verify form", + "occurrences": [ + "src/views/Wallet/views/Account/SignVerify/index.messages.js" + ] + } + }, + "TR_SIGNATURE": { + "source": "Signature", + "meta": { + "comment": "Used as a label for signature input field in Sign and Verify form", + "occurrences": [ + "src/views/Wallet/views/Account/SignVerify/index.messages.js" + ] + } + }, + "TR_SIGN": { + "source": "Sign", + "meta": { + "comment": "Sign button in Sign and Verify form", + "occurrences": [ + "src/views/Wallet/views/Account/SignVerify/index.messages.js" + ] + } + }, + "TR_VERIFY": { + "source": "Verify", + "meta": { + "comment": "Verify button in Sign and Verify form", + "occurrences": [ + "src/views/Wallet/views/Account/SignVerify/index.messages.js" + ] + } + }, + "TR_VERIFY_MESSAGE": { + "source": "Verify Message", + "meta": { + "comment": "Header for the Sign and Verify form", + "occurrences": [ + "src/views/Wallet/views/Account/SignVerify/index.messages.js" + ] + } + }, + "TR_SIGN_MESSAGE": { + "source": "Sign Message", + "meta": { + "comment": "Header for the Sign and Verify form", + "occurrences": [ + "src/views/Wallet/views/Account/SignVerify/index.messages.js" + ] + } + }, + "TR_SEE_FULL_TRANSACTION_HISTORY": { + "source": "See full transaction history", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/common.messages.js" + ] + } + }, + "TR_TOKENS": { + "source": "Tokens", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/common.messages.js" + ] + } + }, + "TR_INSERT_TOKEN_NAME": { + "source": "Insert token name, symbol or address to be able to send it.", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/common.messages.js" + ] + } + }, + "TR_TYPE_IN_A_TOKEN_NAME": { + "source": "Type in a token name or a token address.", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/common.messages.js" + ] + } + }, + "TR_TOKEN_NOT_FOUND": { + "source": "Token not found", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/common.messages.js" + ] + } + }, + "TR_ALREADY_USED": { + "source": "Already used", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/common.messages.js" + ] + } + }, + "TR_HISTORY": { + "source": "History", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/common.messages.js" + ] + } + }, + "TR_ADD_YOUR_TOKENS": { + "source": "Add your tokens", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.messages.js" + ] + } + }, + "TR_SEARCH_FOR_THE_TOKEN": { + "source": "Search for the token or add them manually by pasting token address into search input.", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.messages.js" + ] + } + }, + "TR_BALANCE": { + "source": "Balance", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/components/Balance/index.messages.js" + ] + } + }, + "TR_RATE": { + "source": "Rate", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Account/Summary/components/Balance/index.messages.js" + ] + } + }, + "TR_DEVICE_USED_IN_OTHER": { + "source": "Device is used in other window", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Acquire/index.messages.js" + ] + } + }, + "TR_USE_YOUR_DEVICE_IN_THIS_WINDOW": { + "source": "Do you want to use your device in this window?", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Acquire/index.messages.js" + ] + } + }, + "TR_ACQUIRE_DEVICE": { + "source": "Acquire device", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Acquire/index.messages.js" + ] + } + }, + "TR_YOUR_DEVICE_IS_IN_FIRMWARE": { + "source": "Your device is in firmware update mode", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Bootloader/index.messages.js" + ] + } + }, + "TR_PLEASE_RECONNECT_IT": { + "source": "Please re-connect it", + "meta": { + "comment": "Call to action to re-connect Trezor device", + "occurrences": [ + "src/views/Wallet/views/Bootloader/index.messages.js" + ] + } + }, + "TR_PLEASE_SELECT_YOUR": { "source": "Please select your coin", "meta": { "comment": "Title of the dashboard component if coin was not selected", @@ -690,7 +1342,7 @@ ] } }, - "dashboard.selectyourcoin.body": { + "TR_YOU_WILL_GAIN_ACCESS": { "source": "You will gain access to receiving & sending selected coin", "meta": { "comment": "Content of the dashboard component if coin was not selected", @@ -698,5 +1350,69 @@ "src/views/Wallet/views/Dashboard/index.messages.js" ] } + }, + "TR_ITS_TIME_TO_UPDATE_FIRMWARE": { + "source": "It’s time to update your firmware", + "meta": { + "occurrences": [ + "src/views/Wallet/views/FirmwareUpdate/index.messages.js" + ] + } + }, + "TR_PLEASE_USE_OLD_WALLET": { + "source": "Please use Bitcoin wallet interface to update your firmware.", + "meta": { + "occurrences": [ + "src/views/Wallet/views/FirmwareUpdate/index.messages.js" + ] + } + }, + "TR_YOUR_DEVICE_IS_NOT_INITIALIZED": { + "source": "Your device is not initialized", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Initialize/index.messages.js" + ] + } + }, + "TR_PLEASE_USE_TO_START_INITIALIZATION": { + "source": "Please use Bitcoin wallet interface to start initialization process", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Initialize/index.messages.js" + ] + } + }, + "TR_DEVICE_IS_INITIALIZED_IN_SEEDLESS_MODE": { + "source": "Device is initialized in seedless mode and therefore not allowed to access wallet", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Seedless/index.messages.js" + ] + } + }, + "TR_DEVICE_IS_IN_SEEDLESS": { + "source": "Device is in seedless mode", + "meta": { + "occurrences": [ + "src/views/Wallet/views/Seedless/index.messages.js" + ] + } + }, + "TR_UNREADABLE_DEVICE": { + "source": "Unreadable device", + "meta": { + "occurrences": [ + "src/views/Wallet/views/UnreadableDevice/index.messages.js" + ] + } + }, + "TR_PLEASE_INSTALL_TREZOR_BRIDGE": { + "source": "Please install Trezor Bridge", + "meta": { + "occurrences": [ + "src/views/Wallet/views/UnreadableDevice/index.messages.js" + ] + } } } \ No newline at end of file