From 5479e7e94bd40271f8b849eedceb862772ca25b6 Mon Sep 17 00:00:00 2001 From: jamaljsr <1356600+jamaljsr@users.noreply.github.com> Date: Thu, 17 Oct 2019 21:58:23 -0400 Subject: [PATCH] feat(i18n): update translations for home and network components --- src/components/common/NavMenu.tsx | 8 ++-- src/components/home/GetStarted.tsx | 8 ++-- src/components/home/Home.tsx | 31 ++++++++-------- src/components/home/NetworkCard.tsx | 6 ++- src/components/layouts/AppLayout.spec.tsx | 2 +- src/components/network/NetworkActions.tsx | 10 ++--- src/components/network/NewNetwork.spec.tsx | 2 +- src/components/network/NewNetwork.tsx | 31 ++++++---------- src/i18n/locales/en-US.json | 43 +++++++++++----------- src/i18n/locales/es.json | 43 +++++++++++----------- 10 files changed, 89 insertions(+), 95 deletions(-) diff --git a/src/components/common/NavMenu.tsx b/src/components/common/NavMenu.tsx index 778fa95..b67cbc8 100644 --- a/src/components/common/NavMenu.tsx +++ b/src/components/common/NavMenu.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { useTranslation } from 'react-i18next'; import styled from '@emotion/styled'; import { Dropdown, Icon, Menu } from 'antd'; +import { usePrefixedTranslation } from 'hooks'; import { useStoreActions } from 'store'; import { NETWORK } from 'components/routing'; @@ -16,17 +16,17 @@ const Styled = { }; const NavMenu: React.FC = () => { - const { t } = useTranslation(); + const { l } = usePrefixedTranslation('cmps.common.NavMenu'); const { navigateTo } = useStoreActions(s => s.app); const menu = ( navigateTo(NETWORK)}> - {t('cmps.nav-menu.create-network', 'Create Network')} + {l('createNetwork')} - {t('cmps.nav-menu.settings', 'Settings')} + {l('settings')} ); diff --git a/src/components/home/GetStarted.tsx b/src/components/home/GetStarted.tsx index 2efa05f..71350ec 100644 --- a/src/components/home/GetStarted.tsx +++ b/src/components/home/GetStarted.tsx @@ -1,8 +1,8 @@ import React from 'react'; -import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; import styled from '@emotion/styled'; import { Button } from 'antd'; +import { usePrefixedTranslation } from 'hooks'; import { NETWORK } from 'components/routing'; import logobw from 'resources/logo_bw.png'; @@ -27,14 +27,14 @@ const Styled = { }; const GetStarted: React.FC = () => { - const { t } = useTranslation(); + const { l } = usePrefixedTranslation('cmps.home.GetStarted'); return ( - {t('cmps.get-started.title', "Let's get started!")} + {l('title')} diff --git a/src/components/home/Home.tsx b/src/components/home/Home.tsx index e5302d9..8270949 100644 --- a/src/components/home/Home.tsx +++ b/src/components/home/Home.tsx @@ -1,8 +1,8 @@ import React, { useEffect } from 'react'; import { useAsync } from 'react-async-hook'; -import { useTranslation } from 'react-i18next'; import { info } from 'electron-log'; -import { Alert, Col, Row } from 'antd'; +import { Col, Row } from 'antd'; +import { usePrefixedTranslation } from 'hooks'; import { useStoreActions, useStoreState } from 'store'; import { Loader } from 'components/common'; import { GetStarted, NetworkCard } from './'; @@ -10,10 +10,21 @@ import { GetStarted, NetworkCard } from './'; const Home: React.FC = () => { useEffect(() => info('Rendering Home component'), []); - const { t } = useTranslation(); + const { l } = usePrefixedTranslation('cmps.home.Home'); + const { notify } = useStoreActions(s => s.app); const { networks, loaded } = useStoreState(s => s.network); const { load } = useStoreActions(s => s.network); - const loadAsync = useAsync(() => load(), [], { executeOnMount: !loaded }); + const loadAsync = useAsync( + async () => { + try { + await load(); + } catch (error) { + notify({ message: l('loadError'), error }); + } + }, + [], + { executeOnMount: !loaded }, + ); if (loadAsync.loading) { return ; @@ -21,18 +32,6 @@ const Home: React.FC = () => { return ( <> - {loadAsync.error && ( - - )} {networks.length === 0 && } {networks.map(n => ( diff --git a/src/components/home/NetworkCard.tsx b/src/components/home/NetworkCard.tsx index febde83..a6e71e4 100644 --- a/src/components/home/NetworkCard.tsx +++ b/src/components/home/NetworkCard.tsx @@ -1,6 +1,7 @@ import React from 'react'; import styled from '@emotion/styled'; import { Card, Col, Icon, Row, Statistic } from 'antd'; +import { usePrefixedTranslation } from 'hooks'; import { useStoreActions } from 'store'; import { Network } from 'types'; import { StatusBadge } from 'components/common'; @@ -13,6 +14,7 @@ const Styled = { }; const NetworkCard: React.FC<{ network: Network }> = ({ network }) => { + const { l } = usePrefixedTranslation('cmps.home.NetworkCard'); const { navigateTo } = useStoreActions(s => s.app); return ( @@ -25,14 +27,14 @@ const NetworkCard: React.FC<{ network: Network }> = ({ network }) => { } /> } /> diff --git a/src/components/layouts/AppLayout.spec.tsx b/src/components/layouts/AppLayout.spec.tsx index 1b3170b..ed26c8f 100644 --- a/src/components/layouts/AppLayout.spec.tsx +++ b/src/components/layouts/AppLayout.spec.tsx @@ -12,7 +12,7 @@ describe('AppLayout component', () => { return (

Hello World!

-

{t('cmps.get-started.title')}

+

{t('cmps.home.GetStarted.title')}

); }; diff --git a/src/components/network/NetworkActions.tsx b/src/components/network/NetworkActions.tsx index 0b31e91..595258b 100644 --- a/src/components/network/NetworkActions.tsx +++ b/src/components/network/NetworkActions.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { useTranslation } from 'react-i18next'; import { Button, Dropdown, Icon, Menu } from 'antd'; import { ButtonType } from 'antd/lib/button'; +import { usePrefixedTranslation } from 'hooks'; import { Status } from 'types'; interface Props { @@ -44,7 +44,7 @@ const config: { }; const NetworkActions: React.FC = ({ status, onClick }) => { - const { t } = useTranslation(); + const { l } = usePrefixedTranslation('cmps.network.NetworkActions'); const loading = status === Status.Starting || status === Status.Stopping; const { label, type, icon } = config[status]; @@ -52,11 +52,11 @@ const NetworkActions: React.FC = ({ status, onClick }) => { - {t('cmps.network-actions.menu-rename', 'Rename')} + {l('menuRename')} - {t('cmps.network-actions.menu-delete', 'Delete')} + {l('menuDelete')} ); @@ -64,7 +64,7 @@ const NetworkActions: React.FC = ({ status, onClick }) => { return ( <> diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 016c7ab..ddf886e 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json @@ -5,28 +5,10 @@ "enums.status.Stopped": "Stopped", "enums.status.Error": "Error", "cmps.forms.required": "required", - "cmps.nav-menu.create-network": "Create Network", - "cmps.nav-menu.settings": "Settings", - "cmps.home.load-error-msg": "Unable to load previously save networks", - "cmps.get-started.title": "Let's get started!", - "cmps.get-started.create-btn": "Create a Lightning Network", - "cmps.new-network.title": "Create a new Lightning Network", - "cmps.new-network.name-label": "Network Name", - "cmps.new-network.name-phldr": "My Lightning Simnet", - "cmps.new-network.lnd-nodes-label": "How many LND nodes?", - "cmps.new-network.bitcoind-nodes-label": "How many bitcoind nodes?", - "cmps.new-network.bitcoind-nodes-soon": "Coming Soon", - "cmps.new-network.btn-create": "Create", - "cmps.new-network.success-msg": "Created network", - "cmps.network-actions.menu-rename": "Rename", - "cmps.network-actions.menu-delete": "Delete", - "cmps.network-actions.primary-btn-starting": "Starting", - "cmps.network-actions.primary-btn-stop": "Stop", - "cmps.network-actions.primary-btn-stopping": "Stopping", - "cmps.network-actions.primary-btn-start": "Start", - "cmps.network-actions.primary-btn-restart": "Restart", "cmps.common.form.LightningNodeSelect.balance": "Balance", "cmps.common.CopyIcon.message": "Copied {{label}} to clipboard", + "cmps.common.NavMenu.createNetwork": "Create Network", + "cmps.common.NavMenu.settings": "Settings", "cmps.designer.lnd.OpenChannelModal.title": "Open New Channel", "cmps.designer.lnd.OpenChannelModal.source": "Source", "cmps.designer.lnd.OpenChannelModal.dest": "Destination", @@ -112,5 +94,24 @@ "cmps.designer.lnd.LndDetails.connect": "Connect", "cmps.designer.lnd.LndDetails.actions": "Actions", "cmps.designer.lnd.LndDetails.waitingNotice": "Waiting for LND to come online", - "cmps.designer.lnd.LndDetails.connectError": "Unable to connect to node" + "cmps.designer.lnd.LndDetails.connectError": "Unable to connect to node", + "cmps.home.GetStarted.title": "Let's get started!", + "cmps.home.GetStarted.createBtn": "Create a Lightning Network", + "cmps.home.Home.loadError": "Unable to load previously save networks", + "cmps.home.NetworkCard.lightningNodes": "Lightning Nodes", + "cmps.home.NetworkCard.bitcoinNodes": "Bitcoin Nodes", + "cmps.network.NetworkActions.menuRename": "Rename", + "cmps.network.NetworkActions.menuDelete": "Delete", + "cmps.network.NetworkActions.primaryBtnStarting": "Starting", + "cmps.network.NetworkActions.primaryBtnStop": "Stop", + "cmps.network.NetworkActions.primaryBtnStopping": "Stopping", + "cmps.network.NetworkActions.primaryBtnStart": "Start", + "cmps.network.NetworkActions.primaryBtnRestart": "Restart", + "cmps.network.NewNetwork.title": "Create a new Lightning Network", + "cmps.network.NewNetwork.nameLabel": "Network Name", + "cmps.network.NewNetwork.namePhldr": "My Lightning Simnet", + "cmps.network.NewNetwork.lndNodesLabel": "How many LND nodes?", + "cmps.network.NewNetwork.bitcoindNodesLabel": "How many bitcoind nodes?", + "cmps.network.NewNetwork.bitcoindNodesSoon": "Coming Soon", + "cmps.network.NewNetwork.btnCreate": "Create" } diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 3c2826a..2c83f12 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -5,28 +5,10 @@ "enums.status.Stopped": "Detenido", "enums.status.Error": "Error", "cmps.forms.required": "necesario", - "cmps.nav-menu.create-network": "Crear red", - "cmps.nav-menu.settings": "Configuraciones", - "cmps.home.load-error-msg": "No se pueden cargar las redes guardadas previamente", - "cmps.get-started.title": "Empecemos", - "cmps.get-started.create-btn": "Crea tu primera red", - "cmps.new-network.title": "Crear una nueva red Lightning", - "cmps.new-network.name-label": "Nombre de red", - "cmps.new-network.name-phldr": "Mi Lightning Simnet", - "cmps.new-network.lnd-nodes-label": "¿Cuántos nodos de LND?", - "cmps.new-network.bitcoind-nodes-label": "¿Cuántos nodos de bitcoind?", - "cmps.new-network.bitcoind-nodes-soon": "Próximamente", - "cmps.new-network.btn-create": "Crear", - "cmps.new-network.success-msg": "Red creada", - "cmps.network-actions.menu-rename": "Rebautizar", - "cmps.network-actions.menu-delete": "Borrar", - "cmps.network-actions.primary-btn-starting": "Comenzando", - "cmps.network-actions.primary-btn-stop": "Detener", - "cmps.network-actions.primary-btn-stopping": "Parada", - "cmps.network-actions.primary-btn-start": "Comienzo", - "cmps.network-actions.primary-btn-restart": "Reiniciar", "cmps.common.form.LightningNodeSelect.balance": "Equilibrar", "cmps.common.CopyIcon.message": "Copiado {{label}} al portapapeles", + "cmps.common.NavMenu.createNetwork": "Crear red", + "cmps.common.NavMenu.settings": "Configuraciones", "cmps.designer.lnd.OpenChannelModal.title": "Abrir nuevo canal", "cmps.designer.lnd.OpenChannelModal.source": "Fuente", "cmps.designer.lnd.OpenChannelModal.dest": "Destino", @@ -112,5 +94,24 @@ "cmps.designer.lnd.LndDetails.connect": "Conectar", "cmps.designer.lnd.LndDetails.actions": "Comportamiento", "cmps.designer.lnd.LndDetails.waitingNotice": "Esperando a que LND se conecte", - "cmps.designer.lnd.LndDetails.connectError": "No se puede conectar al nodo" + "cmps.designer.lnd.LndDetails.connectError": "No se puede conectar al nodo", + "cmps.home.GetStarted.title": "Empecemos", + "cmps.home.GetStarted.createBtn": "Crea tu primera red", + "cmps.home.Home.loadError": "No se pueden cargar las redes guardadas previamente", + "cmps.home.NetworkCard.lightningNodes": "Nodos Relámpagos", + "cmps.home.NetworkCard.bitcoinNodes": "Nodos de Bitcoin", + "cmps.network.NetworkActions.menuRename": "Rebautizar", + "cmps.network.NetworkActions.menuDelete": "Borrar", + "cmps.network.NetworkActions.primaryBtnStarting": "Comenzando", + "cmps.network.NetworkActions.primaryBtnStop": "Detener", + "cmps.network.NetworkActions.primaryBtnStopping": "Parada", + "cmps.network.NetworkActions.primaryBtnStart": "Comienzo", + "cmps.network.NetworkActions.primaryBtnRestart": "Reiniciar", + "cmps.network.NewNetwork.title": "Crear una nueva red Lightning", + "cmps.network.NewNetwork.nameLabel": "Nombre de red", + "cmps.network.NewNetwork.namePhldr": "Mi Lightning Simnet", + "cmps.network.NewNetwork.lndNodesLabel": "¿Cuántos nodos de LND?", + "cmps.network.NewNetwork.bitcoindNodesLabel": "¿Cuántos nodos de bitcoind?", + "cmps.network.NewNetwork.bitcoindNodesSoon": "Próximamente", + "cmps.network.NewNetwork.btnCreate": "Crear" }