Browse Source

Merge pull request #525 from gre/merge_i18n

Merge all i18n
master
Meriadec Pillet 7 years ago
committed by GitHub
parent
commit
48eb81c7fe
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      src/components/AccountPage/index.js
  2. 6
      src/components/AdvancedOptions/BitcoinKind.js
  3. 2
      src/components/AdvancedOptions/EthereumKind.js
  4. 2
      src/components/AdvancedOptions/RippleKind.js
  5. 6
      src/components/BalanceSummary/BalanceInfos.js
  6. 2
      src/components/CurrentAddress/index.js
  7. 10
      src/components/DashboardPage/AccountsOrder.js
  8. 8
      src/components/DashboardPage/EmptyState.js
  9. 6
      src/components/DashboardPage/index.js
  10. 2
      src/components/DeviceConnect/index.js
  11. 2
      src/components/ExchangePage/ExchangeCard.js
  12. 2
      src/components/ExchangePage/index.js
  13. 2
      src/components/ExportLogsBtn.js
  14. 2
      src/components/FeesField/GenericContainer.js
  15. 2
      src/components/GenuineCheckModal/index.js
  16. 2
      src/components/GlobalSearch.js
  17. 10
      src/components/IsUnlocked.js
  18. 18
      src/components/MainSideBar/index.js
  19. 4
      src/components/ManagerPage/AppsList.js
  20. 2
      src/components/ManagerPage/FinalFirmwareUpdate.js
  21. 2
      src/components/ManagerPage/ManagerApp.js
  22. 6
      src/components/ManagerPage/PlugYourDevice.js
  23. 4
      src/components/ManagerPage/UpdateFirmwareButton.js
  24. 4
      src/components/ManagerPage/Workflow.js
  25. 4
      src/components/ManagerPage/index.js
  26. 4
      src/components/Onboarding/OnboardingFooter.js
  27. 6
      src/components/Onboarding/steps/GenuineCheck.js
  28. 6
      src/components/Onboarding/steps/SetPassword.js
  29. 2
      src/components/OperationsList/DateCell.js
  30. 2
      src/components/OperationsList/index.js
  31. 2
      src/components/RequestAmount/index.js
  32. 2
      src/components/SelectAccount/index.js
  33. 2
      src/components/SelectCurrency/index.js
  34. 16
      src/components/SettingsPage/DisablePasswordModal.js
  35. 16
      src/components/SettingsPage/PasswordForm.js
  36. 16
      src/components/SettingsPage/PasswordModal.js
  37. 10
      src/components/SettingsPage/index.js
  38. 14
      src/components/SettingsPage/sections/About.js
  39. 6
      src/components/SettingsPage/sections/Currencies.js
  40. 19
      src/components/SettingsPage/sections/Display.js
  41. 48
      src/components/SettingsPage/sections/Profile.js
  42. 8
      src/components/TopBar/ActivityIndicator.js
  43. 4
      src/components/UpdateNotifier/UpdateDownloaded.js
  44. 2
      src/components/base/InputPassword/index.js
  45. 4
      src/components/base/Modal/ConfirmModal.js
  46. 2
      src/components/base/Modal/ModalTitle.js
  47. 22
      src/components/modals/AccountSettingRenderBody.js
  48. 10
      src/components/modals/ImportAccounts/index.js
  49. 2
      src/components/modals/ImportAccounts/steps/01-step-choose-currency.js
  50. 2
      src/components/modals/ImportAccounts/steps/02-step-connect-device.js
  51. 16
      src/components/modals/ImportAccounts/steps/03-step-import.js
  52. 4
      src/components/modals/OperationDetails.js
  53. 2
      src/components/modals/PrevButton.js
  54. 2
      src/components/modals/Receive/01-step-account.js
  55. 8
      src/components/modals/Receive/03-step-confirm-address.js
  56. 2
      src/components/modals/Receive/04-step-receive-funds.js
  57. 18
      src/components/modals/Receive/index.js
  58. 6
      src/components/modals/ReleaseNotes.js
  59. 4
      src/components/modals/Send/03-step-verification.js
  60. 2
      src/components/modals/Send/AccountField.js
  61. 2
      src/components/modals/Send/AmountField.js
  62. 6
      src/components/modals/Send/ConfirmationFooter.js
  63. 2
      src/components/modals/Send/Footer.js
  64. 4
      src/components/modals/Send/RecipientField.js
  65. 10
      src/components/modals/Send/SendModalBody.js
  66. 17
      static/i18n/en/account.yml
  67. 2
      static/i18n/en/accountsOrder.yml
  68. 14
      static/i18n/en/addAccount.yml
  69. 308
      static/i18n/en/app.yml
  70. 36
      static/i18n/en/common.yml
  71. 2
      static/i18n/en/currentAddress.yml
  72. 10
      static/i18n/en/dashboard.yml
  73. 2
      static/i18n/en/device.yml
  74. 8
      static/i18n/en/deviceConnect.yml
  75. 8
      static/i18n/en/emptyState.yml
  76. 2
      static/i18n/en/exchange.yml
  77. 2
      static/i18n/en/genuinecheck.yml
  78. 16
      static/i18n/en/importAccounts.yml
  79. 20
      static/i18n/en/manager.yml
  80. 2
      static/i18n/en/operationDetails.yml
  81. 9
      static/i18n/en/operationsList.yml
  82. 28
      static/i18n/en/password.yml
  83. 23
      static/i18n/en/receive.yml
  84. 3
      static/i18n/en/releaseNotes.yml
  85. 35
      static/i18n/en/send.yml
  86. 67
      static/i18n/en/settings.yml
  87. 4
      static/i18n/en/sidebar.yml
  88. 10
      static/i18n/en/time.yml
  89. 2
      static/i18n/en/update.yml
  90. 18
      static/i18n/fr/account.yml
  91. 3
      static/i18n/fr/accountsOrder.yml
  92. 14
      static/i18n/fr/addAccount.yml
  93. 37
      static/i18n/fr/common.yml
  94. 3
      static/i18n/fr/currentAddress.yml
  95. 11
      static/i18n/fr/dashboard.yml
  96. 3
      static/i18n/fr/device.yml
  97. 7
      static/i18n/fr/deviceConnect.yml
  98. 9
      static/i18n/fr/emptyState.yml
  99. 3
      static/i18n/fr/exchange.yml
  100. 3
      static/i18n/fr/genuinecheck.yml

6
src/components/AccountPage/index.js

