From c4aa05ea4a747401bfe3b14c983d21f7a54616f8 Mon Sep 17 00:00:00 2001 From: canove Date: Mon, 28 Sep 2020 15:41:19 -0300 Subject: [PATCH] improvement: updated translations en/pt --- frontend/src/components/ContactModal/index.js | 2 +- .../components/MessageOptionsMenu/index.js | 10 +- .../components/NotificationsPopOver/index.js | 2 +- frontend/src/components/UserModal/index.js | 22 ++-- .../src/components/WhatsAppModal/index.js | 20 ++- .../src/components/_layout/MainListItems.js | 6 +- frontend/src/components/_layout/index.js | 11 +- frontend/src/pages/Connections/index.js | 36 +++-- frontend/src/pages/Contacts/index.js | 2 +- frontend/src/pages/Settings/index.js | 17 ++- frontend/src/pages/Users/index.js | 30 +++-- frontend/src/translate/languages/en.js | 115 ++++++++++++++-- frontend/src/translate/languages/pt.js | 124 ++++++++++++++++-- 13 files changed, 325 insertions(+), 72 deletions(-) diff --git a/frontend/src/components/ContactModal/index.js b/frontend/src/components/ContactModal/index.js index 326837d..b35650f 100644 --- a/frontend/src/components/ContactModal/index.js +++ b/frontend/src/components/ContactModal/index.js @@ -103,7 +103,7 @@ const ContactModal = ({ open, onClose, contactId }) => { } else { await api.post("/contacts", values); } - toast.success("Contact saved sucessfully!"); + toast.success(i18n.t("contactModal.success")); } catch (err) { console.log(err); if (err.response && err.response.data && err.response.data.error) { diff --git a/frontend/src/components/MessageOptionsMenu/index.js b/frontend/src/components/MessageOptionsMenu/index.js index 26bd94e..086698a 100644 --- a/frontend/src/components/MessageOptionsMenu/index.js +++ b/frontend/src/components/MessageOptionsMenu/index.js @@ -5,7 +5,7 @@ import { toast } from "react-toastify"; import MenuItem from "@material-ui/core/MenuItem"; import Menu from "@material-ui/core/Menu"; -// import { i18n } from "../../translate/i18n"; +import { i18n } from "../../translate/i18n"; import api from "../../services/api"; import ConfirmationModal from "../ConfirmationModal"; @@ -31,12 +31,12 @@ const MessageOptionsMenu = ({ messageId, menuOpen, handleClose, anchorEl }) => { return ( <> - This action cannot be reverted. + {i18n.t("messageOptionsMenu.confirmationModal.message")} { onClose={handleClose} > - Delete Message + {i18n.t("messageOptionsMenu.delete")} - Reply Message + {i18n.t("messageOptionsMenu.reply")} ); diff --git a/frontend/src/components/NotificationsPopOver/index.js b/frontend/src/components/NotificationsPopOver/index.js index 932547e..ed53dbb 100644 --- a/frontend/src/components/NotificationsPopOver/index.js +++ b/frontend/src/components/NotificationsPopOver/index.js @@ -183,7 +183,7 @@ const NotificationsPopOver = () => { {notifications.length === 0 ? ( - No tickets with unread messages. + {i18n.t("notifications.noTickets")} ) : ( notifications.map(ticket => ( diff --git a/frontend/src/components/UserModal/index.js b/frontend/src/components/UserModal/index.js index 52a33e7..8b299dd 100644 --- a/frontend/src/components/UserModal/index.js +++ b/frontend/src/components/UserModal/index.js @@ -18,7 +18,7 @@ import InputLabel from "@material-ui/core/InputLabel"; import MenuItem from "@material-ui/core/MenuItem"; import FormControl from "@material-ui/core/FormControl"; -// import { i18n } from "../../translate/i18n"; +import { i18n } from "../../translate/i18n"; import api from "../../services/api"; @@ -105,7 +105,7 @@ const UserModal = ({ open, onClose, userId }) => { } else { await api.post("/users", values); } - toast.success("Success!"); + toast.success(i18n.t("userModal.success")); } catch (err) { console.log(err); if (err.response && err.response.data && err.response.data.error) { @@ -119,7 +119,9 @@ const UserModal = ({ open, onClose, userId }) => {
- {userId ? `Edit User` : `New User`} + {userId + ? `${i18n.t("userModal.title.edit")}` + : `${i18n.t("userModal.title.add")}`} { { /> {
{ { disabled={isSubmitting} variant="outlined" > - Cancel + {i18n.t("userModal.buttons.cancel")}
diff --git a/frontend/src/pages/Connections/index.js b/frontend/src/pages/Connections/index.js index dc155c1..69c15ac 100644 --- a/frontend/src/pages/Connections/index.js +++ b/frontend/src/pages/Connections/index.js @@ -27,6 +27,7 @@ import api from "../../services/api"; import WhatsAppModal from "../../components/WhatsAppModal"; import ConfirmationModal from "../../components/ConfirmationModal"; import QrcodeModal from "../../components/QrcodeModal"; +import { i18n } from "../../translate/i18n"; const reducer = (state, action) => { if (action.type === "LOAD_WHATSAPPS") { @@ -179,7 +180,7 @@ const Connections = () => { const handleDeleteWhatsApp = async whatsAppId => { try { await api.delete(`/whatsapp/${whatsAppId}`); - toast.success("Deleted!"); + toast.success(i18n.t("connections.toasts.deleted")); } catch (err) { console.log(err); if (err.response && err.response.data && err.response.data.error) { @@ -192,12 +193,17 @@ const Connections = () => { return ( handleDeleteWhatsApp(deletingWhatsApp.id)} > - Are you sure? It cannot be reverted. + {i18n.t("connections.confirmationModal.deleteMessage")} { whatsAppId={selectedWhatsApp && !qrModalOpen && selectedWhatsApp.id} /> - Connections + {i18n.t("connections.title")} @@ -227,11 +233,21 @@ const Connections = () => { - Name - Status - Last update - Default - Actions + + {i18n.t("connections.table.name")} + + + {i18n.t("connections.table.status")} + + + {i18n.t("connections.table.lastUpdate")} + + + {i18n.t("connections.table.default")} + + + {i18n.t("connections.table.actions")} + diff --git a/frontend/src/pages/Contacts/index.js b/frontend/src/pages/Contacts/index.js index 7a09d0b..dd9dbab 100644 --- a/frontend/src/pages/Contacts/index.js +++ b/frontend/src/pages/Contacts/index.js @@ -164,7 +164,7 @@ const Contacts = () => { const handleDeleteContact = async contactId => { try { await api.delete(`/contacts/${contactId}`); - toast.success("Contact deleted sucessfully!"); + toast.success(i18n.t("contacts.toasts.deleted")); } catch (err) { console.log(err); if (err.response && err.response.data && err.response.data.error) { diff --git a/frontend/src/pages/Settings/index.js b/frontend/src/pages/Settings/index.js index a1dc40d..1b5e5b1 100644 --- a/frontend/src/pages/Settings/index.js +++ b/frontend/src/pages/Settings/index.js @@ -9,6 +9,7 @@ import Select from "@material-ui/core/Select"; import { toast } from "react-toastify"; import api from "../../services/api"; +import { i18n } from "../../translate/i18n.js"; const useStyles = makeStyles(theme => ({ root: { @@ -78,7 +79,7 @@ const Settings = () => { await api.put(`/settings/${settingKey}`, { value: selectedValue, }); - toast.success("Setting updated"); + toast.success(i18n.t("settings.success")); } catch (err) { console.log(err); if (err.response && err.response.data && err.response.data.error) { @@ -96,10 +97,12 @@ const Settings = () => {
- Settings + {i18n.t("settings.title")} - User creation + + {i18n.t("settings.settings.userCreation.name")} + diff --git a/frontend/src/pages/Users/index.js b/frontend/src/pages/Users/index.js index 1165b34..443d8e2 100644 --- a/frontend/src/pages/Users/index.js +++ b/frontend/src/pages/Users/index.js @@ -24,6 +24,7 @@ import MainHeaderButtonsWrapper from "../../components/MainHeaderButtonsWrapper" import Title from "../../components/Title"; import api from "../../services/api"; +import { i18n } from "../../translate/i18n"; import TableRowSkeleton from "../../components/TableRowSkeleton"; import UserModal from "../../components/UserModal"; import ConfirmationModal from "../../components/ConfirmationModal"; @@ -161,7 +162,7 @@ const Users = () => { const handleDeleteUser = async userId => { try { await api.delete(`/users/${userId}`); - toast.success("User deleted!"); + toast.success(i18n.t("users.toasts.deleted")); } catch (err) { console.log(err); if (err.response && err.response.data && err.response.data.error) { @@ -188,12 +189,17 @@ const Users = () => { return ( handleDeleteUser(deletingUser.id)} + onConfirm={() => handleDeleteUser(deletingUser.id)} > - Are you sure? It canoot be reverted. + {i18n.t("users.confirmationModal.deleteMessage")} { userId={selectedUser && selectedUser.id} /> - Usuários + {i18n.t("users.title")} { color="primary" onClick={handleOpenUserModal} > - Novo Usuário + {i18n.t("users.buttons.add")} @@ -234,10 +240,12 @@ const Users = () => {
- Name - Email - Profile - Actions + {i18n.t("users.table.name")} + {i18n.t("users.table.email")} + {i18n.t("users.table.profile")} + + {i18n.t("users.table.actions")} + diff --git a/frontend/src/translate/languages/en.js b/frontend/src/translate/languages/en.js index a6feb5b..e9704e3 100644 --- a/frontend/src/translate/languages/en.js +++ b/frontend/src/translate/languages/en.js @@ -41,20 +41,50 @@ const messages = { }, }, }, - sessionInfo: { - status: "Status:", - battery: "Battery:", - charging: "Loading:", - updatedAt: "Updated at:", - buttons: { - disconnect: "Disconnect", + connections: { + title: "Connections", + toasts: { + deleted: "WhatsApp connection deleted sucessfully!", }, + confirmationModal: { + deleteTitle: "Delete", + deleteMessage: "Are you sure? It cannot be reverted.", + }, + buttons: { + add: "Add WhatsApp", + }, + table: { + name: "Name", + status: "Status", + lastUpdate: "Last Update", + default: "Default", + actions: "Actions", + }, + }, + whatsappModal: { + title: { + add: "Add WhatsApp", + edit: "Edit WhatsApp", + }, + form: { + name: "Name", + default: "Default", + }, + buttons: { + okAdd: "Add", + okEdit: "Save", + cancel: "Cancel", + }, + success: "WhatsApp saved successfully.", }, qrCode: { message: "Read QrCode to start the session", }, contacts: { title: "Contacts", + toasts: { + deleted: "Contact deleted sucessfully!", + }, searchPlaceholder: "Search ...", confirmationModal: { deleteTitle: "Delete", @@ -95,6 +125,25 @@ const messages = { okEdit: "Save", cancel: "Cancel", }, + success: "Contact saved successfully.", + }, + userModal: { + title: { + add: "Add user", + edit: "Edit user", + }, + form: { + name: "Name", + email: "Email", + password: "Password", + profile: "Profile", + }, + buttons: { + okAdd: "Add", + okEdit: "Save", + cancel: "Cancel", + }, + success: "User saved successfully.", }, chat: { noTicketMessage: "Select a ticket to start chatting.", @@ -138,13 +187,55 @@ const messages = { mainDrawer: { listItems: { dashboard: "Dashboard", - connection: "Connection", + connections: "Connections", tickets: "Tickets", contacts: "Contacts", administration: "Administration", users: "Users", settings: "Settings", }, + appBar: { + user: { + profile: "Profile", + logout: "Logout", + }, + }, + }, + notifications: { + noTickets: "No notifications.", + }, + users: { + title: "Users", + table: { + name: "Name", + email: "Email", + profile: "Profile", + actions: "Actions", + }, + buttons: { + add: "Add user", + }, + toasts: { + deleted: "User deleted sucessfully.", + }, + confirmationModal: { + deleteTitle: "Delete", + deleteMessage: + "All user data will be lost. Users' open tickets will be moved to queue.", + }, + }, + settings: { + success: "Settings saved successfully.", + title: "Settings", + settings: { + userCreation: { + name: "User creation", + options: { + enabled: "Enabled", + disabled: "Disabled", + }, + }, + }, }, messagesList: { header: { @@ -185,6 +276,14 @@ const messages = { cancel: "Cancel", }, }, + messageOptionsMenu: { + delete: "Delete", + reply: "Reply", + confirmationModal: { + title: "Delete message?", + message: "This action cannot be reverted.", + }, + }, }, }, }; diff --git a/frontend/src/translate/languages/pt.js b/frontend/src/translate/languages/pt.js index 65794bd..da30faf 100644 --- a/frontend/src/translate/languages/pt.js +++ b/frontend/src/translate/languages/pt.js @@ -41,20 +41,50 @@ const messages = { }, }, }, - sessionInfo: { - status: "Status: ", - battery: "Bateria: ", - charging: "Carregando: ", - updatedAt: "Atualizado em:", - buttons: { - disconnect: "Desconectar", + connections: { + title: "Conexões", + toasts: { + deleted: "Conexão com o WhatsApp excluída com sucesso!", }, + confirmationModal: { + deleteTitle: "Deletar", + deleteMessage: "Você tem certeza? Essa ação não pode ser revertida.", + }, + buttons: { + add: "Adicionar WhatsApp", + }, + table: { + name: "Nome", + status: "Status", + lastUpdate: "Última atualização", + default: "Padrão", + actions: "Ações", + }, + }, + whatsappModal: { + title: { + add: "Adicionar WhatsApp", + edit: "Editar WhatsApp", + }, + form: { + name: "Nome", + default: "Padrão", + }, + buttons: { + okAdd: "Adicionar", + okEdit: "Salvar", + cancel: "Cancelar", + }, + success: "WhatsApp salvo com sucesso.", }, qrCode: { message: "Leia o QrCode para iniciar a sessão", }, contacts: { title: "Contatos", + toasts: { + deleted: "Contato excluído com sucesso!", + }, searchPlaceholder: "Pesquisar...", confirmationModal: { deleteTitle: "Deletar ", @@ -95,6 +125,25 @@ const messages = { okEdit: "Salvar", cancel: "Cancelar", }, + success: "Contato salvo com sucesso.", + }, + userModal: { + title: { + add: "Adicionar usuário", + edit: "Editar usuário", + }, + form: { + name: "Nome", + email: "Email", + password: "Senha", + profile: "Perfil", + }, + buttons: { + okAdd: "Adicionar", + okEdit: "Salvar", + cancel: "Cancelar", + }, + success: "Usuário salvo com sucesso.", }, chat: { noTicketMessage: "Selecione um ticket para começar a conversar.", @@ -112,7 +161,7 @@ const messages = { search: { title: "Busca" }, }, search: { - placeholder: "Pesquisar tickets e mensagens.", + placeholder: "Buscar tickets e mensagens", }, buttons: { showAll: "Todos", @@ -139,9 +188,54 @@ const messages = { mainDrawer: { listItems: { dashboard: "Dashboard", - connection: "Conexão", + connections: "Conexões", tickets: "Tickets", contacts: "Contatos", + administration: "Administração", + users: "Usuários", + settings: "Configurações", + }, + appBar: { + user: { + profile: "Perfil", + logout: "Sair", + }, + }, + }, + notifications: { + noTickets: "Nenhuma notificação.", + }, + users: { + title: "Usuários", + table: { + name: "Nome", + email: "Email", + profile: "Perfil", + actions: "Ações", + }, + buttons: { + add: "Adicionar usuário", + }, + toasts: { + deleted: "Usuário excluído com sucesso.", + }, + confirmationModal: { + deleteTitle: "Excluir", + deleteMessage: + "Todos os dados do usuário serão perdidos. Os tickets abertos deste usuário serão movidos para a fila.", + }, + }, + settings: { + success: "Configurações salvas com sucesso.", + title: "Configurações", + settings: { + userCreation: { + name: "Criação de usuário", + options: { + enabled: "Ativado", + disabled: "Desativado", + }, + }, }, }, messagesList: { @@ -173,6 +267,10 @@ const messages = { message: "Atenção! Todas as mensagens relacionadas ao ticket serão perdidas.", }, + buttons: { + delete: "Excluir", + cancel: "Cancelar", + }, }, confirmationModal: { buttons: { @@ -180,6 +278,14 @@ const messages = { cancel: "Cancelar", }, }, + messageOptionsMenu: { + delete: "Deletar", + reply: "Responder", + confirmationModal: { + title: "Apagar mensagem?", + message: "Esta ação não pode ser revertida.", + }, + }, }, }, };