mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-18 03:39:29 +00:00
improvement: updated translations en/pt
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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 (
|
||||
<>
|
||||
<ConfirmationModal
|
||||
title={`Delete message?`}
|
||||
title={i18n.t("messageOptionsMenu.confirmationModal.title")}
|
||||
open={confirmationOpen}
|
||||
setOpen={setConfirmationOpen}
|
||||
onConfirm={handleDeleteMessage}
|
||||
>
|
||||
This action cannot be reverted.
|
||||
{i18n.t("messageOptionsMenu.confirmationModal.message")}
|
||||
</ConfirmationModal>
|
||||
<Menu
|
||||
anchorEl={anchorEl}
|
||||
@@ -53,9 +53,9 @@ const MessageOptionsMenu = ({ messageId, menuOpen, handleClose, anchorEl }) => {
|
||||
onClose={handleClose}
|
||||
>
|
||||
<MenuItem onClick={handleOpenConfirmationModal}>
|
||||
Delete Message
|
||||
{i18n.t("messageOptionsMenu.delete")}
|
||||
</MenuItem>
|
||||
<MenuItem disabled>Reply Message</MenuItem>
|
||||
<MenuItem disabled> {i18n.t("messageOptionsMenu.reply")}</MenuItem>
|
||||
</Menu>
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -183,7 +183,7 @@ const NotificationsPopOver = () => {
|
||||
<List dense className={classes.tabContainer}>
|
||||
{notifications.length === 0 ? (
|
||||
<ListItem>
|
||||
<ListItemText>No tickets with unread messages.</ListItemText>
|
||||
<ListItemText>{i18n.t("notifications.noTickets")}</ListItemText>
|
||||
</ListItem>
|
||||
) : (
|
||||
notifications.map(ticket => (
|
||||
|
||||
@@ -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 }) => {
|
||||
<div className={classes.root}>
|
||||
<Dialog open={open} onClose={handleClose} maxWidth="lg" scroll="paper">
|
||||
<DialogTitle id="form-dialog-title">
|
||||
{userId ? `Edit User` : `New User`}
|
||||
{userId
|
||||
? `${i18n.t("userModal.title.edit")}`
|
||||
: `${i18n.t("userModal.title.add")}`}
|
||||
</DialogTitle>
|
||||
<Formik
|
||||
initialValues={user}
|
||||
@@ -137,7 +139,7 @@ const UserModal = ({ open, onClose, userId }) => {
|
||||
<DialogContent dividers>
|
||||
<Field
|
||||
as={TextField}
|
||||
label="Name"
|
||||
label={i18n.t("userModal.form.name")}
|
||||
autoFocus
|
||||
name="name"
|
||||
error={touched.name && Boolean(errors.name)}
|
||||
@@ -148,7 +150,7 @@ const UserModal = ({ open, onClose, userId }) => {
|
||||
/>
|
||||
<Field
|
||||
as={TextField}
|
||||
label="Email"
|
||||
label={i18n.t("userModal.form.email")}
|
||||
name="email"
|
||||
error={touched.email && Boolean(errors.email)}
|
||||
helperText={touched.email && errors.email}
|
||||
@@ -158,7 +160,7 @@ const UserModal = ({ open, onClose, userId }) => {
|
||||
<div>
|
||||
<Field
|
||||
as={TextField}
|
||||
label="New Password"
|
||||
label={i18n.t("userModal.form.password")}
|
||||
type="password"
|
||||
name="password"
|
||||
error={touched.password && Boolean(errors.password)}
|
||||
@@ -176,7 +178,7 @@ const UserModal = ({ open, onClose, userId }) => {
|
||||
</InputLabel>
|
||||
<Field
|
||||
as={Select}
|
||||
label="Profile"
|
||||
label={i18n.t("userModal.form.profile")}
|
||||
name="profile"
|
||||
labelId="profile-selection-label"
|
||||
id="profile-selection"
|
||||
@@ -195,7 +197,7 @@ const UserModal = ({ open, onClose, userId }) => {
|
||||
disabled={isSubmitting}
|
||||
variant="outlined"
|
||||
>
|
||||
Cancel
|
||||
{i18n.t("userModal.buttons.cancel")}
|
||||
</Button>
|
||||
<Button
|
||||
type="submit"
|
||||
@@ -204,7 +206,9 @@ const UserModal = ({ open, onClose, userId }) => {
|
||||
variant="contained"
|
||||
className={classes.btnWrapper}
|
||||
>
|
||||
{"Ok"}
|
||||
{userId
|
||||
? `${i18n.t("userModal.buttons.okEdit")}`
|
||||
: `${i18n.t("userModal.buttons.okAdd")}`}
|
||||
{isSubmitting && (
|
||||
<CircularProgress
|
||||
size={24}
|
||||
|
||||
@@ -20,6 +20,7 @@ import {
|
||||
|
||||
// import { i18n } from "../../translate/i18n";
|
||||
import api from "../../services/api";
|
||||
import { i18n } from "../../translate/i18n";
|
||||
|
||||
const useStyles = makeStyles(theme => ({
|
||||
form: {
|
||||
@@ -91,7 +92,7 @@ const WhatsAppModal = ({ open, onClose, whatsAppId }) => {
|
||||
} else {
|
||||
await api.post("/whatsapp", values);
|
||||
}
|
||||
toast.success("Success!");
|
||||
toast.success(i18n.t("whatsappModal.success"));
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
if (err.response && err.response.data && err.response.data.error) {
|
||||
@@ -108,7 +109,11 @@ const WhatsAppModal = ({ open, onClose, whatsAppId }) => {
|
||||
|
||||
return (
|
||||
<Dialog open={open} onClose={handleClose} maxWidth="lg" scroll="paper">
|
||||
<DialogTitle>WhatsApp</DialogTitle>
|
||||
<DialogTitle>
|
||||
{whatsAppId
|
||||
? i18n.t("whatsappModal.title.edit")
|
||||
: i18n.t("whatsappModal.title.add")}
|
||||
</DialogTitle>
|
||||
<Formik
|
||||
initialValues={whatsApp}
|
||||
enableReinitialize={true}
|
||||
@@ -116,7 +121,6 @@ const WhatsAppModal = ({ open, onClose, whatsAppId }) => {
|
||||
onSubmit={(values, actions) => {
|
||||
setTimeout(() => {
|
||||
handleSaveWhatsApp(values);
|
||||
// alert(JSON.stringify(values, null, 2));
|
||||
actions.setSubmitting(false);
|
||||
}, 400);
|
||||
}}
|
||||
@@ -126,7 +130,7 @@ const WhatsAppModal = ({ open, onClose, whatsAppId }) => {
|
||||
<DialogContent dividers className={classes.form}>
|
||||
<Field
|
||||
as={TextField}
|
||||
label="Name"
|
||||
label={i18n.t("whatsappModal.form.name")}
|
||||
autoFocus
|
||||
name="name"
|
||||
error={touched.name && Boolean(errors.name)}
|
||||
@@ -144,7 +148,7 @@ const WhatsAppModal = ({ open, onClose, whatsAppId }) => {
|
||||
checked={values.isDefault}
|
||||
/>
|
||||
}
|
||||
label="Default"
|
||||
label={i18n.t("whatsappModal.form.default")}
|
||||
/>
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
@@ -154,7 +158,7 @@ const WhatsAppModal = ({ open, onClose, whatsAppId }) => {
|
||||
disabled={isSubmitting}
|
||||
variant="outlined"
|
||||
>
|
||||
Cancel
|
||||
{i18n.t("whatsappModal.buttons.cancel")}
|
||||
</Button>
|
||||
<Button
|
||||
type="submit"
|
||||
@@ -163,7 +167,9 @@ const WhatsAppModal = ({ open, onClose, whatsAppId }) => {
|
||||
variant="contained"
|
||||
className={classes.btnWrapper}
|
||||
>
|
||||
Save
|
||||
{whatsAppId
|
||||
? i18n.t("whatsappModal.buttons.okEdit")
|
||||
: i18n.t("whatsappModal.buttons.okAdd")}
|
||||
{isSubmitting && (
|
||||
<CircularProgress
|
||||
size={24}
|
||||
|
||||
@@ -44,7 +44,7 @@ const MainListItems = () => {
|
||||
<ListItemLink to="/" primary="Dashboard" icon={<DashboardIcon />} />
|
||||
<ListItemLink
|
||||
to="/connections"
|
||||
primary="Connections"
|
||||
primary={i18n.t("mainDrawer.listItems.connections")}
|
||||
icon={<SyncAltIcon />}
|
||||
/>
|
||||
<ListItemLink
|
||||
@@ -61,7 +61,9 @@ const MainListItems = () => {
|
||||
{userProfile === "admin" && (
|
||||
<>
|
||||
<Divider />
|
||||
<ListSubheader inset>Administration</ListSubheader>
|
||||
<ListSubheader inset>
|
||||
{i18n.t("mainDrawer.listItems.administration")}
|
||||
</ListSubheader>
|
||||
<ListItemLink
|
||||
to="/users"
|
||||
primary={i18n.t("mainDrawer.listItems.users")}
|
||||
|
||||
@@ -20,6 +20,7 @@ import NotificationsPopOver from "../NotificationsPopOver";
|
||||
import UserModal from "../UserModal";
|
||||
import { AuthContext } from "../../context/Auth/AuthContext";
|
||||
import BackdropLoading from "../BackdropLoading";
|
||||
import { i18n } from "../../translate/i18n";
|
||||
|
||||
const drawerWidth = 240;
|
||||
|
||||
@@ -197,7 +198,7 @@ const LoggedInLayout = ({ appTitle, children }) => {
|
||||
noWrap
|
||||
className={classes.title}
|
||||
>
|
||||
WHATICKET
|
||||
WhaTicket
|
||||
</Typography>
|
||||
<NotificationsPopOver />
|
||||
|
||||
@@ -226,8 +227,12 @@ const LoggedInLayout = ({ appTitle, children }) => {
|
||||
open={menuOpen}
|
||||
onClose={handleCloseMenu}
|
||||
>
|
||||
<MenuItem onClick={handleOpenUserModal}>Profile</MenuItem>
|
||||
<MenuItem onClick={handleLogout}>Logout</MenuItem>
|
||||
<MenuItem onClick={handleOpenUserModal}>
|
||||
{i18n.t("mainDrawer.appBar.user.profile")}
|
||||
</MenuItem>
|
||||
<MenuItem onClick={handleLogout}>
|
||||
{i18n.t("mainDrawer.appBar.user.logout")}
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
</div>
|
||||
</Toolbar>
|
||||
|
||||
@@ -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 (
|
||||
<MainContainer>
|
||||
<ConfirmationModal
|
||||
title={deletingWhatsApp && `Delete ${deletingWhatsApp.name}?`}
|
||||
title={
|
||||
deletingWhatsApp &&
|
||||
`${i18n.t("connections.confirmationModal.deleteTitle")} ${
|
||||
deletingWhatsApp.name
|
||||
}?`
|
||||
}
|
||||
open={confirmModalOpen}
|
||||
setOpen={setConfirmModalOpen}
|
||||
onConfirm={() => handleDeleteWhatsApp(deletingWhatsApp.id)}
|
||||
>
|
||||
Are you sure? It cannot be reverted.
|
||||
{i18n.t("connections.confirmationModal.deleteMessage")}
|
||||
</ConfirmationModal>
|
||||
<QrcodeModal
|
||||
open={qrModalOpen}
|
||||
@@ -212,14 +218,14 @@ const Connections = () => {
|
||||
whatsAppId={selectedWhatsApp && !qrModalOpen && selectedWhatsApp.id}
|
||||
/>
|
||||
<MainHeader>
|
||||
<Title>Connections</Title>
|
||||
<Title>{i18n.t("connections.title")}</Title>
|
||||
<MainHeaderButtonsWrapper>
|
||||
<Button
|
||||
variant="contained"
|
||||
color="primary"
|
||||
onClick={handleOpenWhatsAppModal}
|
||||
>
|
||||
Add Whatsapp
|
||||
{i18n.t("connections.buttons.add")}
|
||||
</Button>
|
||||
</MainHeaderButtonsWrapper>
|
||||
</MainHeader>
|
||||
@@ -227,11 +233,21 @@ const Connections = () => {
|
||||
<Table size="small">
|
||||
<TableHead>
|
||||
<TableRow>
|
||||
<TableCell align="center">Name</TableCell>
|
||||
<TableCell align="center">Status</TableCell>
|
||||
<TableCell align="center">Last update</TableCell>
|
||||
<TableCell align="center">Default</TableCell>
|
||||
<TableCell align="center">Actions</TableCell>
|
||||
<TableCell align="center">
|
||||
{i18n.t("connections.table.name")}
|
||||
</TableCell>
|
||||
<TableCell align="center">
|
||||
{i18n.t("connections.table.status")}
|
||||
</TableCell>
|
||||
<TableCell align="center">
|
||||
{i18n.t("connections.table.lastUpdate")}
|
||||
</TableCell>
|
||||
<TableCell align="center">
|
||||
{i18n.t("connections.table.default")}
|
||||
</TableCell>
|
||||
<TableCell align="center">
|
||||
{i18n.t("connections.table.actions")}
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
<TableBody>
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 = () => {
|
||||
<div className={classes.root}>
|
||||
<Container className={classes.container} maxWidth="sm">
|
||||
<Typography variant="body2" gutterBottom>
|
||||
Settings
|
||||
{i18n.t("settings.title")}
|
||||
</Typography>
|
||||
<Paper className={classes.paper}>
|
||||
<Typography variant="body1">User creation</Typography>
|
||||
<Typography variant="body1">
|
||||
{i18n.t("settings.settings.userCreation.name")}
|
||||
</Typography>
|
||||
<Select
|
||||
margin="dense"
|
||||
variant="outlined"
|
||||
@@ -112,8 +115,12 @@ const Settings = () => {
|
||||
className={classes.settingOption}
|
||||
onChange={handleChangeSetting}
|
||||
>
|
||||
<option value="enabled">Enabled</option>
|
||||
<option value="disabled">Disabled</option>
|
||||
<option value="enabled">
|
||||
{i18n.t("settings.settings.userCreation.options.enabled")}
|
||||
</option>
|
||||
<option value="disabled">
|
||||
{i18n.t("settings.settings.userCreation.options.disabled")}
|
||||
</option>
|
||||
</Select>
|
||||
</Paper>
|
||||
</Container>
|
||||
|
||||
@@ -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 (
|
||||
<MainContainer>
|
||||
<ConfirmationModal
|
||||
title={deletingUser && `Delete ${deletingUser.name}?`}
|
||||
title={
|
||||
deletingUser &&
|
||||
`${i18n.t("users.confirmationModal.deleteTitle")} ${
|
||||
deletingUser.name
|
||||
}?`
|
||||
}
|
||||
open={confirmModalOpen}
|
||||
setOpen={setConfirmModalOpen}
|
||||
onConfirm={e => handleDeleteUser(deletingUser.id)}
|
||||
onConfirm={() => handleDeleteUser(deletingUser.id)}
|
||||
>
|
||||
Are you sure? It canoot be reverted.
|
||||
{i18n.t("users.confirmationModal.deleteMessage")}
|
||||
</ConfirmationModal>
|
||||
<UserModal
|
||||
open={userModalOpen}
|
||||
@@ -202,10 +208,10 @@ const Users = () => {
|
||||
userId={selectedUser && selectedUser.id}
|
||||
/>
|
||||
<MainHeader>
|
||||
<Title>Usuários</Title>
|
||||
<Title>{i18n.t("users.title")}</Title>
|
||||
<MainHeaderButtonsWrapper>
|
||||
<TextField
|
||||
placeholder="Search..."
|
||||
placeholder={i18n.t("contacts.searchPlaceholder")}
|
||||
type="search"
|
||||
value={searchParam}
|
||||
onChange={handleSearch}
|
||||
@@ -222,7 +228,7 @@ const Users = () => {
|
||||
color="primary"
|
||||
onClick={handleOpenUserModal}
|
||||
>
|
||||
Novo Usuário
|
||||
{i18n.t("users.buttons.add")}
|
||||
</Button>
|
||||
</MainHeaderButtonsWrapper>
|
||||
</MainHeader>
|
||||
@@ -234,10 +240,12 @@ const Users = () => {
|
||||
<Table size="small">
|
||||
<TableHead>
|
||||
<TableRow>
|
||||
<TableCell>Name</TableCell>
|
||||
<TableCell>Email</TableCell>
|
||||
<TableCell>Profile</TableCell>
|
||||
<TableCell align="right">Actions</TableCell>
|
||||
<TableCell>{i18n.t("users.table.name")}</TableCell>
|
||||
<TableCell>{i18n.t("users.table.email")}</TableCell>
|
||||
<TableCell>{i18n.t("users.table.profile")}</TableCell>
|
||||
<TableCell align="right">
|
||||
{i18n.t("users.table.actions")}
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
<TableBody>
|
||||
|
||||
@@ -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.",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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.",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user