@ -107,14 +107,14 @@ class AccountPage extends PureComponent<Props, State> {
<Button small primary onClick={() => openModal(MODAL_SEND, { account })}>
<Box horizontal flow={1} alignItems="center">
<IconSend size={12} />
<Box>{t('send:title')}</Box>
<Box>{t('app:send.title')}</Box>
</Box>
</Button>
<Button small primary onClick={() => openModal(MODAL_RECEIVE, { account })}>
<Box horizontal flow={1} alignItems="center">
<IconReceive size={12} />
<Box>{t('receive:title')}</Box>
<Box>{t('app:receive.title')}</Box>
</Box>
</Button>
</Fragment>
@ -180,7 +180,7 @@ class AccountPage extends PureComponent<Props, State> {
)}
/>
</Box>
<OperationsList account={account} title={t('account:lastOperations')} />
<OperationsList account={account} title={t('app:account.lastOperations')} />
</Fragment>
) : (
<EmptyStateAccount account={account} />

6
src/components/AdvancedOptions/BitcoinKind.js

@ -19,8 +19,8 @@ export default translate()(({ isRBF, onChangeRBF, t }: Props) => (
<Box horizontal align="center" flow={5}>
<Box style={{ width: 200 }}>
<Label>
<span>{t('send:steps.amount.useRBF')}</span>
<LabelInfoTooltip ml={1} text={t('send:steps.amount.useRBF')} />
<span>{t('app:send.steps.amount.useRBF')}</span>
<LabelInfoTooltip ml={1} text={t('app:send.steps.amount.useRBF')} />
</Label>
</Box>
<Box grow>
@ -32,7 +32,7 @@ export default translate()(({ isRBF, onChangeRBF, t }: Props) => (
<Box horizontal align="flex-start" flow={5}>
<Box style={{ width: 200 }}>
<Label>
<span>{t('send:steps.amount.message')}</span>
<span>{t('app:send.steps.amount.message')}</span>
</Label>
</Box>
<Box grow>

2
src/components/AdvancedOptions/EthereumKind.js

@ -18,7 +18,7 @@ export default translate()(({ gasLimit, onChangeGasLimit, t }: Props) => (
<Box horizontal align="center" flow={5}>
<Box style={{ width: 200 }}>
<Label>
<span>{t('send:steps.amount.ethereumGasLimit')}</span>
<span>{t('app:send.steps.amount.ethereumGasLimit')}</span>
</Label>
</Box>
<Box grow>

2
src/components/AdvancedOptions/RippleKind.js

@ -18,7 +18,7 @@ export default translate()(({ tag, onChangeTag, t }: Props) => (
<Box horizontal align="center" flow={5}>
<Box style={{ width: 200 }}>
<Label>
<span>{t('send:steps.amount.rippleTag')}</span>
<span>{t('app:send.steps.amount.rippleTag')}</span>
</Label>
</Box>
<Box grow>

6
src/components/BalanceSummary/BalanceInfos.js

@ -47,7 +47,7 @@ export function BalanceSincePercent(props: BalanceSinceProps) {
fontSize={7}
withIcon
/>
<Sub>{t(`time:since.${since}`)}</Sub>
<Sub>{t(`app:time.since.${since}`)}</Sub>
</Box>
)
}
@ -65,7 +65,7 @@ export function BalanceSinceDiff(props: Props) {
val={totalBalance - sinceBalance}
withIcon
/>
<Sub>{t(`time:since.${since}`)}</Sub>
<Sub>{t(`app:time.since.${since}`)}</Sub>
</Box>
)
}
@ -97,7 +97,7 @@ function BalanceInfos(props: Props) {
return (
<Box horizontal alignItems="center" flow={7}>
<BalanceTotal unit={counterValue.units[0]} totalBalance={totalBalance}>
<Sub>{t('dashboard:totalBalance')}</Sub>
<Sub>{t('app:dashboard.totalBalance')}</Sub>
</BalanceTotal>
<BalanceSincePercent
alignItems="flex-end"

2
src/components/CurrentAddress/index.js

@ -187,7 +187,7 @@ class CurrentAddress extends PureComponent<Props> {
<strong>{accountName}</strong>
</Trans>
) : (
t('currentAddress:label')
t('app:currentAddress')
)}
</Box>
<IconInfoCircle size={12} />

10
src/components/DashboardPage/AccountsOrder.js

@ -154,11 +154,11 @@ class AccountsOrder extends Component<Props> {
return [
{
key: 'name',
label: t('accountsOrder:name'),
label: t('app:dashboard.accountsOrder.name'),
},
{
key: 'balance',
label: t('accountsOrder:balance'),
label: t('app:dashboard.accountsOrder.balance'),
},
].map(item => ({
...item,
@ -203,7 +203,7 @@ class AccountsOrder extends Component<Props> {
value={sortItems.find(item => item.key === orderAccounts)}
>
<Text ff="Open Sans|SemiBold" fontSize={4}>
{t('common:sortBy')}
{t('app:common.sortBy')}
</Text>
<Box
alignItems="center"
@ -213,7 +213,9 @@ class AccountsOrder extends Component<Props> {
fontSize={4}
horizontal
>
<Text color="dark">{t(`accountsOrder:${this.getCurrentValue() || 'balance'}`)}</Text>
<Text color="dark">
{t(`app:dashboard.accountsOrder.${this.getCurrentValue() || 'balance'}`)}
</Text>
<IconAngleDown size={16} />
</Box>
</DropDown>

8
src/components/DashboardPage/EmptyState.js

@ -43,8 +43,8 @@ class EmptyState extends PureComponent<Props, *> {
height="157"
/>
<Box mt={5} alignItems="center">
<Title>{t('emptyState:dashboard.title')}</Title>
<Description>{t('emptyState:dashboard.desc')}</Description>
<Title>{t('app:emptyState.dashboard.title')}</Title>
<Description>{t('app:emptyState.dashboard.desc')}</Description>
<Box mt={3} horizontal justifyContent="space-around" style={{ width: 300 }}>
<Button
padded
@ -52,10 +52,10 @@ class EmptyState extends PureComponent<Props, *> {
style={{ width: 120 }}
onClick={() => openModal('importAccounts')}
>
{t('emptyState:dashboard.buttons.addAccount')}
{t('app:emptyState.dashboard.buttons.addAccount')}
</Button>
<Button padded primary style={{ width: 120 }} onClick={this.handleInstallApp}>
{t('emptyState:dashboard.buttons.installApp')}
{t('app:emptyState.dashboard.buttons.installApp')}
</Button>
</Box>
</Box>

6
src/components/DashboardPage/index.js

@ -104,7 +104,7 @@ class DashboardPage extends PureComponent<Props, State> {
{t(timeFrame)}
</Text>
<Text color="grey" fontSize={5} ff="Museo Sans|Light">
{t('dashboard:summary', { count: totalAccounts })}
{t('app:dashboard.summary', { count: totalAccounts })}
</Text>
</Box>
<Box>
@ -136,7 +136,7 @@ class DashboardPage extends PureComponent<Props, State> {
<Box flow={4}>
<Box horizontal alignItems="flex-end">
<Text color="dark" ff="Museo Sans" fontSize={6}>
{t('sidebar:accounts')}
{t('app:sidebar.accounts')}
</Text>
<Box ml="auto" horizontal flow={1}>
<AccountsOrder />
@ -170,7 +170,7 @@ class DashboardPage extends PureComponent<Props, State> {
<OperationsList
onAccountClick={this.onAccountClick}
accounts={accounts}
title={t('dashboard:recentActivity')}
title={t('app:dashboard.recentActivity')}
withAccount
/>
)}

2
src/components/DeviceConnect/index.js

@ -220,7 +220,7 @@ class DeviceConnect extends PureComponent<Props> {
{hasMultipleDevices && (
<ListDevices>
<Box color="graphite" fontSize={3}>
{t('deviceConnect:step1.choose', { count: devices.length })}
{t('app:deviceConnect.step1.choose', { count: devices.length })}
</Box>
<Box flow={2}>
{devices.map(d => {

2
src/components/ExchangePage/ExchangeCard.js

@ -30,7 +30,7 @@ export default function ExchangeCard({ t, card }: { t: T, card: CardType }) {
<Box shrink ff="Open Sans|Regular" fontSize={4} flow={3}>
<Box>{desc}</Box>
<Box horizontal align="center" color="wallet" flow={1}>
<FakeLink>{t('exchange:visitWebsite')}</FakeLink>
<FakeLink>{t('app:exchange.visitWebsite')}</FakeLink>
<ExternalLinkIcon size={14} />
</Box>
</Box>

2
src/components/ExchangePage/index.js

@ -40,7 +40,7 @@ class ExchangePage extends PureComponent<Props> {
return (
<Box>
<Box ff="Museo Sans|Regular" color="dark" fontSize={7} mb={4}>
{t('exchange:title')}
{t('app:exchange.title')}
</Box>
<Box flow={5}>{cards.map(card => <ExchangeCard key={card.key} t={t} card={card} />)}</Box>
</Box>

2
src/components/ExportLogsBtn.js

@ -51,7 +51,7 @@ class ExportLogsBtn extends Component<{
const { t } = this.props
return (
<Button primary onClick={this.handleExportLogs}>
{t('settings:exportLogs.btn')}
{t('app:settings.exportLogs.btn')}
</Button>
)
}

2
src/components/FeesField/GenericContainer.js

@ -11,7 +11,7 @@ export default translate()(
({ help, children, t }: { help: string, children: React$Node, t: * }) => (
<Box flow={1}>
<Label>
<span>{t('send:steps.amount.fees')}</span>
<span>{t('app:send.steps.amount.fees')}</span>
{help ? <LabelInfoTooltip ml={1} text={help} /> : null}
</Label>
<Box horizontal flow={5}>

2
src/components/GenuineCheckModal/index.js

@ -36,7 +36,7 @@ class GenuineCheck extends PureComponent<Props, State> {
return (
<ModalBody onClose={onClose}>
<ModalTitle>{t('genuinecheck:modal.title')}</ModalTitle>
<ModalTitle>{t('app:genuinecheck.modal.title')}</ModalTitle>
<ModalContent>
<EnsureDeviceApp
deviceSelected={currentDevice}

2
src/components/GlobalSearch.js

@ -66,7 +66,7 @@ class GlobalSearch extends PureComponent<Props, State> {
<IconSearch size={16} />
</Box>
<Input
placeholder={t('common:search')}
placeholder={t('app:common.search')}
innerRef={input => (this._input = input)}
onBlur={this.handleBlur}
onFocus={this.handleFocus}

10
src/components/IsUnlocked.js

@ -127,20 +127,20 @@ class IsUnlocked extends Component<Props, State> {
<form onSubmit={this.handleSubmit}>
<Box align="center">
<IconLockScreen size={136} />
<PageTitle>{t('common:lockScreen.title')}</PageTitle>
<PageTitle>{t('app:common.lockScreen.title')}</PageTitle>
<LockScreenDesc>
{t('common:lockScreen.subTitle')}
{t('app:common.lockScreen.subTitle')}
<br />
{t('common:lockScreen.description')}
{t('app:common.lockScreen.description')}
</LockScreenDesc>
<Box style={{ minWidth: 230 }}>
<InputPassword
autoFocus
placeholder={t('common:lockScreen.inputPlaceholder')}
placeholder={t('app:common.lockScreen.inputPlaceholder')}
type="password"
onChange={this.handleChangeInput('password')}
value={inputValue.password}
error={incorrectPassword && t('password:errorMessageIncorrectPassword')}
error={incorrectPassword && t('app:password.errorMessageIncorrectPassword')}
/>
</Box>
</Box>

18
src/components/MainSideBar/index.js

@ -77,7 +77,7 @@ class MainSideBar extends PureComponent<Props> {
const addAccountButton = (
<AddAccountButton
tooltipText={t('importAccounts:title')}
tooltipText={t('app:importAccounts.title')}
onClick={this.handleOpenImportModal}
/>
)
@ -86,9 +86,9 @@ class MainSideBar extends PureComponent<Props> {
<Box relative bg="white" style={{ width: 230 }}>
<GrowScroll>
<Space of={70} />
<SideBarList title={t('sidebar:menu')}>
<SideBarList title={t('app:sidebar.menu')}>
<SideBarListItem
label={t('dashboard:title')}
label={t('app:dashboard.title')}
icon={IconPieChart}
iconActiveColor={'wallet'}
onClick={this.handleClickDashboard}
@ -96,26 +96,26 @@ class MainSideBar extends PureComponent<Props> {
hasNotif={updateStatus === 'downloaded'}
/>
<SideBarListItem
label={t('send:title')}
label={t('app:send.title')}
icon={IconSend}
iconActiveColor={'wallet'}
onClick={this.handleOpenSendModal}
/>
<SideBarListItem
label={t('receive:title')}
label={t('app:receive.title')}
icon={IconReceive}
iconActiveColor={'wallet'}
onClick={this.handleOpenReceiveModal}
/>
<SideBarListItem
label={t('sidebar:manager')}
label={t('app:sidebar.manager')}
icon={IconManager}
iconActiveColor={'wallet'}
onClick={this.handleClickManager}
isActive={pathname === '/manager'}
/>
<SideBarListItem
label={t('sidebar:exchange')}
label={t('app:sidebar.exchange')}
icon={IconExchange}
iconActiveColor={'wallet'}
onClick={this.handleClickExchange}
@ -124,9 +124,9 @@ class MainSideBar extends PureComponent<Props> {
</SideBarList>
<Space of={40} />
<SideBarList
title={t('sidebar:accounts', { count: accounts.length })}
title={t('app:sidebar.accounts', { count: accounts.length })}
titleRight={addAccountButton}
emptyText={t('emptyState:sidebar.text')}
emptyText={t('app:emptyState.sidebar.text')}
>
{accounts.map(account => (
<AccountListItem

4
src/components/ManagerPage/AppsList.js

@ -169,12 +169,12 @@ class AppsList extends PureComponent<Props, State> {
<Box flow={6}>
<Box>
<Box mb={4} color="dark" ff="Museo Sans" fontSize={5} flow={2} horizontal>
<span>{t('manager:allApps')}</span>
<span>{t('app:manager.allApps')}</span>
<span>
<Tooltip
render={() => (
<Box ff="Open Sans|SemiBold" fontSize={2}>
{t('manager:apps.help')}
{t('app:manager.apps.help')}
</Box>
)}
>

2
src/components/ManagerPage/FinalFirmwareUpdate.js

@ -41,7 +41,7 @@ class FirmwareUpdate extends PureComponent<Props, State> {
return (
<Box flow={4} {...props}>
<Box color="dark" ff="Museo Sans" fontSize={6}>
{t('manager:firmwareUpdate')}
{t('app:manager.firmwareUpdate')}
</Box>
<Card flow={2} {...props}>
<Box horizontal align="center" flow={2} />

2
src/components/ManagerPage/ManagerApp.js

@ -65,7 +65,7 @@ function ManagerApp(props: Props) {
</Text>
</Box>
<Button outline onClick={onInstall}>
{t('manager:installApps')}
{t('app:manager.installApps')}
</Button>
<Button outline onClick={onUninstall} outlineColor="grey">
<Trash size={16} fill="grey" />

6
src/components/ManagerPage/PlugYourDevice.js

@ -19,12 +19,12 @@ function PlugYourDevice(props: Props) {
<Box align="center" style={{ width: 365 }}>
<Box mb={5}>hey</Box>
<Box textAlign="center" mb={1} ff="Museo Sans|Regular" color="dark" fontSize={6}>
{t('manager:plugYourDevice.title')}
{t('app:manager.plugYourDevice.title')}
</Box>
<Box textAlign="center" mb={5} ff="Open Sans|Regular" color="smoke" fontSize={4}>
{t('manager:plugYourDevice.desc')}
{t('app:manager.plugYourDevice.desc')}
</Box>
<Button primary>{t('manager:plugYourDevice.cta')}</Button>
<Button primary>{t('app:manager.plugYourDevice.cta')}</Button>
</Box>
</Card>
)

4
src/components/ManagerPage/UpdateFirmwareButton.js

@ -22,10 +22,10 @@ const UpdateFirmwareButton = ({ t, firmware, installFirmware }: Props) =>
firmware ? (
<Fragment>
<Text ff="Open Sans|Regular" fontSize={4} style={{ marginLeft: 'auto', marginRight: 15 }}>
{t('manager:latestFirmware', { version: firmware.name })}
{t('app:manager.latestFirmware', { version: firmware.name })}
</Text>
<Button primary onClick={installFirmware}>
{t('manager:installFirmware')}
{t('app:manager.installFirmware')}
</Button>
</Fragment>
) : null

4
src/components/ManagerPage/Workflow.js

@ -156,10 +156,10 @@ class Workflow extends PureComponent<Props, State> {
color="black"
style={{ marginBottom: 10 }}
>
{t('manager:plugYourDevice:title')}
{t('app:manager.plugYourDevice:title')}
</Text>
<Text ff="Museo Sans|Light" fontSize={5} color="grey" align="center">
{t('manager:plugYourDevice:desc')}
{t('app:manager.plugYourDevice:desc')}
</Text>
</Box>
<Box flow={4} style={{ maxWidth: 460, padding: '60px 10px 0' }}>

4
src/components/ManagerPage/index.js

@ -40,10 +40,10 @@ class ManagerPage extends PureComponent<Props, State> {
<Box flow={4}>
<Box>
<Text ff="Museo Sans|Regular" fontSize={7} color="black">
{t('manager:title')}
{t('app:manager.title')}
</Text>
<Text ff="Museo Sans|Light" fontSize={5}>
{t('manager:subtitle')}
{t('app:manager.subtitle')}
</Text>
</Box>
<Box mt={7}>

4
src/components/Onboarding/OnboardingFooter.js

@ -35,10 +35,10 @@ const OnboardingFooter = ({
}: Props) => (
<Wrapper {...props}>
<Button padded outlineGrey onClick={() => prevStep()}>
{t('common:back')}
{t('app:common.back')}
</Button>
<Button padded disabled={isContinueDisabled} primary onClick={() => nextStep()} ml="auto">
{t('common:continue')}
{t('app:common.continue')}
</Button>
</Wrapper>
)

6
src/components/Onboarding/steps/GenuineCheck.js

@ -49,12 +49,12 @@ class GenuineCheck extends PureComponent<StepProps, State> {
const { t } = this.props
return [
{
label: t('common:yes'),
label: t('app:common.yes'),
key: 'yes',
pass: true,
},
{
label: t('common:no'),
label: t('app:common.no'),
key: 'no',
pass: false,
},
@ -254,7 +254,7 @@ export function GenuineCheckFail({
redoGenuineCheck()
}}
>
{t('common:back')}
{t('app:common.back')}
</Button>
<Button
padded

6
src/components/Onboarding/steps/SetPassword.js

@ -119,11 +119,11 @@ class SetPassword extends PureComponent<StepProps, State> {
<CustomFooter>
<Button padded outlineGrey onClick={() => prevStep()}>
{t('common:back')}
{t('app:common.back')}
</Button>
<Box horizontal ml="auto">
<Button padded disabled={false} onClick={() => nextStep()} mx={2}>
{t('common:skipThisStep')}
{t('app:common.skipThisStep')}
</Button>
<Button
padded
@ -131,7 +131,7 @@ class SetPassword extends PureComponent<StepProps, State> {
disabled={!this.isValid() || !newPassword.length || !confirmPassword.length}
primary
>
{t('common:continue')}
{t('app:common.continue')}
</Button>
</Box>
</CustomFooter>

2
src/components/OperationsList/DateCell.js

@ -29,7 +29,7 @@ class DateCell extends PureComponent<Props> {
return (
<Cell>
<Box ff="Open Sans|SemiBold" fontSize={3} color="smoke">
{t(`operationsList:${operation.type}`)}
{t(`app:operation.type.${operation.type}`)}
</Box>
<OperationDate date={operation.date} />
</Cell>

2
src/components/OperationsList/index.js

@ -139,7 +139,7 @@ export class OperationsList extends PureComponent<Props, State> {
))}
{!groupedOperations.completed ? (
<ShowMore onClick={this.fetchMoreOperations}>
<span>{t('operationsList:showMore')}</span>
<span>{t('app:common.showMore')}</span>
<IconAngleDown size={12} />
</ShowMore>
) : (

2
src/components/RequestAmount/index.js

@ -170,7 +170,7 @@ export class RequestAmount extends PureComponent<Props> {
{withMax && (
<Box grow justify="flex-end">
<Button primary onClick={this.handleClickMax}>
{t('common:max')}
{t('app:common.max')}
</Button>
</Box>
)}

2
src/components/SelectAccount/index.js

@ -66,7 +66,7 @@ const RawSelectAccount = ({ accounts, onChange, value, t, ...props }: Props) =>
options={options}
renderValue={renderOption}
renderOption={renderOption}
placeholder={t('common:selectAccount')}
placeholder={t('app:common.selectAccount')}
onChange={onChange}
/>
)

2
src/components/SelectCurrency/index.js

@ -39,7 +39,7 @@ const SelectCurrency = ({ onChange, value, t, placeholder, currencies, ...props
renderOption={renderOption}
renderValue={renderOption}
options={options}
placeholder={placeholder || t('common:selectCurrency')}
placeholder={placeholder || t('app:common.selectCurrency')}
onChange={item => onChange(item ? item.currency : null)}
{...props}
/>

16
src/components/SettingsPage/DisablePasswordModal.js

@ -71,24 +71,26 @@ class DisablePasswordModal extends PureComponent<Props, State> {
render={({ onClose }) => (
<form onSubmit={this.disablePassword}>
<ModalBody onClose={onClose}>
<ModalTitle>{t('password:disablePassword.title')}</ModalTitle>
<ModalTitle>{t('app:password.disablePassword.title')}</ModalTitle>
<ModalContent>
<Box ff="Open Sans" color="smoke" fontSize={4} textAlign="center" px={4}>
{t('password:disablePassword.desc')}
{t('app:password.disablePassword.desc')}
<Box px={7} mt={4} flow={3}>
{isPasswordEnabled && (
<Box flow={1}>
<Label htmlFor="password">
{t('password:inputFields.currentPassword.label')}
{t('app:password.inputFields.currentPassword.label')}
</Label>
<InputPassword
autoFocus
type="password"
placeholder={t('password:inputFields.currentPassword.placeholder')}
placeholder={t('app:password.inputFields.currentPassword.placeholder')}
id="password"
onChange={this.handleInputChange('currentPassword')}
value={currentPassword}
error={incorrectPassword && t('password:errorMessageIncorrectPassword')}
error={
incorrectPassword && t('app:password.errorMessageIncorrectPassword')
}
/>
</Box>
)}
@ -97,7 +99,7 @@ class DisablePasswordModal extends PureComponent<Props, State> {
</ModalContent>
<ModalFooter horizontal align="center" justify="flex-end" flow={2}>
<Button type="button" padded onClick={onClose}>
{t('common:cancel')}
{t('app:common.cancel')}
</Button>
<Button
primary
@ -105,7 +107,7 @@ class DisablePasswordModal extends PureComponent<Props, State> {
onClick={this.disablePassword}
disabled={!currentPassword && !incorrectPassword}
>
{t('common:save')}
{t('app:common.save')}
</Button>
</ModalFooter>
</ModalBody>

16
src/components/SettingsPage/PasswordForm.js

@ -40,24 +40,24 @@ class PasswordForm extends PureComponent<Props> {
{isPasswordEnabled && (
<Box flow={1} mb={5}>
<Label htmlFor="currentPassword">
{t('password:inputFields.currentPassword.label')}
{t('app:password.inputFields.currentPassword.label')}
</Label>
<InputPassword
autoFocus
placeholder={t('password:inputFields.currentPassword.placeholder')}
placeholder={t('app:password.inputFields.currentPassword.placeholder')}
id="currentPassword"
onChange={onChange('currentPassword')}
value={currentPassword}
error={incorrectPassword && t('password:errorMessageIncorrectPassword')}
error={incorrectPassword && t('app:password.errorMessageIncorrectPassword')}
/>
</Box>
)}
<Box flow={1}>
<Label htmlFor="newPassword">{t('password:inputFields.newPassword.label')}</Label>
<Label htmlFor="newPassword">{t('app:password.inputFields.newPassword.label')}</Label>
<InputPassword
style={{ mt: 4, width: 240 }}
autoFocus={!isPasswordEnabled}
placeholder={t('password:inputFields.newPassword.placeholder')}
placeholder={t('app:password.inputFields.newPassword.placeholder')}
id="newPassword"
onChange={onChange('newPassword')}
value={newPassword}
@ -65,18 +65,18 @@ class PasswordForm extends PureComponent<Props> {
</Box>
<Box flow={1}>
<Label htmlFor="confirmPassword">
{t('password:inputFields.confirmPassword.label')}
{t('app:password.inputFields.confirmPassword.label')}
</Label>
<InputPassword
style={{ width: 240 }}
placeholder={t('password:inputFields.confirmPassword.placeholder')}
placeholder={t('app:password.inputFields.confirmPassword.placeholder')}
id="confirmPassword"
onChange={onChange('confirmPassword')}
value={confirmPassword}
error={
!isValid() &&
confirmPassword.length > 0 &&
t('password:errorMessageNotMatchingPassword')
t('app:password.errorMessageNotMatchingPassword')
}
/>
</Box>

16
src/components/SettingsPage/PasswordModal.js

@ -83,20 +83,20 @@ class PasswordModal extends PureComponent<Props, State> {
render={({ onClose }) => (
<ModalBody onClose={onClose}>
{isPasswordEnabled ? (
<ModalTitle>{t('password:changePassword.title')}</ModalTitle>
<ModalTitle>{t('app:password.changePassword.title')}</ModalTitle>
) : (
<ModalTitle>{t('password:setPassword.title')}</ModalTitle>
<ModalTitle>{t('app:password.setPassword.title')}</ModalTitle>
)}
<ModalContent>
<Box ff="Museo Sans|Regular" color="dark" textAlign="center" mb={2} mt={3}>
{isPasswordEnabled
? t('password:changePassword.subTitle')
: t('password:setPassword.subTitle')}
? t('app:password.changePassword.subTitle')
: t('app:password.setPassword.subTitle')}
</Box>
<Box ff="Open Sans" color="smoke" fontSize={4} textAlign="center" px={4}>
{isPasswordEnabled
? t('password:changePassword.desc')
: t('password:setPassword.desc')}
? t('app:password.changePassword.desc')
: t('app:password.setPassword.desc')}
</Box>
<PasswordForm
onSubmit={this.handleSave}
@ -112,7 +112,7 @@ class PasswordModal extends PureComponent<Props, State> {
</ModalContent>
<ModalFooter horizontal align="center" justify="flex-end" flow={2}>
<Button type="button" padded onClick={onClose}>
{t('common:cancel')}
{t('app:common.cancel')}
</Button>
<Button
padded
@ -120,7 +120,7 @@ class PasswordModal extends PureComponent<Props, State> {
onClick={this.handleSave}
disabled={!this.isValid() || !newPassword.length || !confirmPassword.length}
>
{t('common:save')}
{t('app:common.save')}
</Button>
</ModalFooter>
</ModalBody>

10
src/components/SettingsPage/index.js

@ -52,22 +52,22 @@ class SettingsPage extends PureComponent<Props, State> {
this._items = [
{
key: 'display',
label: props.t('settings:tabs.display'),
label: props.t('app:settings.tabs.display'),
value: p => () => <SectionDisplay {...p} />,
},
{
key: 'currencies',
label: props.t('settings:tabs.currencies'),
label: props.t('app:settings.tabs.currencies'),
value: p => () => <SectionCurrencies {...p} />,
},
{
key: 'profile',
label: props.t('settings:tabs.profile'),
label: props.t('app:settings.tabs.profile'),
value: p => () => <SectionProfile {...p} />,
},
{
key: 'about',
label: props.t('settings:tabs.about'),
label: props.t('app:settings.tabs.about'),
value: p => () => <SectionAbout {...p} />,
},
]
@ -116,7 +116,7 @@ class SettingsPage extends PureComponent<Props, State> {
return (
<Box>
<Box ff="Museo Sans|Regular" color="dark" fontSize={7} mb={5}>
{t('settings:title')}
{t('app:settings.title')}
</Box>
<Pills mb={4} items={this._items} activeKey={tab.key} onChange={this.handleChangeTab} />
<Switch>

14
src/components/SettingsPage/sections/About.js

@ -28,28 +28,28 @@ class SectionAbout extends PureComponent<Props> {
<Section>
<Header
icon={<IconHelp size={16} />}
title={t('settings:tabs.about')}
title={t('app:settings.tabs.about')}
desc="Lorem ipsum dolor sit amet"
/>
<Body>
<Row
onClick={this.handleOpenLink('https://support.ledgerwallet.com/hc/en-us')}
title={t('settings:about.faq')}
desc={t('settings:about.faqDesc')}
title={t('app:settings.about.faq')}
desc={t('app:settings.about.faqDesc')}
>
<IconExternalLink size={16} />
</Row>
<Row
onClick={this.handleOpenLink('https://support.ledgerwallet.com/hc/en-us/requests/new')}
title={t('settings:about.contactUs')}
desc={t('settings:about.contactUsDesc')}
title={t('app:settings.about.contactUs')}
desc={t('app:settings.about.contactUsDesc')}
>
<IconExternalLink size={16} />
</Row>
<Row
onClick={this.handleOpenLink('https://www.ledgerwallet.com/terms')}
title={t('settings:about.terms')}
desc={t('settings:about.termsDesc')}
title={t('app:settings.about.terms')}
desc={t('app:settings.about.termsDesc')}
>
<IconExternalLink size={16} />
</Row>

6
src/components/SettingsPage/sections/Currencies.js

@ -96,7 +96,7 @@ class TabCurrencies extends PureComponent<Props, State> {
<Section key={currency.id}>
<Header
icon={<IconCurrencies size={16} />}
title={t('settings:tabs.currencies')}
title={t('app:settings.tabs.currencies')}
desc="Lorem ipsum dolor sit amet"
renderRight={
// TODO this should only be the subset of currencies of the app
@ -127,8 +127,8 @@ class TabCurrencies extends PureComponent<Props, State> {
) : null}
{defaults.confirmationsNb ? (
<Row
title={t('settings:currencies.confirmationsNb')}
desc={t('settings:currencies.confirmationsNbDesc')}
title={t('app:settings.currencies.confirmationsNb')}
desc={t('app:settings.currencies.confirmationsNbDesc')}
>
<StepperNumber
min={defaults.confirmationsNb.min}

19
src/components/SettingsPage/sections/Display.js

@ -69,11 +69,11 @@ class TabProfile extends PureComponent<Props, State> {
const { t } = this.props
return [
{
label: t('common:eastern'),
label: t('app:common.eastern'),
key: 'eastern',
},
{
label: t('common:western'),
label: t('app:common.western'),
key: 'western',
},
]
@ -145,13 +145,13 @@ class TabProfile extends PureComponent<Props, State> {
<Section>
<Header
icon={<IconDisplay size={16} />}
title={t('settings:tabs.display')}
title={t('app:settings.tabs.display')}
desc="Lorem ipsum dolor sit amet"
/>
<Body>
<Row
title={t('settings:display.counterValue')}
desc={t('settings:display.counterValueDesc')}
title={t('app:settings.display.counterValue')}
desc={t('app:settings.display.counterValueDesc')}
>
<Box horizontal flow={2}>
<Select
@ -177,7 +177,10 @@ class TabProfile extends PureComponent<Props, State> {
title={`Exchange (${intermediaryCurrency.ticker}${counterValueCurrency.ticker})`}
desc="The exchange to use for countervalue conversion"
/>
<Row title={t('settings:display.language')} desc={t('settings:display.languageDesc')}>
<Row
title={t('app:settings.display.language')}
desc={t('app:settings.display.languageDesc')}
>
<Select
small
minWidth={250}
@ -188,7 +191,7 @@ class TabProfile extends PureComponent<Props, State> {
options={languages}
/>
</Row>
<Row title={t('settings:display.region')} desc={t('settings:display.regionDesc')}>
<Row title={t('app:settings.display.region')} desc={t('app:settings.display.regionDesc')}>
<Select
small
minWidth={250}
@ -198,7 +201,7 @@ class TabProfile extends PureComponent<Props, State> {
options={regionsFiltered}
/>
</Row>
<Row title={t('settings:display.stock')} desc={t('settings:display.stockDesc')}>
<Row title={t('app:settings.display.stock')} desc={t('app:settings.display.stockDesc')}>
<RadioGroup
items={this.getMarketIndicators()}
activeKey={cachedMarketIndicator}

48
src/components/SettingsPage/sections/Profile.js

@ -139,58 +139,64 @@ class TabProfile extends PureComponent<Props, State> {
<Section>
<Header
icon={<IconUser size={16} />}
title={t('settings:tabs.profile')}
title={t('app:settings.tabs.profile')}
desc="Lorem ipsum dolor sit amet"
/>
<Body>
<Row title={t('settings:profile.password')} desc={t('settings:profile.passwordDesc')}>
<Row
title={t('app:settings.profile.password')}
desc={t('app:settings.profile.passwordDesc')}
>
<Box horizontal flow={2} align="center">
{isPasswordEnabled && (
<Button onClick={this.handleOpenPasswordModal}>
{t('settings:profile.changePassword')}
{t('app:settings.profile.changePassword')}
</Button>
)}
<CheckBox isChecked={isPasswordEnabled} onChange={this.handleChangePasswordCheck} />
</Box>
</Row>
<Row
title={t('settings:profile.developerMode')}
desc={t('settings:profile.developerModeDesc')}
title={t('app:settings.profile.developerMode')}
desc={t('app:settings.profile.developerModeDesc')}
>
<CheckBox isChecked={settings.developerMode} onChange={this.handleDeveloperMode} />
</Row>
<Row
title={t('settings:profile.reportErrors')}
desc={t('settings:profile.reportErrorsDesc')}
title={t('app:settings.profile.reportErrors')}
desc={t('app:settings.profile.reportErrorsDesc')}
>
<CheckBox
isChecked={settings.sentryLogs}
onChange={sentryLogs => saveSettings({ sentryLogs })}
/>
</Row>
<Row title={t('settings:profile.analytics')} desc={t('settings:profile.analyticsDesc')}>
<Row
title={t('app:settings.profile.analytics')}
desc={t('app:settings.profile.analyticsDesc')}
>
<CheckBox
isChecked={settings.shareAnalytics}
onChange={shareAnalytics => saveSettings({ shareAnalytics })}
/>
</Row>
<Row
title={t('settings:profile.softResetTitle')}
desc={t('settings:profile.softResetDesc')}
title={t('app:settings.profile.softResetTitle')}
desc={t('app:settings.profile.softResetDesc')}
>
<Button primary onClick={this.handleOpenSoftResetModal}>
{t('settings:profile.softReset')}
{t('app:settings.profile.softReset')}
</Button>
</Row>
<Row
title={t('settings:profile.hardResetTitle')}
desc={t('settings:profile.hardResetDesc')}
title={t('app:settings.profile.hardResetTitle')}
desc={t('app:settings.profile.hardResetDesc')}
>
<Button danger onClick={this.handleOpenHardResetModal}>
{t('settings:profile.hardReset')}
{t('app:settings.profile.hardReset')}
</Button>
</Row>
<Row title={t('settings:exportLogs.title')} desc={t('settings:exportLogs.desc')}>
<Row title={t('app:settings.exportLogs.title')} desc={t('app:settings.exportLogs.desc')}>
<ExportLogsBtn />
</Row>
</Body>
@ -201,9 +207,9 @@ class TabProfile extends PureComponent<Props, State> {
onClose={this.handleCloseSoftResetModal}
onReject={this.handleCloseSoftResetModal}
onConfirm={this.handleSoftReset}
title={t('settings:softResetModal.title')}
subTitle={t('settings:softResetModal.subTitle')}
desc={t('settings:softResetModal.desc')}
title={t('app:settings.softResetModal.title')}
subTitle={t('app:settings.softResetModal.subTitle')}
desc={t('app:settings.softResetModal.desc')}
/>
<ConfirmModal
@ -213,9 +219,9 @@ class TabProfile extends PureComponent<Props, State> {
onClose={this.handleCloseHardResetModal}
onReject={this.handleCloseHardResetModal}
onConfirm={this.handleHardReset}
title={t('settings:hardResetModal.title')}
subTitle={t('settings:hardResetModal.subTitle')}
desc={t('settings:hardResetModal.desc')}
title={t('app:settings.hardResetModal.title')}
subTitle={t('app:settings.hardResetModal.subTitle')}
desc={t('app:settings.hardResetModal.desc')}
/>
<PasswordModal

8
src/components/TopBar/ActivityIndicator.js

@ -100,21 +100,21 @@ class ActivityIndicatorInner extends Component<Props, State> {
align="center"
>
{isRotating ? (
t('common:sync.syncing')
t('app:common.sync.syncing')
) : isError ? (
<Fragment>
<Box>{t('common:sync.error')}</Box>
<Box>{t('app:common.sync.error')}</Box>
<Box
ml={2}
cursor="pointer"
style={{ textDecoration: 'underline', pointerEvents: 'all' }}
onClick={this.handleRefresh}
>
{t('common:sync.refresh')}
{t('app:common.sync.refresh')}
</Box>
</Fragment>
) : (
t('common:sync.upToDate')
t('app:common.sync.upToDate')
)}
</Box>
</ItemContainer>

4
src/components/UpdateNotifier/UpdateDownloaded.js

@ -62,13 +62,13 @@ class UpdateDownloaded extends PureComponent<Props> {
return (
<Box horizontal flow={3}>
<UpdateIcon size={16} />
<NotifText>{t('update:newVersionReady')}</NotifText>
<NotifText>{t('app:update.newVersionReady')}</NotifText>
<Box ml="auto">
<NotifText
style={{ cursor: 'pointer', textDecoration: 'underline' }}
onClick={() => sendEvent('updater', 'quitAndInstall')}
>
{t('update:relaunch')}
{t('app:update.relaunch')}
</NotifText>
</Box>
</Box>

2
src/components/base/InputPassword/index.js

@ -116,7 +116,7 @@ class InputPassword extends PureComponent<Props, State> {
</Box>
{hasValue && (
<Warning passwordStrength={passwordStrength}>
{t(`password:warning_${passwordStrength}`)}
{t(`app:password.warning_${passwordStrength}`)}
</Warning>
)}
</Fragment>

4
src/components/base/Modal/ConfirmModal.js

@ -41,8 +41,8 @@ class ConfirmModal extends PureComponent<Props> {
...props
} = this.props
const realConfirmText = confirmText || t('common:confirm')
const realCancelText = cancelText || t('common:cancel')
const realConfirmText = confirmText || t('app:common.confirm')
const realCancelText = cancelText || t('app:common.cancel')
return (
<Modal
isOpened={isOpened}

2
src/components/base/Modal/ModalTitle.js

@ -56,7 +56,7 @@ function ModalTitle({
{onBack && (
<Back onClick={onBack}>
<IconAngleLeft size={16} />
{t('common:back')}
{t('app:common.back')}
</Back>
)}
{children}

22
src/components/modals/AccountSettingRenderBody.js

@ -141,12 +141,12 @@ class HelperComp extends PureComponent<Props, State> {
return (
<ModalBody onClose={onClose}>
<form onSubmit={this.handleSubmit(account, onClose)}>
<ModalTitle>{t('account:settings.title')}</ModalTitle>
<ModalTitle>{t('app:account.settings.title')}</ModalTitle>
<ModalContent mb={3}>
<Container>
<Box>
<OptionRowTitle>{t('account:settings.accountName.title')}</OptionRowTitle>
<OptionRowDesc>{t('account:settings.accountName.desc')}</OptionRowDesc>
<OptionRowTitle>{t('app:account.settings.accountName.title')}</OptionRowTitle>
<OptionRowDesc>{t('app:account.settings.accountName.desc')}</OptionRowDesc>
</Box>
<Box>
<Input
@ -154,14 +154,14 @@ class HelperComp extends PureComponent<Props, State> {
onChange={this.handleChangeName}
renderLeft={<InputLeft currency={account.currency} />}
onFocus={e => this.handleFocus(e, 'accountName')}
error={accountNameError && t('account:settings.accountName.error')}
error={accountNameError && t('app:account.settings.accountName.error')}
/>
</Box>
</Container>
<Container>
<Box>
<OptionRowTitle>{t('account:settings.unit.title')}</OptionRowTitle>
<OptionRowDesc>{t('account:settings.unit.desc')}</OptionRowDesc>
<OptionRowTitle>{t('app:account.settings.unit.title')}</OptionRowTitle>
<OptionRowDesc>{t('app:account.settings.unit.desc')}</OptionRowDesc>
</Box>
<Box style={{ width: 180 }}>
<Select
@ -195,10 +195,10 @@ class HelperComp extends PureComponent<Props, State> {
</ModalContent>
<ModalFooter horizontal>
<Button small danger type="button" onClick={this.handleOpenRemoveAccountModal}>
{t('common:delete')}
{t('app:common.delete')}
</Button>
<Button small ml="auto" type="submit" primary>
{t('common:apply')}
{t('app:common.apply')}
</Button>
</ModalFooter>
</form>
@ -208,9 +208,9 @@ class HelperComp extends PureComponent<Props, State> {
onClose={this.handleCloseRemoveAccountModal}
onReject={this.handleCloseRemoveAccountModal}
onConfirm={() => this.handleRemoveAccount(account)}
title={t('settings:removeAccountModal.title')}
subTitle={t('settings:removeAccountModal.subTitle')}
desc={t('settings:removeAccountModal.desc')}
title={t('app:settings.removeAccountModal.title')}
subTitle={t('app:settings.removeAccountModal.subTitle')}
desc={t('app:settings.removeAccountModal.desc')}
/>
</ModalBody>
)

10
src/components/modals/ImportAccounts/index.js

@ -29,7 +29,7 @@ import StepFinish from './steps/04-step-finish'
const createSteps = ({ t }: { t: T }) => [
{
id: 'chooseCurrency',
label: t('importAccounts:breadcrumb.informations'),
label: t('app:importAccounts.breadcrumb.informations'),
component: StepChooseCurrency,
footer: StepChooseCurrencyFooter,
onBack: null,
@ -37,7 +37,7 @@ const createSteps = ({ t }: { t: T }) => [
},
{
id: 'connectDevice',
label: t('importAccounts:breadcrumb.connectDevice'),
label: t('app:importAccounts.breadcrumb.connectDevice'),
component: StepConnectDevice,
footer: StepConnectDeviceFooter,
onBack: ({ transitionTo }: StepProps) => transitionTo('chooseCurrency'),
@ -45,7 +45,7 @@ const createSteps = ({ t }: { t: T }) => [
},
{
id: 'import',
label: t('importAccounts:breadcrumb.import'),
label: t('app:importAccounts.breadcrumb.import'),
component: StepImport,
footer: StepImportFooter,
onBack: ({ transitionTo }: StepProps) => transitionTo('chooseCurrency'),
@ -53,7 +53,7 @@ const createSteps = ({ t }: { t: T }) => [
},
{
id: 'finish',
label: t('importAccounts:breadcrumb.finish'),
label: t('app:importAccounts.breadcrumb.finish'),
component: StepFinish,
footer: null,
onBack: null,
@ -203,7 +203,7 @@ class ImportAccounts extends PureComponent<Props, State> {
<ModalBody onClose={onClose}>
<SyncSkipUnderPriority priority={100} />
<ModalTitle onBack={onBack ? () => onBack(stepProps) : void 0}>
{t('importAccounts:title')}
{t('app:importAccounts.title')}
</ModalTitle>
<ModalContent>
<Breadcrumb mb={6} currentStep={stepIndex} items={this.STEPS} />

2
src/components/modals/ImportAccounts/steps/01-step-choose-currency.js

@ -27,7 +27,7 @@ export function StepChooseCurrencyFooter({ transitionTo, currency, t }: StepProp
<Fragment>
{currency && <CurrencyBadge mr="auto" currency={currency} />}
<Button primary disabled={!currency} onClick={() => transitionTo('connectDevice')}>
{t('common:next')}
{t('app:common.next')}
</Button>
</Fragment>
)

2
src/components/modals/ImportAccounts/steps/02-step-connect-device.js

@ -45,7 +45,7 @@ function StepConnectDevice({ t, currency, currentDevice, setState }: StepProps)
export function StepConnectDeviceFooter({ t, transitionTo, isAppOpened }: StepProps) {
return (
<Button primary disabled={!isAppOpened} onClick={() => transitionTo('import')}>
{t('common:next')}
{t('app:common.next')}
</Button>
)
}

16
src/components/modals/ImportAccounts/steps/03-step-import.js

@ -160,7 +160,7 @@ class StepImport extends PureComponent<StepProps> {
fontSize={2}
style={{ textTransform: 'uppercase' }}
>
{t('importAccounts:accountToImportSubtitle', {
{t('app:importAccounts.accountToImportSubtitle', {
count: importableAccounts.length,
})}
</Box>
@ -170,8 +170,8 @@ class StepImport extends PureComponent<StepProps> {
fontSize={3}
>
{isAllSelected
? t('importAccounts:unselectAll')
: t('importAccounts:selectAll')}
? t('app:importAccounts.unselectAll')
: t('app:importAccounts.selectAll')}
</FakeLink>
</Box>
)}
@ -211,7 +211,7 @@ class StepImport extends PureComponent<StepProps> {
fontSize={2}
style={{ textTransform: 'uppercase' }}
>
{t('importAccounts:createNewAccount')}
{t('app:importAccounts.createNewAccount')}
</Box>
</Box>
<AccountRow
@ -231,7 +231,7 @@ class StepImport extends PureComponent<StepProps> {
<Button small outline onClick={this.handleRetry}>
<Box horizontal flow={2} align="center">
<IconExchange size={13} />
<span>{t('importAccounts:retrySync')}</span>
<span>{t('app:importAccounts.retrySync')}</span>
</Box>
</Button>
)}
@ -278,12 +278,12 @@ export const StepImportFooter = ({
const ctaWording =
willCreateAccount && willImportAccounts
? `${t('importAccounts:cta.create')} / ${t('importAccounts:cta.import', {
? `${t('app:importAccounts.cta.create')} / ${t('app:importAccounts.cta.import', {
count: importedAccountsCount,
})}`
: willCreateAccount
? t('importAccounts:cta.create')
: t('importAccounts:cta.import', { count: importedAccountsCount })
? t('app:importAccounts.cta.create')
: t('app:importAccounts.cta.import', { count: importedAccountsCount })
return (
<Button

4
src/components/modals/OperationDetails.js

@ -149,7 +149,9 @@ const OperationDetails = connect(mapStateToProps)((props: Props) => {
<ColLeft>Status</ColLeft>
<ColRight color={isConfirmed ? 'positiveGreen' : null} horizontal flow={1}>
<Box>
{isConfirmed ? t('operationDetails:confirmed') : t('operationDetails:notConfirmed')}
{isConfirmed
? t('app:operationDetails.confirmed')
: t('app:operationDetails.notConfirmed')}
</Box>
<Box>{`(${confirmations})`}</Box>
</ColRight>

2
src/components/modals/PrevButton.js

@ -29,7 +29,7 @@ const PrevButton = ({ t, ...props }: Props) => (
<Wrapper {...props}>
<Box horizontal alignItems="center">
<IconAngleLeft size={16} />
{t('common:back')}
{t('app:common.back')}
</Box>
</Wrapper>
)

2
src/components/modals/Receive/01-step-account.js

@ -17,7 +17,7 @@ type Props = {
export default (props: Props) => (
<Box flow={1}>
<Label>{props.t('receive:steps.chooseAccount.label')}</Label>
<Label>{props.t('app:receive.steps.chooseAccount.label')}</Label>
<SelectAccount onChange={props.onChangeAccount} value={props.account} />
</Box>
)

8
src/components/modals/Receive/03-step-confirm-address.js

@ -40,14 +40,14 @@ export default (props: Props) => (
<Container>
{props.addressVerified === false ? (
<Fragment>
<Title>{props.t('receive:steps.confirmAddress.error.title')}</Title>
<Text mb={5}>{props.t('receive:steps.confirmAddress.error.text')}</Text>
<Title>{props.t('app:receive.steps.confirmAddress.error.title')}</Title>
<Text mb={5}>{props.t('app:receive.steps.confirmAddress.error.text')}</Text>
<DeviceConfirm error />
</Fragment>
) : (
<Fragment>
<Title>{props.t('receive:steps.confirmAddress.action')}</Title>
<Text>{props.t('receive:steps.confirmAddress.text')}</Text>
<Title>{props.t('app:receive.steps.confirmAddress.action')}</Title>
<Text>{props.t('app:receive.steps.confirmAddress.text')}</Text>
{props.account && <CurrentAddressForAccount account={props.account} />}
{props.device &&
props.account && <DeviceConfirm mb={2} mt={-1} error={props.addressVerified === false} />}

2
src/components/modals/Receive/04-step-receive-funds.js

@ -22,7 +22,7 @@ type Props = {
export default (props: Props) => (
<Box flow={5}>
<Box flow={1}>
<Label>{props.t('receive:steps.receiveFunds.label')}</Label>
<Label>{props.t('app:receive.steps.receiveFunds.label')}</Label>
<RequestAmount
account={props.account}
onChange={props.onChangeAmount}

18
src/components/modals/Receive/index.js

@ -40,10 +40,10 @@ type State = {
}
const GET_STEPS = t => [
{ label: t('receive:steps.chooseAccount.title'), Comp: StepAccount },
{ label: t('receive:steps.connectDevice.title'), Comp: StepConnectDevice },
{ label: t('receive:steps.confirmAddress.title'), Comp: StepConfirmAddress },
{ label: t('receive:steps.receiveFunds.title'), Comp: StepReceiveFunds },
{ label: t('app:receive.steps.chooseAccount.title'), Comp: StepAccount },
{ label: t('app:receive.steps.connectDevice.title'), Comp: StepConnectDevice },
{ label: t('app:receive.steps.confirmAddress.title'), Comp: StepConfirmAddress },
{ label: t('app:receive.steps.receiveFunds.title'), Comp: StepReceiveFunds },
]
const INITIAL_STATE = {
@ -272,7 +272,7 @@ class ReceiveModal extends PureComponent<Props, State> {
props = {
primary: true,
onClick: this.handleRetryCheckAddress,
children: t('common:retry'),
children: t('app:common.retry'),
}
break
default:
@ -281,7 +281,7 @@ class ReceiveModal extends PureComponent<Props, State> {
primary: true,
disabled: !this.canNext(),
onClick,
children: t('common:next'),
children: t('app:common.next'),
}
}
@ -289,12 +289,12 @@ class ReceiveModal extends PureComponent<Props, State> {
<Fragment>
{stepIndex === 1 && (
<Button onClick={this.handleSkipStep} fontSize={4}>
{t('receive:steps.connectDevice.withoutDevice')}
{t('app:receive.steps.connectDevice.withoutDevice')}
</Button>
)}
{stepIndex === 2 &&
addressVerified === false && (
<Button fontSize={4}>{t('receive:steps.confirmAddress.support')}</Button>
<Button fontSize={4}>{t('app:receive.steps.confirmAddress.support')}</Button>
)}
<Button {...props} />
</Fragment>
@ -320,7 +320,7 @@ class ReceiveModal extends PureComponent<Props, State> {
{account && <SyncOneAccountOnMount priority={10} accountId={account.id} />}
<ModalTitle>
{canPrev && <PrevButton onClick={this.handlePrevStep} />}
{t('receive:title')}
{t('app:receive.title')}
</ModalTitle>
<ModalContent>
<Breadcrumb

6
src/components/modals/ReleaseNotes.js

@ -192,7 +192,7 @@ class ReleaseNotes extends PureComponent<Props, State> {
} else {
content = (
<Notes>
<Title>{t('releaseNotes:version', { versionNb: version })}</Title>
<Title>{t('app:releaseNotes.version', { versionNb: version })}</Title>
<ReactMarkdown>{markdown}</ReactMarkdown>
</Notes>
)
@ -200,11 +200,11 @@ class ReleaseNotes extends PureComponent<Props, State> {
return (
<ModalBody onClose={onClose}>
<ModalTitle>{t('releaseNotes:title')}</ModalTitle>
<ModalTitle>{t('app:releaseNotes.title')}</ModalTitle>
<ModalContent>{content}</ModalContent>
<ModalFooter horizontal justifyContent="flex-end">
<Button onClick={onClose} primary>
{t('common:continue')}
{t('app:common.continue')}
</Button>
</ModalFooter>
</ModalBody>

4
src/components/modals/Send/03-step-verification.js

@ -33,8 +33,8 @@ type Props = {
export default ({ t, hasError }: Props) => (
<Container>
<WarnBox>{multiline(t('send:steps.verification.warning'))}</WarnBox>
<Info>{t('send:steps.verification.body')}</Info>
<WarnBox>{multiline(t('app:send.steps.verification.warning'))}</WarnBox>
<Info>{t('app:send.steps.verification.body')}</Info>
<DeviceConfirm error={hasError} />
</Container>
)

2
src/components/modals/Send/AccountField.js

@ -6,7 +6,7 @@ import SelectAccount from 'components/SelectAccount'
const AccountField = ({ onChange, value, t }: *) => (
<Box flow={1}>
<Label>{t('send:steps.amount.selectAccountDebit')}</Label>
<Label>{t('app:send.steps.amount.selectAccountDebit')}</Label>
<SelectAccount onChange={onChange} value={value} />
</Box>
)

2
src/components/modals/Send/AmountField.js

@ -40,7 +40,7 @@ class AmountField extends Component<*, { canBeSpent: boolean }> {
const { canBeSpent } = this.state
return (
<Box flow={1}>
<Label>{t('send:steps.amount.amount')}</Label>
<Label>{t('app:send.steps.amount.amount')}</Label>
<RequestAmount
withMax={false}
account={account}

6
src/components/modals/Send/ConfirmationFooter.js

@ -26,7 +26,7 @@ export default ({
optimisticOperation && account && getAccountOperationExplorer(account, optimisticOperation)
return (
<ModalFooter horizontal alignItems="center" justifyContent="flex-end" flow={2}>
<Button onClick={onClose}>{t('common:close')}</Button>
<Button onClick={onClose}>{t('app:common.close')}</Button>
{optimisticOperation ? (
// TODO: actually go to operations details
url ? (
@ -37,12 +37,12 @@ export default ({
}}
primary
>
{t('send:steps.confirmation.success.cta')}
{t('app:send.steps.confirmation.success.cta')}
</Button>
) : null
) : error ? (
<Button onClick={onGoToFirstStep} primary>
{t('send:steps.confirmation.error.cta')}
{t('app:send.steps.confirmation.error.cta')}
</Button>
) : null}
</ModalFooter>

2
src/components/modals/Send/Footer.js

@ -65,7 +65,7 @@ class Footer extends PureComponent<
<Box horizontal alignItems="center" justifyContent="flex-end" flow={2}>
{showTotal && (
<Box grow>
<Label>{t('send:totalSpent')}</Label>
<Label>{t('app:send.totalSpent')}</Label>
<Box horizontal flow={2} align="center">
<FormattedVal
disableRounding

4
src/components/modals/Send/RecipientField.js

@ -65,8 +65,8 @@ class RecipientField<Transaction> extends Component<Props<Transaction>, { isVali
return (
<Box flow={1}>
<Label>
<span>{t('send:steps.amount.recipientAddress')}</span>
<LabelInfoTooltip ml={1} text={t('send:steps.amount.recipientAddress')} />
<span>{t('app:send.steps.amount.recipientAddress')}</span>
<LabelInfoTooltip ml={1} text={t('app:send.steps.amount.recipientAddress')} />
</Label>
<RecipientAddress
withQrCode

10
src/components/modals/Send/SendModalBody.js

@ -90,7 +90,7 @@ class SendModalBody extends PureComponent<Props, State<*>> {
this.steps = [
{
label: t('send:steps.amount.title'),
label: t('app:send.steps.amount.title'),
canClose: () => true,
canPrev: () => false,
canNext: ({ bridge, account, transaction }) =>
@ -99,7 +99,7 @@ class SendModalBody extends PureComponent<Props, State<*>> {
: false,
},
{
label: t('send:steps.connectDevice.title'),
label: t('app:send.steps.connectDevice.title'),
canClose: () => true,
canNext: ({ deviceSelected, appStatus }) =>
deviceSelected !== null && appStatus === 'success',
@ -107,14 +107,14 @@ class SendModalBody extends PureComponent<Props, State<*>> {
canPrev: () => true,
},
{
label: t('send:steps.verification.title'),
label: t('app:send.steps.verification.title'),
canClose: ({ error }) => !!error,
canNext: () => true,
canPrev: ({ error }) => !!error,
prevStep: 0,
},
{
label: t('send:steps.confirmation.title'),
label: t('app:send.steps.confirmation.title'),
prevStep: 0,
canClose: () => true,
canPrev: () => true,
@ -281,7 +281,7 @@ class SendModalBody extends PureComponent<Props, State<*>> {
<ModalTitle>
{canPrev && <PrevButton onClick={this.onPrevStep} />}
{t('send:title')}
{t('app:send.title')}
</ModalTitle>
<ModalContent>

17
static/i18n/en/account.yml

@ -1,17 +0,0 @@
balance: Balance
receive: Receive
lastOperations: Last operations
emptyState:
title: This is a title, use it with caution
desc: Please create a new account or recover an old account from your Ledger device.
buttons:
receiveFunds: Receive Funds
settings:
title: Edit Account
accountName:
title: Account name
desc: Lorem ipsum dolort amet
error: Name is required
unit:
title: Unit
desc: Lorem ipsum dolort amet

2
static/i18n/en/accountsOrder.yml

@ -1,2 +0,0 @@
name: Alphabetic
balance: Balance

14
static/i18n/en/addAccount.yml

@ -1,14 +0,0 @@
title: Add account
steps:
currency:
title: Informations
connectDevice:
title: Connect Device
importProgress:
title: In Progress
importAccounts:
title: Import Accounts
cta_0: Import Account
cta_1: Import {{count}} Account
cta_2: Import {{count}} Accounts

308
static/i18n/en/app.yml

@ -0,0 +1,308 @@
common:
ok: Okay
yes: Yes
no: No
apply: Apply
confirm: Confirm
cancel: Cancel
delete: Delete
continue: Continue
skipThisStep: Skip This Step
chooseWalletPlaceholder: Choose a wallet...
currency: Currency
selectAccount: Select an account
selectCurrency: Select a currency
sortBy: Sort by
search: Search
save: Save
password: Password
editProfile: Edit profile
lockApplication: Lock application
showMore: Show more
max: Max
next: Next
back: Back
retry: Retry
close: Close
eastern: Eastern
western: Western
lockScreen:
title: Welcome Back
subTitle: Your application is locked
description: Please enter your password to continue
inputPlaceholder: Type your password
sync:
syncing: Syncing...
upToDate: Up to date
error: Sync error.
refresh: Refresh
operation:
type:
IN: Receive funds
OUT: Sent funds
time:
day: Day
week: Week
month: Month
year: Year
since:
day: since a day
week: since a week
month: since a month
year: since a year
sidebar:
menu: Menu
accounts: Accounts ({{count}})
manager: Manager
exchange: Exchange
account:
balance: Balance
receive: Receive
lastOperations: Last operations
emptyState:
title: This is a title, use it with caution
desc: Please create a new account or recover an old account from your Ledger device.
buttons:
receiveFunds: Receive Funds
settings:
title: Edit Account
accountName:
title: Account name
desc: Lorem ipsum dolort amet
error: Name is required
unit:
title: Unit
desc: Lorem ipsum dolort amet
dashboard:
title: Dashboard
greeting:
morning: "Good Morning!"
evening: "Good Evening!"
afternoon: "Good Afternoon!"
summary: here is the summary of your account
summary_plural: 'here is the summary of your {{count}} accounts'
noAccounts: no accounts
recentActivity: Recent activity
totalBalance: Total balance
accountsOrder:
name: Alphabetic
balance: Balance
currentAddress: Current address
deviceConnect:
step1:
choose: "We detected {{count}} devices connected, please select one:"
emptyState:
sidebar:
text: You don’t have any accounts at the moment. Press the + button to create an account
dashboard:
title: This is a title, use it with caution
desc: Please create a new account or recover an old account from your Ledger device.
buttons:
addAccount: Add Account
installApp: Install App
exchange:
title: Exchange
visitWebsite: Visit website
genuinecheck:
modal:
title: Genuine check, bro
importAccounts:
title: Add accounts
breadcrumb:
informations: Informations
connectDevice: Connect device
import: Import
finish: End
accountToImportSubtitle: Account to import
accountToImportSubtitle_plural: 'Accounts to import ({{count}})'
selectAll: Select all
unselectAll: Unselect all
createNewAccount: Create new account
retrySync: Retry sync
cta:
create: 'Create account'
import: 'Import account'
import_plural: 'Import accounts'
operationDetails:
confirmed: Confirmed
notConfirmed: Not confirmed
manager:
tabs:
apps: Apps
device: My device
installApps: Install
installFirmware: Update firmware
allApps: Apps
apps:
help: To update an app, you have to uninstall the app and re install it.
title: Manager
subtitle: Get all your apps here
firmwareUpdate: Firmware update
latestFirmware: A new firmware {{version}} is available
plugYourDevice:
title: Plug your device
desc: Please connect your Ledger device and follow the steps below to access the manager
cta: Plug my device
errors:
noDevice: Please make sur your device is connected (TEMPLATE NEEDED)
noDashboard: Please make sure your device is on the dashboard screen (TEMPLATED NEEDED)
noGenuine: You did not approve request on your device or your device is not genuine (TEMPLATE NEEDED)
receive:
title: Receive funds
steps:
chooseAccount:
title: Choose Account
label: Account
connectDevice:
title: Connect Device
withoutDevice: I don't have my device
confirmAddress:
title: Confirm Address
action: Confirm address on device
text: To receive funds, confirm the address on your device.
support: Contact Support
error:
title: Houston, we have a problem!
text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer non nibh diam. In eget ipsum arcu donec finibus
receiveFunds:
title: Receive Funds
label: Amount (Optional)
send:
title: Send funds
totalSpent: Total spent
steps:
amount:
title: Informations
selectAccountDebit: Select an account to debit
recipientAddress: Recipient address
amount: Amount
max: Max
fees: Fees
advancedOptions: Advanced options
useRBF: Use the RBF transaction
message: Leave a message (140)
rippleTag: Tag
ethereumGasLimit: Gas limit
connectDevice:
title: Connect device
verification:
title: Verification
warning: |
You are about to validate a transaction.
Be careful, we strongly recommand you to verify that the informations on your Ledger device are correct.
body: Once you have checked everything is ok, you can validate securely the transaction on your device.
confirmation:
title: Confirmation
success:
title: Transaction successfully broadcasted
text: |
with the following transaction id:
cta: View operation details
error:
title: Transaction error
cta: Retry operation
pending:
title: Broadcasting transaction...
releaseNotes:
title: Release notes
version: Version {{versionNb}}
settings:
title: Settings
tabs:
display: Display
currencies: Currencies
profile: Profile
about: About
display:
language: Interface language
languageDesc: Lorem ipsum dolor sit amet
counterValue: Countervalue
counterValueDesc: Lorem ipsum dolor sit amet
region: Region
regionDesc: Lorem ipsum dolor sit amet
stock: Stock market indicators
stockDesc: Lorem ipsum dolor sit amet
currencies:
confirmationsToSpend: Confirmations to spend
confirmationsToSpendDesc: Lorem ipsum dolor sit amet
confirmationsNb: Number of confirmations
confirmationsNbDesc: Lorem ipsum dolor sit amet
transactionsFees: Transactions fees
transactionsFeesDesc: Lorem ipsum dolor sit amet
explorer: Blockchain explorer
explorerDesc: Lorem ipsum dolor sit amet
profile:
password: Password
passwordDesc: Lorem ipsum dolor sit amet
changePassword: Change password
sync: Sync accounts
syncDesc: Lorem ipsum dolor sit amet
export: Export logs
exportDesc: Lorem ipsum dolor sit amet
softResetTitle: Clean application cache
softResetDesc: Lorem ipsum dolor sit amet
softReset: Clean cache
hardResetTitle: Reset application
hardResetDesc: Lorem ipsum dolor sit amet
hardReset: Hard reset
developerMode: Developer Mode
developerModeDesc: Enable visibility of developer apps & currencies like Bitcoin Testnet
analytics: Share analytics
analyticsDesc: Help Ledger improve its products and services by automatically sending diagnostics and usage data.
reportErrors: Sentry Logs
reportErrorsDesc: Help Ledger improve its products and services by automatically sending diagnostics and usage data.
about:
faq: FAQ
faqDesc: Lorem ipsum dolor sit amet
contactUs: Contact us
contactUsDesc: Lorem ipsum dolor sit amet
terms: Terms and Privacy policy
termsDesc: Lorem ipsum dolor sit amet
hardResetModal:
title: Hard reset
subTitle: Are you sure houston?
desc: Lorem ipsum dolor sit amet
softResetModal:
title: Clean application cache
subTitle: Are you sure houston?
desc: Lorem ipsum dolor sit amet
removeAccountModal:
title: Delete this account
subTitle: Are you sure houston?
desc: Lorem ipsum dolor sit amet
exportLogs:
title: Export Logs
desc: Export Logs
btn: Export Logs
password:
warning_0: Warning 0
warning_1: Warning 1
warning_2: Warning 2
warning_3: Warning 3
warning_4: Warning 4
errorMessageIncorrectPassword: The password you entered is incorrect.
errorMessageNotMatchingPassword: Passwords don't match.
inputFields:
newPassword:
label: Password
placeholder: Password
confirmPassword:
label: Confirm Password
placeholder: Confirm Password
currentPassword:
label: Current Password
placeholder: Current Password
changePassword:
title: Edit Password
subTitle: Change your password
desc: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer non nibh diam. In eget ipsum arcu donec finibus
setPassword:
title: Set Password
subTitle: Set a password to lock your application
desc: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer non nibh diam. In eget ipsum arcu donec finibus
disablePassword:
title: Disable Password
desc: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer non nibh diam.
update:
newVersionReady: A new update is available.
relaunch: Update now

36
static/i18n/en/common.yml

@ -1,36 +0,0 @@
ok: Okay
yes: Yes
no: No
apply: Apply
confirm: Confirm
cancel: Cancel
delete: Delete
continue: Continue
skipThisStep: Skip This Step
chooseWalletPlaceholder: Choose a wallet...
currency: Currency
selectAccount: Select an account
selectCurrency: Select a currency
sortBy: Sort by
search: Search
save: Save
password: Password
editProfile: Edit profile
lockApplication: Lock application
max: Max
next: Next
back: Back
retry: Retry
close: Close
eastern: Eastern
western: Western
lockScreen:
title: Welcome Back
subTitle: Your application is locked
description: Please enter your password to continue
inputPlaceholder: Type your password
sync:
syncing: Syncing...
upToDate: Up to date
error: Sync error.
refresh: Refresh

2
static/i18n/en/currentAddress.yml

@ -1,2 +0,0 @@
label: Current address
labelFrom: Address from <1><0>{{accountName}}</0></1>

10
static/i18n/en/dashboard.yml

@ -1,10 +0,0 @@
title: Dashboard
greeting:
morning: "Good Morning!"
evening: "Good Evening!"
afternoon: "Good Afternoon!"
summary: here is the summary of your account
summary_plural: 'here is the summary of your {{count}} accounts'
noAccounts: no accounts
recentActivity: Recent activity
totalBalance: Total balance

2
static/i18n/en/device.yml

@ -1,2 +0,0 @@
connected: Connected
notConnected: Not connected

8
static/i18n/en/deviceConnect.yml

@ -1,8 +0,0 @@
step1:
connect: Connect your <1>Ledger device</1> to your computer and enter your <3>PIN code</3> on your device
choose: "We detected {{count}} devices connected, please select one:"
step2:
open: Open <1><0>{{appName}}</0></1> App on your device
info: You must use the device associated to the account <1><0>{{accountName}}</0></1>

8
static/i18n/en/emptyState.yml

@ -1,8 +0,0 @@
sidebar:
text: You don’t have any accounts at the moment. Press the + button to create an account
dashboard:
title: This is a title, use it with caution
desc: Please create a new account or recover an old account from your Ledger device.
buttons:
addAccount: Add Account
installApp: Install App

2
static/i18n/en/exchange.yml

@ -1,2 +0,0 @@
title: Exchange
visitWebsite: Visit website

2
static/i18n/en/genuinecheck.yml

@ -1,2 +0,0 @@
modal:
title: Genuine check, bro

16
static/i18n/en/importAccounts.yml

@ -1,16 +0,0 @@
title: Add accounts
breadcrumb:
informations: Informations
connectDevice: Connect device
import: Import
finish: End
accountToImportSubtitle: Account to import
accountToImportSubtitle_plural: 'Accounts to import ({{count}})'
selectAll: Select all
unselectAll: Unselect all
createNewAccount: Create new account
retrySync: Retry sync
cta:
create: 'Create account'
import: 'Import account'
import_plural: 'Import accounts'

20
static/i18n/en/manager.yml

@ -1,20 +0,0 @@
tabs:
apps: Apps
device: My device
installApps: Install
installFirmware: Update firmware
allApps: Apps
apps:
help: To update an app, you have to uninstall the app and re install it.
title: Manager
subtitle: Get all your apps here
firmwareUpdate: Firmware update
latestFirmware: A new firmware {{version}} is available
plugYourDevice:
title: Plug your device
desc: Please connect your Ledger device and follow the steps below to access the manager
cta: Plug my device
errors:
noDevice: Please make sur your device is connected (TEMPLATE NEEDED)
noDashboard: Please make sure your device is on the dashboard screen (TEMPLATED NEEDED)
noGenuine: You did not approve request on your device or your device is not genuine (TEMPLATE NEEDED)

2
static/i18n/en/operationDetails.yml

@ -1,2 +0,0 @@
confirmed: Confirmed
notConfirmed: Not confirmed

9
static/i18n/en/operationsList.yml

@ -1,9 +0,0 @@
date: Date
account: Account
address: Address
amount: Amount
IN: Receive funds
OUT: Sent funds
showMore: Show more
confirmed: Confirmed
notConfirmed: Not confirmed

28
static/i18n/en/password.yml

@ -1,28 +0,0 @@
warning_0: Warning 0
warning_1: Warning 1
warning_2: Warning 2
warning_3: Warning 3
warning_4: Warning 4
errorMessageIncorrectPassword: The password you entered is incorrect.
errorMessageNotMatchingPassword: Passwords don't match.
inputFields:
newPassword:
label: Password
placeholder: Password
confirmPassword:
label: Confirm Password
placeholder: Confirm Password
currentPassword:
label: Current Password
placeholder: Current Password
changePassword:
title: Edit Password
subTitle: Change your password
desc: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer non nibh diam. In eget ipsum arcu donec finibus
setPassword:
title: Set Password
subTitle: Set a password to lock your application
desc: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer non nibh diam. In eget ipsum arcu donec finibus
disablePassword:
title: Disable Password
desc: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer non nibh diam.

23
static/i18n/en/receive.yml

@ -1,23 +0,0 @@
title: Receive funds
steps:
chooseAccount:
title: Choose Account
label: Account
connectDevice:
title: Connect Device
withoutDevice: I don't have my device
confirmAddress:
title: Confirm Address
action: Confirm address on device
text: To receive funds, confirm the address on your device.
support: Contact Support
error:
title: Houston, we have a problem!
text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer non nibh diam. In eget ipsum arcu donec finibus
receiveFunds:
title: Receive Funds
label: Amount (Optional)

3
static/i18n/en/releaseNotes.yml

@ -1,3 +0,0 @@
title: Release notes
version: Version {{versionNb}}

35
static/i18n/en/send.yml

@ -1,35 +0,0 @@
title: Send funds
totalSpent: Total spent
steps:
amount:
title: Informations
selectAccountDebit: Select an account to debit
recipientAddress: Recipient address
amount: Amount
max: Max
fees: Fees
advancedOptions: Advanced options
useRBF: Use the RBF transaction
message: Leave a message (140)
rippleTag: Tag
ethereumGasLimit: Gas limit
connectDevice:
title: Connect device
verification:
title: Verification
warning: |
You are about to validate a transaction.
Be careful, we strongly recommand you to verify that the informations on your Ledger device are correct.
body: Once you have checked everything is ok, you can validate securely the transaction on your device.
confirmation:
title: Confirmation
success:
title: Transaction successfully broadcasted
text: |
with the following transaction id:
cta: View operation details
error:
title: Transaction error
cta: Retry operation
pending:
title: Broadcasting transaction...

67
static/i18n/en/settings.yml

@ -1,67 +0,0 @@
title: Settings
tabs:
display: Display
currencies: Currencies
profile: Profile
about: About
display:
language: Interface language
languageDesc: Lorem ipsum dolor sit amet
counterValue: Countervalue
counterValueDesc: Lorem ipsum dolor sit amet
region: Region
regionDesc: Lorem ipsum dolor sit amet
stock: Stock market indicators
stockDesc: Lorem ipsum dolor sit amet
currencies:
confirmationsToSpend: Confirmations to spend
confirmationsToSpendDesc: Lorem ipsum dolor sit amet
confirmationsNb: Number of confirmations
confirmationsNbDesc: Lorem ipsum dolor sit amet
transactionsFees: Transactions fees
transactionsFeesDesc: Lorem ipsum dolor sit amet
explorer: Blockchain explorer
explorerDesc: Lorem ipsum dolor sit amet
profile:
password: Password
passwordDesc: Lorem ipsum dolor sit amet
changePassword: Change password
sync: Sync accounts
syncDesc: Lorem ipsum dolor sit amet
export: Export logs
exportDesc: Lorem ipsum dolor sit amet
softResetTitle: Clean application cache
softResetDesc: Lorem ipsum dolor sit amet
softReset: Clean cache
hardResetTitle: Reset application
hardResetDesc: Lorem ipsum dolor sit amet
hardReset: Hard reset
developerMode: Developer Mode
developerModeDesc: Enable visibility of developer apps & currencies like Bitcoin Testnet
analytics: Share analytics
analyticsDesc: Help Ledger improve its products and services by automatically sending diagnostics and usage data.
reportErrors: Sentry Logs
reportErrorsDesc: Help Ledger improve its products and services by automatically sending diagnostics and usage data.
about:
faq: FAQ
faqDesc: Lorem ipsum dolor sit amet
contactUs: Contact us
contactUsDesc: Lorem ipsum dolor sit amet
terms: Terms and Privacy policy
termsDesc: Lorem ipsum dolor sit amet
hardResetModal:
title: Hard reset
subTitle: Are you sure houston?
desc: Lorem ipsum dolor sit amet
softResetModal:
title: Clean application cache
subTitle: Are you sure houston?
desc: Lorem ipsum dolor sit amet
removeAccountModal:
title: Delete this account
subTitle: Are you sure houston?
desc: Lorem ipsum dolor sit amet
exportLogs:
title: Export Logs
desc: Export Logs
btn: Export Logs

4
static/i18n/en/sidebar.yml

@ -1,4 +0,0 @@
menu: Menu
accounts: Accounts ({{count}})
manager: Manager
exchange: Exchange

10
static/i18n/en/time.yml

@ -1,10 +0,0 @@
day: Day
week: Week
month: Month
year: Year
since:
day: since a day
week: since a week
month: since a month
year: since a year

2
static/i18n/en/update.yml

@ -1,2 +0,0 @@
newVersionReady: A new update is available.
relaunch: Update now

18
static/i18n/fr/account.yml

@ -1,18 +0,0 @@
---
balance: Balance
receive: Recevoir
lastOperations: Dernières opérations
emptyState:
title: This is a title, use it with caution
desc: Please create a new account or recover an old account from your Ledger device.
buttons:
receiveFunds: Receive Funds
settings:
title: Edit Account
accountName:
title: Account name
desc: Lorem ipsum dolort amet
error: Name is required
unit:
title: Unit
desc: Lorem ipsum dolort amet

3
static/i18n/fr/accountsOrder.yml

@ -1,3 +0,0 @@
---
name: Alphabétique
balance: Balance

14
static/i18n/fr/addAccount.yml

@ -1,14 +0,0 @@
---
title: Ajouter un compte
steps:
currency:
title: Informations
connectDevice:
title: Connecter l'appareil
importProgress:
title: En cours
importAccounts:
title: Importer les comptes
cta_0: Importer le compte
cta_1: Importer {{count}} compte
cta_2: Importer {{count}} comptes

37
static/i18n/fr/common.yml

@ -1,37 +0,0 @@
---
ok: Ok
yes: true
no: false
apply: Apply
confirm: Confirmer
cancel: Annuler
delete: Delete
continue: Continue
skipThisStep: Skip This Step
chooseWalletPlaceholder: Choisir un portefeuille...
currency: Monnaie
selectAccount: Sélectionner un compte
selectCurrency: Select a currency
sortBy: Trier par
search: Rechercher
save: Sauvegarder
password: Mot de passe
editProfile: Éditer le profil
lockApplication: Verrouiller l'application
max: Max
next: Suivant
back: Retour
retry: Réessayer
close: Fermer
eastern: Orientale
western: Occidentale
lockScreen:
title: Welcome Back
subTitle: Your application is locked
description: Please enter your password to continue
inputPlaceholder: Type your password
sync:
syncing: Syncing...
upToDate: Up to date
error: Sync error.
refresh: Refresh

3
static/i18n/fr/currentAddress.yml

@ -1,3 +0,0 @@
---
label: Adresse actuelle
labelFrom: Adresse de <1><0>{{accountName}}</0></1>

11
static/i18n/fr/dashboard.yml

@ -1,11 +0,0 @@
---
title: Tableau de bord
greeting:
morning: "Good Morning!"
evening: "Good Evening!"
afternoon: "Good Afternoon!"
summary: voici le résumé de votre compte
summary_plural: 'voici le résumé de vos {{count}} comptes'
noAccounts: aucun compte
recentActivity: Activité récente
totalBalance: Balance totale

3
static/i18n/fr/device.yml

@ -1,3 +0,0 @@
---
connected: Connecté
notConnected: Non connecté

7
static/i18n/fr/deviceConnect.yml

@ -1,7 +0,0 @@
---
step1:
connect: Connectez votre <1>périphérique Ledger</1> à votre ordinateur et entrer votre <3>code PIN</3>
choose: "Nous avons détécté {{count}} périphériques, merci d'en choisir un:"
step2:
open: Ouvrez l'application <1><0>{{appName}}</0></1> sur votre périphérique
info: Vous devez utiliser le périphérique associé au compte <1><0>{{accountName}}</0></1>

9
static/i18n/fr/emptyState.yml

@ -1,9 +0,0 @@
---
sidebar:
text: You don’t have any accounts at the moment. Press the + button to create an account
dashboard:
title: This is a title, use it with caution
desc: Please create a new account or recover an old account from your Ledger device.
buttons:
addAccount: Add Account
installApp: Install App

3
static/i18n/fr/exchange.yml

@ -1,3 +0,0 @@
---
title: Exchange
visitWebsite: Visit website

3
static/i18n/fr/genuinecheck.yml

@ -1,3 +0,0 @@
---
modal:
title: Genuine check, bro

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save