diff --git a/backend/src/controllers/PrivacyController.ts b/backend/src/controllers/PrivacyController.ts new file mode 100644 index 00000000..46ddfd63 --- /dev/null +++ b/backend/src/controllers/PrivacyController.ts @@ -0,0 +1,46 @@ +import { Request, Response } from "express"; +import ShowPrivacyService from "../services/PrivacyService/ShowPrivacyService"; +import Whatsapp from "../models/Whatsapp"; +import AppError from "../errors/AppError"; +import ShowWhatsAppService from "../services/WhatsappService/ShowWhatsAppService"; +import UpdatePrivacyWhatsapp from "../services/PrivacyService/UpdatePrivacyWhatsapp"; + +interface PrivacyData { + readreceipts?: 'all' | 'none'; + profile?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + status?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + online?: 'all' | 'match_last_seen'; + last?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + groupadd?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + calladd?: 'all' | 'known'; + disappearing?: '86400' | '604800' | '7776000' | '0' + whatsappId?: number; +} +export const show = async (req: Request, res: Response): Promise => { + const { whatsappId } = req.params; + const { companyId } = req.user; + + const whatsapp: Whatsapp = await ShowWhatsAppService(whatsappId, companyId); + + if(whatsapp) { + const privacy: PrivacyData = await ShowPrivacyService(whatsappId); + return res.status(200).json(privacy); + } + + throw new AppError("ERR_NO_PRIVACY_FOUND", 404); +} + +export const update = async (req: Request, res: Response): Promise => { + const { whatsappId } = req.params; + const { companyId } = req.user; + + const whatsapp: Whatsapp = await ShowWhatsAppService(whatsappId, companyId); + + if(whatsapp) { + const privacyData: PrivacyData = req.body; + const privacy: PrivacyData = await UpdatePrivacyWhatsapp(whatsapp.id, privacyData, true); + return res.status(200).json(privacy); + } + + throw new AppError("ERR_NO_PRIVACY_FOUND", 404); +} diff --git a/backend/src/routes/whatsappRoutes.ts b/backend/src/routes/whatsappRoutes.ts index d6301c7c..fdc2cdf4 100644 --- a/backend/src/routes/whatsappRoutes.ts +++ b/backend/src/routes/whatsappRoutes.ts @@ -2,6 +2,7 @@ import express from "express"; import isAuth from "../middleware/isAuth"; import * as WhatsAppController from "../controllers/WhatsAppController"; +import * as PrivacyController from "../controllers/PrivacyController"; const whatsappRoutes = express.Router(); @@ -16,9 +17,12 @@ whatsappRoutes.get("/whatsapp/:whatsappId", isAuth, WhatsAppController.show); whatsappRoutes.put("/whatsapp/:whatsappId", isAuth, WhatsAppController.update); whatsappRoutes.delete( - "/whatsapp/:whatsappId", - isAuth, - WhatsAppController.remove + "/whatsapp/:whatsappId", + isAuth, + WhatsAppController.remove ); +whatsappRoutes.get("/whatsapp/privacy/:whatsappId", isAuth, PrivacyController.show); +whatsappRoutes.put("/whatsapp/privacy/:whatsappId", isAuth, PrivacyController.update); + export default whatsappRoutes; diff --git a/backend/src/services/PrivacyService/ShowPrivacyService.ts b/backend/src/services/PrivacyService/ShowPrivacyService.ts new file mode 100644 index 00000000..b02220cb --- /dev/null +++ b/backend/src/services/PrivacyService/ShowPrivacyService.ts @@ -0,0 +1,30 @@ +import AppError from "../../errors/AppError"; +import { getWbot, Session } from "../../libs/wbot"; + +interface PrivacyData { + readreceipts?: 'all' | 'none'; + profile?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + status?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + online?: 'all' | 'match_last_seen'; + last?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + groupadd?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + calladd?: 'all' | 'known'; + disappearing?: '86400' | '604800' | '7776000' | '0' + whatsappId?: number; +} + +const ShowPrivacyService = async (whatsappId: number | string): Promise => { + if(typeof whatsappId === "string"){ + whatsappId = parseInt(whatsappId); + } + const wbot:Session = getWbot(whatsappId); + const privacy: PrivacyData = await wbot.fetchPrivacySettings(true) + + if (!privacy) { + throw new AppError("ERR_NO_PRIVACY_FOUND", 404); + } + + return privacy; +}; + +export default ShowPrivacyService; diff --git a/backend/src/services/PrivacyService/UpdatePrivacyWhatsapp.ts b/backend/src/services/PrivacyService/UpdatePrivacyWhatsapp.ts new file mode 100644 index 00000000..1df9acd0 --- /dev/null +++ b/backend/src/services/PrivacyService/UpdatePrivacyWhatsapp.ts @@ -0,0 +1,41 @@ +import { getWbot, Session } from "../../libs/wbot"; +import { logger } from "../../utils/logger"; +import ShowPrivacyService from "./ShowPrivacyService"; + +interface Request { + readreceipts?: 'all' | 'none'; + profile?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + status?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + online?: 'all' | 'match_last_seen'; + last?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + groupadd?: 'all' | 'contacts' | 'contact_blacklist' | 'none'; + calladd?: 'all' | 'known'; + disappearing?: '86400' | '604800' | '7776000' | '0' + whatsappId?: number; +} + +const UpdatePrivacyWhatsapp = async (whatsappId: number, privacySettings: Request, update: boolean = false): Promise => { + try { + const privacy: Request = await ShowPrivacyService(whatsappId); + if(privacy) { + if(update) { + const wbot: Session = getWbot(whatsappId); + privacy.readreceipts !== privacySettings.readreceipts ? wbot.updateReadReceiptsPrivacy(privacySettings.readreceipts) : null; + privacy.profile !== privacySettings.profile ? wbot.updateProfilePicturePrivacy(privacySettings.profile) : null; + privacy.status !== privacySettings.status ? wbot.updateStatusPrivacy(privacySettings.status) : null; + privacy.online !== privacySettings.online ? wbot.updateOnlinePrivacy(privacySettings.online) : null; + privacy.last !== privacySettings.last ? wbot.updateLastSeenPrivacy(privacySettings.last) : null; + privacy.groupadd !== privacySettings.groupadd ? wbot.updateGroupsAddPrivacy(privacySettings.groupadd) : null; + privacy.calladd !== privacySettings.calladd ? wbot.updateCallPrivacy(privacySettings.calladd) : null; + privacy.disappearing !== privacySettings.disappearing ? wbot.updateDefaultDisappearingMode(parseInt(privacySettings.disappearing)) : null; + } + + return privacy; + } else { + return privacy; + } + } catch(err) { + logger.error(err); + } +} +export default UpdatePrivacyWhatsapp; diff --git a/frontend/src/components/PrivacyModal/index.js b/frontend/src/components/PrivacyModal/index.js new file mode 100644 index 00000000..6a77f28a --- /dev/null +++ b/frontend/src/components/PrivacyModal/index.js @@ -0,0 +1,419 @@ +import React, { useState, useEffect } from "react"; +import { Formik, Form, Field } from "formik"; +import { toast } from "react-toastify"; + +import { + Dialog, + DialogContent, + DialogTitle, + Button, + DialogActions, + CircularProgress, + Grid, + FormControl, + InputLabel, + Select, + MenuItem, + makeStyles, +} from "@material-ui/core"; +import { green } from "@material-ui/core/colors"; + +import api from "../../services/api"; +import { i18n } from "../../translate/i18n"; +import toastError from "../../errors/toastError"; + +const useStyles = makeStyles((theme) => ({ + root: { + display: "flex", + flexWrap: "wrap", + backgroundColor: theme.palette.tabHeaderBackground, + }, + + multFieldLine: { + display: "flex", + "& > *:not(:last-child)": { + marginRight: theme.spacing(1), + }, + }, + + btnWrapper: { + position: "relative", + }, + + buttonProgress: { + color: green[500], + position: "absolute", + top: "50%", + left: "50%", + marginTop: -12, + marginLeft: -12, + }, +})); + +const PrivacyModal = ({ open, onClose, whatsAppId }) => { + const classes = useStyles(); + const initialState = { + readreceipts: 'all', + profile: 'all', + status: 'all', + online: 'all', + last: 'all', + groupadd: 'all', + calladd: 'all', + disappearing: '0' + }; + const [privacy, setPrivacy] = useState(initialState); + + useEffect(() => { + const fetchSession = async () => { + if (!whatsAppId) return; + + try { + const { data } = await api.get(`whatsapp/privacy/${whatsAppId}`); + setPrivacy(data); + } catch (err) { + toastError(err); + } + }; + fetchSession(); + }, [whatsAppId]); + + const handleSavePrivacy = async (values) => { + const privacyData = { ...values }; + + try { + await api.put(`/whatsapp/privacy/${whatsAppId}`, privacyData); + toast.success(i18n.t("privacyModal.success")); + handleClose(); + } catch (err) { + toastError(err); + } + }; + + const handleClose = () => { + onClose(); + setPrivacy(initialState); + }; + + return ( +
+ + + {i18n.t("privacyModal.title")} + {privacy.whatsapp && ( + <> + - {privacy?.whatsapp?.name} + + )} + + { + setTimeout(() => { + handleSavePrivacy(values); + actions.setSubmitting(false); + }, 400); + }} + > + {({ values, touched, errors, isSubmitting }) => ( +
+ +
+ + + + + {i18n.t("privacyModal.form.readreceipts")} + + + + {i18n.t("privacyModal.form.menu.all")} + + + {i18n.t("privacyModal.form.menu.none")} + + + + + + + + + {i18n.t("privacyModal.form.profile")} + + + + {i18n.t("privacyModal.form.menu.all")} + + + {i18n.t("privacyModal.form.menu.contacts")} + + + {i18n.t("privacyModal.form.menu.contact_blacklist")} + + + {i18n.t("privacyModal.form.menu.none")} + + + + + + + + + {i18n.t("privacyModal.form.status")} + + + + {i18n.t("privacyModal.form.menu.all")} + + + {i18n.t("privacyModal.form.menu.contacts")} + + + {i18n.t("privacyModal.form.menu.contact_blacklist")} + + + {i18n.t("privacyModal.form.menu.none")} + + + + + + + + + {i18n.t("privacyModal.form.online")} + + + + {i18n.t("privacyModal.form.menu.all")} + + + {i18n.t("privacyModal.form.menu.match_last_seen")} + + + + + + + + + {i18n.t("privacyModal.form.last")} + + + + {i18n.t("privacyModal.form.menu.all")} + + + {i18n.t("privacyModal.form.menu.contacts")} + + + {i18n.t("privacyModal.form.menu.contact_blacklist")} + + + {i18n.t("privacyModal.form.menu.none")} + + + + + + + + + {i18n.t("privacyModal.form.groupadd")} + + + + {i18n.t("privacyModal.form.menu.all")} + + + {i18n.t("privacyModal.form.menu.contacts")} + + + {i18n.t("privacyModal.form.menu.contact_blacklist")} + + + {i18n.t("privacyModal.form.menu.none")} + + + + + + {/* + + + {i18n.t("privacyModal.form.disappearing")} + + + + {i18n.t("privacyModal.form.menu.disable")} + + + {i18n.t("privacyModal.form.menu.hrs24")} + + + {i18n.t("privacyModal.form.menu.dias7")} + + + {i18n.t("privacyModal.form.menu.dias90")} + + + + */} + + + + + {i18n.t("privacyModal.form.calladd")} + + + + {i18n.t("privacyModal.form.menu.all")} + + + {i18n.t("privacyModal.form.menu.known")} + + + + + +
+
+ + + + +
+ )} +
+
+
+ ); +}; + +export default React.memo(PrivacyModal); diff --git a/frontend/src/pages/Connections/index.js b/frontend/src/pages/Connections/index.js index 401f6bf4..e79950db 100644 --- a/frontend/src/pages/Connections/index.js +++ b/frontend/src/pages/Connections/index.js @@ -25,6 +25,7 @@ import { SignalCellular4Bar, CropFree, DeleteOutline, + LockIcon, } from "@material-ui/icons"; import MainContainer from "../../components/MainContainer"; @@ -37,6 +38,7 @@ import api from "../../services/api"; import WhatsAppModal from "../../components/WhatsAppModal"; import ConfirmationModal from "../../components/ConfirmationModal"; import QrcodeModal from "../../components/QrcodeModal"; +import PrivacyModal from "../../components/PrivacyModal"; import { i18n } from "../../translate/i18n"; import { WhatsAppsContext } from "../../context/WhatsApp/WhatsAppsContext"; import toastError from "../../errors/toastError"; @@ -97,6 +99,7 @@ const Connections = () => { const { whatsApps, loading } = useContext(WhatsAppsContext); const [whatsAppModalOpen, setWhatsAppModalOpen] = useState(false); + const [privacyModalOpen, setPrivacyModalOpen] = useState(false); const [qrModalOpen, setQrModalOpen] = useState(false); const [selectedWhatsApp, setSelectedWhatsApp] = useState(null); const [confirmModalOpen, setConfirmModalOpen] = useState(false); @@ -152,6 +155,16 @@ const Connections = () => { setWhatsAppModalOpen(true); }; + const handleOpenPrivacyWhatsApp = (whatsApp) => { + setSelectedWhatsApp(whatsApp); + setPrivacyModalOpen(true); + }; + + const handleClosePrivacyWhatsAppModal = useCallback(() => { + setSelectedWhatsApp(null); + setPrivacyModalOpen(false); + }, [setPrivacyModalOpen, setSelectedWhatsApp]); + const handleOpenConfirmationModal = (action, whatsAppId) => { if (action === "disconnect") { setConfirmModalInfo({ @@ -302,12 +315,19 @@ const Connections = () => { + {i18n.t("connections.title")} @@ -378,6 +398,15 @@ const Connections = () => { + {whatsApp.status === "CONNECTED" && ( + handleOpenPrivacyWhatsApp(whatsApp)} + > + + + )} + { diff --git a/frontend/src/translate/languages/en.js b/frontend/src/translate/languages/en.js index 6e6aefbd..0bdf6e4a 100644 --- a/frontend/src/translate/languages/en.js +++ b/frontend/src/translate/languages/en.js @@ -352,9 +352,9 @@ const messages = { }, user: { profile: "Profile", - darkmode: "Dark mode", - lightmode: "Light mode", - language: "Select language", + darkmode: "Dark mode", + lightmode: "Light mode", + language: "Select language", logout: "Logout", }, }, @@ -630,9 +630,9 @@ const messages = { title: "Help Center", }, about: { - aboutthe: "About the", - copyright: "© 2024 - Powered by ticketz", - buttonclose: "Close", + aboutthe: "About the", + copyright: "© 2024 - Powered by ticketz", + buttonclose: "Close", title: "About ticketz", abouttitle: "Origin and improvements", aboutdetail: "ticketz is indirectly derived from the Whaticket project with improvements shared by the developers of the EquipeChat system through the VemFazer channel on YouTube, later improved by Claudemir Todo Bom", @@ -721,7 +721,7 @@ const messages = { message: { edited: "Edited" }, - + contactDrawer: { header: "Contact Information", buttons: { @@ -770,11 +770,40 @@ const messages = { title: "Message edit history" }, presence: { - unavailable: "Unavailable", - available: "Available", - composing: "Composing...", - recording: "Recording...", - paused: "Paused", + unavailable: "Unavailable", + available: "Available", + composing: "Composing...", + recording: "Recording...", + paused: "Paused", + }, + privacyModal: { + title: "Edit Whatsapp Privacy", + buttons: { + cancel: "Cancel", + okEdit: "Save", + }, + form: { + menu: { + all: "All", + none: "Nobody", + contacts: "My contacts", + contact_blacklist: "Selected contacts", + match_last_seen: "Match Last Seen", + known: "Known", + disable: "Disabled", + hrs24: "24 Hours", + dias7: "7 Days", + dias90: "90 Days", + }, + readreceipts: "To update the Read Receipts privacy", + profile: "To update the Profile Picture privacy", + status: "To update the Messages privacy", + online: "To update the Online privacy", + last: "To update the LastSeen privacy", + groupadd: "To update the Groups Add privacy", + calladd: "To update the Call Add privacy", + disappearing: "To update the Default Disappearing Mode", + }, }, backendErrors: { ERR_NO_OTHER_WHATSAPP: "There must be at least one default WhatsApp.", @@ -803,15 +832,15 @@ const messages = { ERR_QUEUE_COLOR_ALREADY_EXISTS: "This color is already in use, choose another.", ERR_WAPP_GREETING_REQUIRED: "Greeting message is mandatory when there is more than one queue.", }, - ticketz: { - support: { - title: "Support Ticketz project", - mercadopagotitle: "Credit Card", - recurringbrl: "Recurring donations in BRL", - paypaltitle: "Credit Card", - international: "Donations in USD", + ticketz: { + support: { + title: "Support Ticketz project", + mercadopagotitle: "Credit Card", + recurringbrl: "Recurring donations in BRL", + paypaltitle: "Credit Card", + international: "Donations in USD", } - }, + }, }, }, }; diff --git a/frontend/src/translate/languages/es.js b/frontend/src/translate/languages/es.js index 67061773..150d9d60 100644 --- a/frontend/src/translate/languages/es.js +++ b/frontend/src/translate/languages/es.js @@ -1,834 +1,865 @@ const messages = { - es: { - translations: { - signup: { - title: "Registrarse", - toasts: { - success: "Usuario creado con éxito. ¡Inicia sesión ahora!", - fail: "Error al crear usuario. Verifica los datos proporcionados.", - }, - form: { - name: "Nombre", - email: "Correo electrónico", - password: "Contraseña", - }, - buttons: { - submit: "Registrarse", - login: "¿Ya tienes una cuenta? ¡Inicia sesión!", - }, - }, - login: { - title: "Iniciar sesión", - form: { - email: "Correo electrónico", - password: "Contraseña", - }, - buttons: { - submit: "Entrar", - register: "¿No tienes una cuenta? ¡Regístrate!", - }, - }, - companies: { - title: "Registrar Empresa", - form: { - name: "Nombre de la Empresa", - plan: "Plan", - token: "Token", - submit: "Registrar", - success: "Empresa creada con éxito", - }, - }, - auth: { - toasts: { - success: "Inicio de sesión exitoso", - }, - token: "Token", - }, - dashboard: { - charts: { - perDay: { - title: "Atenciones hoy: ", - }, - }, - }, - connections: { - title: "Conexiones", - toasts: { - deleted: "Conexión con WhatsApp eliminada con éxito", - }, - confirmationModal: { - deleteTitle: "Eliminar", - deleteMessage: "¿Estás seguro? Esta acción no se puede deshacer.", - disconnectTitle: "Desconectar", - disconnectMessage: - "¿Estás seguro? Tendrás que escanear el código QR nuevamente.", - }, - buttons: { - add: "Agregar WhatsApp", - disconnect: "Desconectar", - tryAgain: "Intentar nuevamente", - qrcode: "CÓDIGO QR", - newQr: "Nuevo CÓDIGO QR", - connecting: "Conectando", - }, - toolTips: { - disconnected: { - title: "Error al iniciar sesión en WhatsApp", - content: - "Asegúrate de que tu teléfono esté conectado a internet y vuelve a intentarlo o solicita un nuevo código QR.", - }, - qrcode: { - title: "Esperando lectura del código QR", - content: - "Haz clic en el botón 'CÓDIGO QR' y escanea el código QR con tu teléfono para iniciar la sesión.", - }, - connected: { - title: "Conexión establecida", - }, - timeout: { - title: "Se perdió la conexión con el teléfono", - content: - "Asegúrate de que tu teléfono esté conectado a internet y WhatsApp esté abierto, o haz clic en 'Desconectar' para obtener un nuevo código QR.", - }, - }, - table: { - name: "Nombre", - status: "Estado", - lastUpdate: "Última actualización", - default: "Predeterminado", - actions: "Acciones", - session: "Sesión", - }, - }, - internalChat: { - title: "Chat Interno", - }, - whatsappModal: { - title: { - add: "Agregar WhatsApp", - edit: "Editar WhatsApp", - }, - form: { - name: "Nombre", - default: "Predeterminado", - }, - buttons: { - okAdd: "Agregar", - okEdit: "Guardar", - cancel: "Cancelar", - }, - success: "WhatsApp guardado con éxito.", - }, - qrCode: { - message: "Lee el código QR para iniciar la sesión", - }, - contacts: { - title: "Contactos", - toasts: { - deleted: "Contacto eliminado con éxito", - }, - searchPlaceholder: "Buscar...", - confirmationModal: { - deleteTitle: "Eliminar ", - importTitlte: "Importar contactos", - deleteMessage: - "¿Estás seguro de que deseas eliminar este contacto? Se perderán todas las conversaciones relacionadas.", - importMessage: "¿Quieres importar todos los contactos del teléfono?", - }, - buttons: { - import: "Importar Contactos", - add: "Agregar Contacto", - }, - table: { - name: "Nombre", - whatsapp: "WhatsApp", - email: "Correo electrónico", - actions: "Acciones", - }, - }, - contactModal: { - title: { - add: "Agregar contacto", - edit: "Editar contacto", - }, - form: { - mainInfo: "Datos del contacto", - extraInfo: "Información adicional", - name: "Nombre", - number: "Número de WhatsApp", - email: "Correo electrónico", - extraName: "Nombre del campo", - extraValue: "Valor", - disableBot: "Desativar bot de conversa", - }, - buttons: { - addExtraInfo: "Agregar información", - okAdd: "Agregar", - okEdit: "Guardar", - cancel: "Cancelar", - }, - success: "Contacto guardado con éxito.", - }, - queueModal: { - title: { - add: "Agregar fila", - edit: "Editar fila", - }, - form: { - name: "Nombre", - color: "Color", - greetingMessage: "Mensaje de bienvenida", - complationMessage: "Mensaje de conclusión", - outOfHoursMessage: "Mensaje fuera del horario", - ratingMessage: "Mensaje de calificación", - transferMessage: "Mensaje de transferencia", - token: "Token", - }, - buttons: { - okAdd: "Agregar", - okEdit: "Guardar", - cancel: "Cancelar", - attach: "Adjuntar archivo", - }, - serviceHours: { - dayWeek: "Día de la semana", - startTimeA: "Hora de inicio - Turno A", - endTimeA: "Hora de finalización - Turno A", - startTimeB: "Hora de inicio - Turno B", - endTimeB: "Hora de finalización - Turno B", - monday: "Lunes", - tuesday: "Martes", - wednesday: "Miércoles", - thursday: "Jueves", - friday: "Viernes", - saturday: "Sábado", - sunday: "Domingo", - } - }, - userModal: { - title: { - add: "Agregar usuario", - edit: "Editar usuario", - }, - form: { - name: "Nombre", - email: "Correo electrónico", - password: "Contraseña", - profile: "Perfil", - }, - buttons: { - okAdd: "Agregar", - okEdit: "Guardar", - cancel: "Cancelar", - }, - success: "Usuario guardado con éxito.", - }, - scheduleModal: { - title: { - add: "Nuevo Agendamiento", - edit: "Editar Agendamiento", - }, - form: { - body: "Mensaje", - contact: "Contacto", - sendAt: "Fecha de Agendamiento", - sentAt: "Fecha de Envío", - }, - buttons: { - okAdd: "Agregar", - okEdit: "Guardar", - cancel: "Cancelar", - }, - success: "Agendamiento guardado con éxito.", - }, - tagModal: { - title: { - add: "Nueva Etiqueta", - edit: "Editar Etiqueta", - addKanban: "Nueva Columna", - editKanban: "Editar Columna", - }, - form: { - name: "Nombre", - color: "Color", - kanban: "Kanban", - }, - buttons: { - okAdd: "Agregar", - okEdit: "Guardar", - cancel: "Cancelar", - }, - success: "Etiqueta guardada con éxito.", - successKanban: "Columna guardada con éxito.", - }, - chat: { - noTicketMessage: "Selecciona un ticket para empezar a conversar.", - }, - uploads: { - titles: { + es: { + translations: { + signup: { + title: "Registrarse", + toasts: { + success: "Usuario creado con éxito. ¡Inicia sesión ahora!", + fail: "Error al crear usuario. Verifica los datos proporcionados.", + }, + form: { + name: "Nombre", + email: "Correo electrónico", + password: "Contraseña", + }, + buttons: { + submit: "Registrarse", + login: "¿Ya tienes una cuenta? ¡Inicia sesión!", + }, + }, + login: { + title: "Iniciar sesión", + form: { + email: "Correo electrónico", + password: "Contraseña", + }, + buttons: { + submit: "Entrar", + register: "¿No tienes una cuenta? ¡Regístrate!", + }, + }, + companies: { + title: "Registrar Empresa", + form: { + name: "Nombre de la Empresa", + plan: "Plan", + token: "Token", + submit: "Registrar", + success: "Empresa creada con éxito", + }, + }, + auth: { + toasts: { + success: "Inicio de sesión exitoso", + }, + token: "Token", + }, + dashboard: { + charts: { + perDay: { + title: "Atenciones hoy: ", + }, + }, + }, + connections: { + title: "Conexiones", + toasts: { + deleted: "Conexión con WhatsApp eliminada con éxito", + }, + confirmationModal: { + deleteTitle: "Eliminar", + deleteMessage: "¿Estás seguro? Esta acción no se puede deshacer.", + disconnectTitle: "Desconectar", + disconnectMessage: + "¿Estás seguro? Tendrás que escanear el código QR nuevamente.", + }, + buttons: { + add: "Agregar WhatsApp", + disconnect: "Desconectar", + tryAgain: "Intentar nuevamente", + qrcode: "CÓDIGO QR", + newQr: "Nuevo CÓDIGO QR", + connecting: "Conectando", + }, + toolTips: { + disconnected: { + title: "Error al iniciar sesión en WhatsApp", + content: + "Asegúrate de que tu teléfono esté conectado a internet y vuelve a intentarlo o solicita un nuevo código QR.", + }, + qrcode: { + title: "Esperando lectura del código QR", + content: + "Haz clic en el botón 'CÓDIGO QR' y escanea el código QR con tu teléfono para iniciar la sesión.", + }, + connected: { + title: "Conexión establecida", + }, + timeout: { + title: "Se perdió la conexión con el teléfono", + content: + "Asegúrate de que tu teléfono esté conectado a internet y WhatsApp esté abierto, o haz clic en 'Desconectar' para obtener un nuevo código QR.", + }, + }, + table: { + name: "Nombre", + status: "Estado", + lastUpdate: "Última actualización", + default: "Predeterminado", + actions: "Acciones", + session: "Sesión", + }, + }, + internalChat: { + title: "Chat Interno", + }, + whatsappModal: { + title: { + add: "Agregar WhatsApp", + edit: "Editar WhatsApp", + }, + form: { + name: "Nombre", + default: "Predeterminado", + }, + buttons: { + okAdd: "Agregar", + okEdit: "Guardar", + cancel: "Cancelar", + }, + success: "WhatsApp guardado con éxito.", + }, + qrCode: { + message: "Lee el código QR para iniciar la sesión", + }, + contacts: { + title: "Contactos", + toasts: { + deleted: "Contacto eliminado con éxito", + }, + searchPlaceholder: "Buscar...", + confirmationModal: { + deleteTitle: "Eliminar ", + importTitlte: "Importar contactos", + deleteMessage: + "¿Estás seguro de que deseas eliminar este contacto? Se perderán todas las conversaciones relacionadas.", + importMessage: "¿Quieres importar todos los contactos del teléfono?", + }, + buttons: { + import: "Importar Contactos", + add: "Agregar Contacto", + }, + table: { + name: "Nombre", + whatsapp: "WhatsApp", + email: "Correo electrónico", + actions: "Acciones", + }, + }, + contactModal: { + title: { + add: "Agregar contacto", + edit: "Editar contacto", + }, + form: { + mainInfo: "Datos del contacto", + extraInfo: "Información adicional", + name: "Nombre", + number: "Número de WhatsApp", + email: "Correo electrónico", + extraName: "Nombre del campo", + extraValue: "Valor", + disableBot: "Desativar bot de conversa", + }, + buttons: { + addExtraInfo: "Agregar información", + okAdd: "Agregar", + okEdit: "Guardar", + cancel: "Cancelar", + }, + success: "Contacto guardado con éxito.", + }, + queueModal: { + title: { + add: "Agregar fila", + edit: "Editar fila", + }, + form: { + name: "Nombre", + color: "Color", + greetingMessage: "Mensaje de bienvenida", + complationMessage: "Mensaje de conclusión", + outOfHoursMessage: "Mensaje fuera del horario", + ratingMessage: "Mensaje de calificación", + transferMessage: "Mensaje de transferencia", + token: "Token", + }, + buttons: { + okAdd: "Agregar", + okEdit: "Guardar", + cancel: "Cancelar", + attach: "Adjuntar archivo", + }, + serviceHours: { + dayWeek: "Día de la semana", + startTimeA: "Hora de inicio - Turno A", + endTimeA: "Hora de finalización - Turno A", + startTimeB: "Hora de inicio - Turno B", + endTimeB: "Hora de finalización - Turno B", + monday: "Lunes", + tuesday: "Martes", + wednesday: "Miércoles", + thursday: "Jueves", + friday: "Viernes", + saturday: "Sábado", + sunday: "Domingo", + }, + }, + userModal: { + title: { + add: "Agregar usuario", + edit: "Editar usuario", + }, + form: { + name: "Nombre", + email: "Correo electrónico", + password: "Contraseña", + profile: "Perfil", + }, + buttons: { + okAdd: "Agregar", + okEdit: "Guardar", + cancel: "Cancelar", + }, + success: "Usuario guardado con éxito.", + }, + scheduleModal: { + title: { + add: "Nuevo Agendamiento", + edit: "Editar Agendamiento", + }, + form: { + body: "Mensaje", + contact: "Contacto", + sendAt: "Fecha de Agendamiento", + sentAt: "Fecha de Envío", + }, + buttons: { + okAdd: "Agregar", + okEdit: "Guardar", + cancel: "Cancelar", + }, + success: "Agendamiento guardado con éxito.", + }, + tagModal: { + title: { + add: "Nueva Etiqueta", + edit: "Editar Etiqueta", + addKanban: "Nueva Columna", + editKanban: "Editar Columna", + }, + form: { + name: "Nombre", + color: "Color", + kanban: "Kanban", + }, + buttons: { + okAdd: "Agregar", + okEdit: "Guardar", + cancel: "Cancelar", + }, + success: "Etiqueta guardada con éxito.", + successKanban: "Columna guardada con éxito.", + }, + chat: { + noTicketMessage: "Selecciona un ticket para empezar a conversar.", + }, + uploads: { + titles: { titleUploadMsgDragDrop: "ARRASTRA Y SUELTA ARCHIVOS EN EL CAMPO ABAJO", titleFileList: "Lista de archivo(s)" - }, - }, - ticketsManager: { - buttons: { - newTicket: "Nuevo", - }, - }, - ticketsQueueSelect: { - placeholder: "Colas", - }, - tickets: { - toasts: { - deleted: "La atención que estabas siguiendo fue eliminada.", - }, - notification: { - message: "Mensaje de", - }, - tabs: { - open: { title: "Abiertas" }, - closed: { title: "Resueltos" }, - search: { title: "Búsqueda" }, - }, - search: { - placeholder: "Buscar atención y mensajes", - }, - buttons: { - showAll: "Todos", - }, - }, - transferTicketModal: { - title: "Transferir Ticket", - fieldLabel: "Escribe para buscar usuarios", - fieldQueueLabel: "Transferir a cola", - fieldQueuePlaceholder: "Selecciona una cola", - noOptions: "Ningún usuario encontrado con ese nombre", - buttons: { - ok: "Transferir", - cancel: "Cancelar", - }, - }, - ticketsList: { - pendingHeader: "Esperando", - assignedHeader: "Atendiendo", - noTicketsTitle: "¡Nada aquí!", - noTicketsMessage: - "No se encontraron atenciones con ese estado o término de búsqueda", - buttons: { - accept: "Aceptar", - }, - }, - newTicketModal: { - title: "Crear Ticket", - fieldLabel: "Escribe para buscar el contacto", - add: "Agregar", - buttons: { - ok: "Guardar", - cancel: "Cancelar", - }, - }, - mainDrawer: { - listItems: { - dashboard: "Tablero", - connections: "Conexiones", - tickets: "Atenciones", - quickMessages: "Respuestas Rápidas", - contacts: "Contactos", - queues: "Filas y Chatbot", - tags: "Etiquetas", - administration: "Administración", - service: "Atención", - users: "Usuarios", - settings: "Configuraciones", - helps: "Ayuda", - messagesAPI: "API", - schedules: "Agendamientos", - campaigns: "Campañas", - annoucements: "Anuncios", - chats: "Chat Interno", - financeiro: "Financiero", - logout: "Cerrar sesión", - management: "Gerencia", - kanban: "Kanban", - }, - appBar: { - i18n: { - language: "Español", + }, + }, + ticketsManager: { + buttons: { + newTicket: "Nuevo", + }, + }, + ticketsQueueSelect: { + placeholder: "Colas", + }, + tickets: { + toasts: { + deleted: "La atención que estabas siguiendo fue eliminada.", + }, + notification: { + message: "Mensaje de", + }, + tabs: { + open: { title: "Abiertas" }, + closed: { title: "Resueltos" }, + search: { title: "Búsqueda" }, + }, + search: { + placeholder: "Buscar atención y mensajes", + }, + buttons: { + showAll: "Todos", + }, + }, + transferTicketModal: { + title: "Transferir Ticket", + fieldLabel: "Escribe para buscar usuarios", + fieldQueueLabel: "Transferir a cola", + fieldQueuePlaceholder: "Selecciona una cola", + noOptions: "Ningún usuario encontrado con ese nombre", + buttons: { + ok: "Transferir", + cancel: "Cancelar", + }, + }, + ticketsList: { + pendingHeader: "Esperando", + assignedHeader: "Atendiendo", + noTicketsTitle: "¡Nada aquí!", + noTicketsMessage: + "No se encontraron atenciones con ese estado o término de búsqueda", + buttons: { + accept: "Aceptar", + }, + }, + newTicketModal: { + title: "Crear Ticket", + fieldLabel: "Escribe para buscar el contacto", + add: "Agregar", + buttons: { + ok: "Guardar", + cancel: "Cancelar", + }, + }, + mainDrawer: { + listItems: { + dashboard: "Tablero", + connections: "Conexiones", + tickets: "Atenciones", + quickMessages: "Respuestas Rápidas", + contacts: "Contactos", + queues: "Filas y Chatbot", + tags: "Etiquetas", + administration: "Administración", + service: "Atención", + users: "Usuarios", + settings: "Configuraciones", + helps: "Ayuda", + messagesAPI: "API", + schedules: "Agendamientos", + campaigns: "Campañas", + annoucements: "Anuncios", + chats: "Chat Interno", + financeiro: "Financiero", + logout: "Cerrar sesión", + management: "Gerencia", + kanban: "Kanban", + }, + appBar: { + i18n: { + language: "Español", language_short: "ES" - }, - user: { - profile: "Perfil", - darkmode: "Modo oscuro", - lightmode: "Modo claro", - language: "Seleccionar idioma", - logout: "Cerrar sesión", - }, - }, - }, - messagesAPI: { - title: "API", - textMessage: { - number: "Número", - body: "Mensaje", - token: "Token registrado", - }, - mediaMessage: { - number: "Número", - body: "Nombre del archivo", - media: "Archivo", - token: "Token registrado", - }, - }, - notifications: { - noTickets: "Ninguna notificación.", - }, - quickMessages: { - title: "Respuestas Rápidas", - buttons: { - add: "Nueva Respuesta", - }, - dialog: { - shortcode: "Atajo", - message: "Respuesta", - }, - }, - kanban: { - title: "Kanban", - searchPlaceholder: "Búsqueda", - subMenus: { - list: "Panel", - tags: "Lanes", - }, - }, - tagsKanban: { - title: "Lanes", - laneDefault: "En abierto", - confirmationModal: { - deleteTitle: "¿Estás seguro de que quieres eliminar esta Lane?", - deleteMessage: "Esta acción no se puede deshacer.", - }, - table: { - name: "Nombre", - color: "Color", - tickets: "Tickets", - actions: "Acciones", - }, - buttons: { - add: "Nueva Lane", - }, - toasts: { - deleted: "Lane eliminada con éxito.", - }, - }, - contactLists: { - title: "Listas de Contactos", - table: { - name: "Nombre", - contacts: "Contactos", - actions: "Acciones", - }, - buttons: { - add: "Nueva Lista", - }, - dialog: { - name: "Nombre", - company: "Empresa", - okEdit: "Editar", - okAdd: "Agregar", - add: "Agregar", - edit: "Editar", - cancel: "Cancelar", - }, - confirmationModal: { - deleteTitle: "Eliminar", - deleteMessage: "Esta acción no se puede deshacer.", - }, - toasts: { - deleted: "Registro eliminado", - }, - }, - contactListItems: { - title: "Contactos", - searchPlaceholder: "Buscar", - buttons: { - add: "Nuevo", - lists: "Listas", - import: "Importar", - }, - dialog: { - name: "Nombre", - number: "Número", - whatsapp: "Whatsapp", - email: "Correo electrónico", - okEdit: "Editar", - okAdd: "Agregar", - add: "Agregar", - edit: "Editar", - cancel: "Cancelar", - }, - table: { - name: "Nombre", - number: "Número", - whatsapp: "Whatsapp", - email: "Correo electrónico", - actions: "Acciones", - }, - confirmationModal: { - deleteTitle: "Eliminar", - deleteMessage: "Esta acción no se puede deshacer.", + }, + user: { + profile: "Perfil", + darkmode: "Modo oscuro", + lightmode: "Modo claro", + language: "Seleccionar idioma", + logout: "Cerrar sesión", + }, + }, + }, + messagesAPI: { + title: "API", + textMessage: { + number: "Número", + body: "Mensaje", + token: "Token registrado", + }, + mediaMessage: { + number: "Número", + body: "Nombre del archivo", + media: "Archivo", + token: "Token registrado", + }, + }, + notifications: { + noTickets: "Ninguna notificación.", + }, + quickMessages: { + title: "Respuestas Rápidas", + buttons: { + add: "Nueva Respuesta", + }, + dialog: { + shortcode: "Atajo", + message: "Respuesta", + }, + }, + kanban: { + title: "Kanban", + searchPlaceholder: "Búsqueda", + subMenus: { + list: "Panel", + tags: "Lanes", + }, + }, + tagsKanban: { + title: "Lanes", + laneDefault: "En abierto", + confirmationModal: { + deleteTitle: "¿Estás seguro de que quieres eliminar esta Lane?", + deleteMessage: "Esta acción no se puede deshacer.", + }, + table: { + name: "Nombre", + color: "Color", + tickets: "Tickets", + actions: "Acciones", + }, + buttons: { + add: "Nueva Lane", + }, + toasts: { + deleted: "Lane eliminada con éxito.", + }, + }, + contactLists: { + title: "Listas de Contactos", + table: { + name: "Nombre", + contacts: "Contactos", + actions: "Acciones", + }, + buttons: { + add: "Nueva Lista", + }, + dialog: { + name: "Nombre", + company: "Empresa", + okEdit: "Editar", + okAdd: "Agregar", + add: "Agregar", + edit: "Editar", + cancel: "Cancelar", + }, + confirmationModal: { + deleteTitle: "Eliminar", + deleteMessage: "Esta acción no se puede deshacer.", + }, + toasts: { + deleted: "Registro eliminado", + }, + }, + contactListItems: { + title: "Contactos", + searchPlaceholder: "Buscar", + buttons: { + add: "Nuevo", + lists: "Listas", + import: "Importar", + }, + dialog: { + name: "Nombre", + number: "Número", + whatsapp: "Whatsapp", + email: "Correo electrónico", + okEdit: "Editar", + okAdd: "Agregar", + add: "Agregar", + edit: "Editar", + cancel: "Cancelar", + }, + table: { + name: "Nombre", + number: "Número", + whatsapp: "Whatsapp", + email: "Correo electrónico", + actions: "Acciones", + }, + confirmationModal: { + deleteTitle: "Eliminar", + deleteMessage: "Esta acción no se puede deshacer.", importMessage: "¿Desea importar los contactos de esta hoja de cálculo?", - importTitlte: "Importar", - }, - toasts: { - deleted: "Registro eliminado", - }, - }, - campaigns: { - title: "Campañas", - searchPlaceholder: "Buscar", - buttons: { - add: "Nueva Campaña", - contactLists: "Listas de Contactos", - }, - table: { - name: "Nombre", - whatsapp: "Conexión", - contactList: "Lista de Contactos", - status: "Estado", - scheduledAt: "Agendamiento", - completedAt: "Completada", - confirmation: "Confirmación", - actions: "Acciones", - }, - dialog: { - new: "Nueva Campaña", - update: "Editar Campaña", - readonly: "Solo Lectura", - form: { - name: "Nombre", - message1: "Mensaje 1", - message2: "Mensaje 2", - message3: "Mensaje 3", - message4: "Mensaje 4", - message5: "Mensaje 5", - confirmationMessage1: "Mensaje de Confirmación 1", - confirmationMessage2: "Mensaje de Confirmación 2", - confirmationMessage3: "Mensaje de Confirmación 3", - confirmationMessage4: "Mensaje de Confirmación 4", - confirmationMessage5: "Mensaje de Confirmación 5", - messagePlaceholder: "Contenido del mensaje", - whatsapp: "Conexión", - status: "Estado", - scheduledAt: "Agendamiento", - confirmation: "Confirmación", - contactList: "Lista de Contacto", - }, - buttons: { - add: "Agregar", - edit: "Actualizar", - okadd: "Ok", - cancel: "Cancelar Disparos", - restart: "Reiniciar Disparos", - close: "Cerrar", - attach: "Adjuntar Archivo", - }, - }, - confirmationModal: { - deleteTitle: "Eliminar", - deleteMessage: "Esta acción no se puede deshacer.", - }, - toasts: { - success: "Operación realizada con éxito", - cancel: "Campaña cancelada", - restart: "Campaña reiniciada", - deleted: "Registro eliminado", - }, - }, - announcements: { - title: "Anuncios", - searchPlaceholder: "Buscar", - buttons: { - add: "Nuevo Anuncio", - contactLists: "Listas de Anuncios", - }, - table: { - priority: "Prioridad", - title: "Título", - text: "Texto", - mediaName: "Archivo", - status: "Estado", - actions: "Acciones", - }, - dialog: { - edit: "Edición de Anuncio", - add: "Nuevo Anuncio", - update: "Editar Anuncio", - readonly: "Solo Lectura", - form: { - priority: "Prioridad", - title: "Título", - text: "Texto", - mediaPath: "Archivo", - status: "Estado", - }, - buttons: { - add: "Agregar", - edit: "Actualizar", - okadd: "Ok", - cancel: "Cancelar", - close: "Cerrar", - attach: "Adjuntar Archivo", - }, - }, - confirmationModal: { - deleteTitle: "Eliminar", - deleteMessage: "Esta acción no se puede deshacer.", - }, - toasts: { - success: "Operación realizada con éxito", - deleted: "Registro eliminado", - }, - }, - campaignsConfig: { - title: "Configuraciones de Campañas", - }, - queues: { - title: "Colas y Chatbot", - table: { - name: "Nombre", - color: "Color", - greeting: "Mensaje de bienvenida", - actions: "Acciones", - }, - buttons: { - add: "Agregar cola", - }, - confirmationModal: { - deleteTitle: "Eliminar", - deleteMessage: - "¿Estás seguro? ¡Esta acción no se puede deshacer! Las atenciones de esta cola seguirán existiendo, pero ya no tendrán ninguna cola asignada.", - }, - }, - queueSelect: { - inputLabel: "Colas", - }, - users: { - title: "Usuarios", - table: { - name: "Nombre", - email: "Correo electrónico", - profile: "Perfil", - actions: "Acciones", - }, - buttons: { - add: "Agregar usuario", - }, - toasts: { - deleted: "Usuario eliminado con éxito.", - }, - confirmationModal: { - deleteTitle: "Eliminar", - deleteMessage: - "Todos los datos del usuario se perderán. Las atenciones abiertas de este usuario se moverán a la cola.", - }, - }, - helps: { - title: "Centro de Ayuda", - }, - about: { - aboutthe: "Acerca de", - copyright: "© 2024 - Funcionando com ticketz", - buttonclose: "Cerrar", - title: "Acerca de ticketz", - abouttitle: "Origen y Mejoras", + importTitlte: "Importar", + }, + toasts: { + deleted: "Registro eliminado", + }, + }, + campaigns: { + title: "Campañas", + searchPlaceholder: "Buscar", + buttons: { + add: "Nueva Campaña", + contactLists: "Listas de Contactos", + }, + table: { + name: "Nombre", + whatsapp: "Conexión", + contactList: "Lista de Contactos", + status: "Estado", + scheduledAt: "Agendamiento", + completedAt: "Completada", + confirmation: "Confirmación", + actions: "Acciones", + }, + dialog: { + new: "Nueva Campaña", + update: "Editar Campaña", + readonly: "Solo Lectura", + form: { + name: "Nombre", + message1: "Mensaje 1", + message2: "Mensaje 2", + message3: "Mensaje 3", + message4: "Mensaje 4", + message5: "Mensaje 5", + confirmationMessage1: "Mensaje de Confirmación 1", + confirmationMessage2: "Mensaje de Confirmación 2", + confirmationMessage3: "Mensaje de Confirmación 3", + confirmationMessage4: "Mensaje de Confirmación 4", + confirmationMessage5: "Mensaje de Confirmación 5", + messagePlaceholder: "Contenido del mensaje", + whatsapp: "Conexión", + status: "Estado", + scheduledAt: "Agendamiento", + confirmation: "Confirmación", + contactList: "Lista de Contacto", + }, + buttons: { + add: "Agregar", + edit: "Actualizar", + okadd: "Ok", + cancel: "Cancelar Disparos", + restart: "Reiniciar Disparos", + close: "Cerrar", + attach: "Adjuntar Archivo", + }, + }, + confirmationModal: { + deleteTitle: "Eliminar", + deleteMessage: "Esta acción no se puede deshacer.", + }, + toasts: { + success: "Operación realizada con éxito", + cancel: "Campaña cancelada", + restart: "Campaña reiniciada", + deleted: "Registro eliminado", + }, + }, + announcements: { + title: "Anuncios", + searchPlaceholder: "Buscar", + buttons: { + add: "Nuevo Anuncio", + contactLists: "Listas de Anuncios", + }, + table: { + priority: "Prioridad", + title: "Título", + text: "Texto", + mediaName: "Archivo", + status: "Estado", + actions: "Acciones", + }, + dialog: { + edit: "Edición de Anuncio", + add: "Nuevo Anuncio", + update: "Editar Anuncio", + readonly: "Solo Lectura", + form: { + priority: "Prioridad", + title: "Título", + text: "Texto", + mediaPath: "Archivo", + status: "Estado", + }, + buttons: { + add: "Agregar", + edit: "Actualizar", + okadd: "Ok", + cancel: "Cancelar", + close: "Cerrar", + attach: "Adjuntar Archivo", + }, + }, + confirmationModal: { + deleteTitle: "Eliminar", + deleteMessage: "Esta acción no se puede deshacer.", + }, + toasts: { + success: "Operación realizada con éxito", + deleted: "Registro eliminado", + }, + }, + campaignsConfig: { + title: "Configuraciones de Campañas", + }, + queues: { + title: "Colas y Chatbot", + table: { + name: "Nombre", + color: "Color", + greeting: "Mensaje de bienvenida", + actions: "Acciones", + }, + buttons: { + add: "Agregar cola", + }, + confirmationModal: { + deleteTitle: "Eliminar", + deleteMessage: + "¿Estás seguro? ¡Esta acción no se puede deshacer! Las atenciones de esta cola seguirán existiendo, pero ya no tendrán ninguna cola asignada.", + }, + }, + queueSelect: { + inputLabel: "Colas", + }, + users: { + title: "Usuarios", + table: { + name: "Nombre", + email: "Correo electrónico", + profile: "Perfil", + actions: "Acciones", + }, + buttons: { + add: "Agregar usuario", + }, + toasts: { + deleted: "Usuario eliminado con éxito.", + }, + confirmationModal: { + deleteTitle: "Eliminar", + deleteMessage: + "Todos los datos del usuario se perderán. Las atenciones abiertas de este usuario se moverán a la cola.", + }, + }, + helps: { + title: "Centro de Ayuda", + }, + about: { + aboutthe: "Acerca de", + copyright: "© 2024 - Funcionando com ticketz", + buttonclose: "Cerrar", + title: "Acerca de ticketz", + abouttitle: "Origen y Mejoras", aboutdetail: "El ticketz es derivado indirecto del proyecto Whaticket con mejoras compartidas por los desarrolladores del sistema EquipeChat a través del canal VemFazer en YouTube, posteriormente mejorado por Claudemir Todo Bom.", - aboutauthorsite: "Sitio del autor", - aboutwhaticketsite: "Sitio de la Comunidad Whaticket en Github", - aboutvemfazersite: "Sitio del canal Vem Fazer en Github", - licenseheading: "Licencia de Código Abierto", + aboutauthorsite: "Sitio del autor", + aboutwhaticketsite: "Sitio de la Comunidad Whaticket en Github", + aboutvemfazersite: "Sitio del canal Vem Fazer en Github", + licenseheading: "Licencia de Código Abierto", licensedetail: "El ticketz está licenciado bajo la Licencia Pública General Affero de GNU versión 3, lo que significa que cualquier usuario que tenga acceso a esta aplicación tiene derecho a obtener acceso al código fuente. Más información en los siguientes enlaces:", - licensefulltext: "Texto completo de la licencia", + licensefulltext: "Texto completo de la licencia", licensesourcecode: "Código fuente de ticketz" - }, - schedules: { - title: "Agendamentos", - confirmationModal: { - deleteTitle: "¿Está seguro de que desea eliminar esta programación?", - deleteMessage: "Esta acción no se puede deshacer.", - }, - table: { - contact: "Contacto", - body: "Mensaje", - sendAt: "Fecha de Programación", - sentAt: "Fecha de Envío", - status: "Estado", - actions: "Acciones", - }, - buttons: { - add: "Nuevo Agendamiento", - }, - toasts: { - deleted: "Agendamiento eliminado con éxito.", - }, - }, - tags: { - title: "Etiquetas", - confirmationModal: { - deleteTitle: "¿Está seguro de que quiere eliminar esta etiqueta?", - deleteMessage: "Esta acción no se puede deshacer.", - }, - table: { - name: "Nombre", - color: "Color", - tickets: "Registros", - actions: "Acciones", - id: "ID", - kanban: "Kanban", - }, - buttons: { - add: "Nueva Etiqueta", - }, - toasts: { - deleted: "Etiqueta eliminada con éxito.", - }, - }, - settings: { - success: "Configuraciones guardadas exitosamente.", - title: "Configuraciones", - settings: { - userCreation: { - name: "Creación de usuario", - options: { - enabled: "Habilitado", - disabled: "Deshabilitado", - }, - }, - }, - }, - messagesList: { - header: { - assignedTo: "Asignado a:", - buttons: { - return: "Regresar", - resolve: "Resolver", - reopen: "Reabrir", - accept: "Aceptar", - }, - }, - }, - messagesInput: { - placeholderOpen: "Ingrese un mensaje", - placeholderClosed: - "Reabra o acepte este ticket para enviar un mensaje.", - signMessage: "Firmar", - replying: "Respondiendo", - editing: "Editando", - }, - message: { + }, + schedules: { + title: "Agendamentos", + confirmationModal: { + deleteTitle: "¿Está seguro de que desea eliminar esta programación?", + deleteMessage: "Esta acción no se puede deshacer.", + }, + table: { + contact: "Contacto", + body: "Mensaje", + sendAt: "Fecha de Programación", + sentAt: "Fecha de Envío", + status: "Estado", + actions: "Acciones", + }, + buttons: { + add: "Nuevo Agendamiento", + }, + toasts: { + deleted: "Agendamiento eliminado con éxito.", + }, + }, + tags: { + title: "Etiquetas", + confirmationModal: { + deleteTitle: "¿Está seguro de que quiere eliminar esta etiqueta?", + deleteMessage: "Esta acción no se puede deshacer.", + }, + table: { + name: "Nombre", + color: "Color", + tickets: "Registros", + actions: "Acciones", + id: "ID", + kanban: "Kanban", + }, + buttons: { + add: "Nueva Etiqueta", + }, + toasts: { + deleted: "Etiqueta eliminada con éxito.", + }, + }, + settings: { + success: "Configuraciones guardadas exitosamente.", + title: "Configuraciones", + settings: { + userCreation: { + name: "Creación de usuario", + options: { + enabled: "Habilitado", + disabled: "Deshabilitado", + }, + }, + }, + }, + messagesList: { + header: { + assignedTo: "Asignado a:", + buttons: { + return: "Regresar", + resolve: "Resolver", + reopen: "Reabrir", + accept: "Aceptar", + }, + }, + }, + messagesInput: { + placeholderOpen: "Ingrese un mensaje", + placeholderClosed: + "Reabra o acepte este ticket para enviar un mensaje.", + signMessage: "Firmar", + replying: "Respondiendo", + editing: "Editando", + }, + message: { edited: "Editada" - }, - contactDrawer: { - header: "Datos de contacto", - buttons: { - edit: "Editar contacto", - }, - extraInfo: "Otra información", - }, - ticketOptionsMenu: { - schedule: "Agendamiento", - delete: "Eliminar", - transfer: "Transferir", - registerAppointment: "Observaciones del Contacto", - appointmentsModal: { - title: "Observaciones del Contacto", - textarea: "Observación", - placeholder: "Ingrese aquí la información que desea registrar", - }, - confirmationModal: { - title: "Eliminar el ticket del contacto", - message: - "¡Atención! Todas las mensajes relacionados con el ticket se perderán.", - }, - buttons: { - delete: "Eliminar", - cancel: "Cancelar", - }, - }, - confirmationModal: { - buttons: { - confirm: "Ok", - cancel: "Cancelar", - }, - }, - messageOptionsMenu: { - delete: "Eliminar", - edit: "Editar", - history: "Historial", - reply: "Responder", - confirmationModal: { - title: "¿Borrar mensaje?", - message: "Esta acción no se puede deshacer.", - }, - }, - messageHistoryModal: { - close: "Cerrar", + }, + contactDrawer: { + header: "Datos de contacto", + buttons: { + edit: "Editar contacto", + }, + extraInfo: "Otra información", + }, + ticketOptionsMenu: { + schedule: "Agendamiento", + delete: "Eliminar", + transfer: "Transferir", + registerAppointment: "Observaciones del Contacto", + appointmentsModal: { + title: "Observaciones del Contacto", + textarea: "Observación", + placeholder: "Ingrese aquí la información que desea registrar", + }, + confirmationModal: { + title: "Eliminar el ticket del contacto", + message: + "¡Atención! Todas las mensajes relacionados con el ticket se perderán.", + }, + buttons: { + delete: "Eliminar", + cancel: "Cancelar", + }, + }, + confirmationModal: { + buttons: { + confirm: "Ok", + cancel: "Cancelar", + }, + }, + messageOptionsMenu: { + delete: "Eliminar", + edit: "Editar", + history: "Historial", + reply: "Responder", + confirmationModal: { + title: "¿Borrar mensaje?", + message: "Esta acción no se puede deshacer.", + }, + }, + messageHistoryModal: { + close: "Cerrar", title: "Historial de edición del mensaje" - }, - presence: { - unavailable: "Indisponible", - available: "Disponible", - composing: "Componiendo", - recording: "Grabando", - paused: "Pausado", - }, - backendErrors: { - ERR_NO_OTHER_WHATSAPP: "Debe haber al menos un WhatsApp predeterminado.", - ERR_NO_DEF_WAPP_FOUND: - "No se encontró ningún WhatsApp predeterminado. Verifique la página de conexiones.", - ERR_WAPP_NOT_INITIALIZED: - "Esta sesión de WhatsApp no se ha inicializado. Verifique la página de conexiones.", - ERR_WAPP_CHECK_CONTACT: - "No se pudo verificar el contacto de WhatsApp. Verifique la página de conexiones", - ERR_WAPP_INVALID_CONTACT: "Este no es un número de WhatsApp válido.", - ERR_WAPP_DOWNLOAD_MEDIA: - "No se pudo descargar medios de WhatsApp. Verifique la página de conexiones.", - ERR_INVALID_CREDENTIALS: - "Error de autenticación. Por favor, inténtelo de nuevo.", - ERR_SENDING_WAPP_MSG: - "Error al enviar mensaje de WhatsApp. Verifique la página de conexiones.", - ERR_DELETE_WAPP_MSG: "No se pudo eliminar el mensaje de WhatsApp.", - ERR_EDITING_WAPP_MSG: "No se pudo editar el mensaje de WhatsApp.", - ERR_OTHER_OPEN_TICKET: "Ya hay un ticket abierto para este contacto.", - ERR_SESSION_EXPIRED: "Sesión expirada. Por favor, inicie sesión.", - ERR_USER_CREATION_DISABLED: - "La creación de usuarios está deshabilitada por el administrador.", - ERR_NO_PERMISSION: "No tiene permisos para acceder a este recurso.", - ERR_DUPLICATED_CONTACT: "Ya existe un contacto con este número.", - ERR_NO_SETTING_FOUND: "No se encontró ninguna configuración con este ID.", - ERR_NO_CONTACT_FOUND: "No se encontró ningún contacto con este ID.", - ERR_NO_TICKET_FOUND: "No se encontró ningún ticket con este ID.", - ERR_NO_USER_FOUND: "No se encontró ningún usuario con este ID.", - ERR_NO_WAPP_FOUND: "No se encontró ningún WhatsApp con este ID.", - ERR_CREATING_MESSAGE: "Error al crear el mensaje en la base de datos.", - ERR_CREATING_TICKET: "Error al crear el ticket en la base de datos.", - ERR_FETCH_WAPP_MSG: - "Error al recuperar el mensaje de WhatsApp, tal vez sea muy antiguo.", - ERR_QUEUE_COLOR_ALREADY_EXISTS: - "Este color ya está en uso, elija otro.", - ERR_WAPP_GREETING_REQUIRED: - "El mensaje de saludo es obligatorio cuando hay más de una cola.", - }, - ticketz: { - support: { - title: "Apoyar el proyecto Ticketz", - mercadopagotitle: "Tarjeta de crédito", - recurringbrl: "Donaciones recurrentes en BRL", - paypaltitle: "Tarjeta de crédito", - international: "Donaciones en USD", + }, + presence: { + unavailable: "Indisponible", + available: "Disponible", + composing: "Componiendo", + recording: "Grabando", + paused: "Pausado", + }, + privacyModal: { + title: "Editar privacidad de Whatsapp", + buttons: { + cancel: "Cancelar", + okEdit: "Ahorrar", + }, + form: { + menu: { + all: "Todo", + none: "Nadie", + contacts: "Mis contactos", + contact_blacklist: "Contactos seleccionados", + match_last_seen: "Partido visto por última vez", + known: "Conocido", + disable: "Desactivado", + hrs24: "24 Horas", + dias7: "7 Días", + dias90: "90 Días", + }, + readreceipts: + "Para actualizar la privacidad de Confirmaciones de lectura", + profile: "Para actualizar la privacidad de la foto de perfil", + status: "Para actualizar la privacidad del mensajes", + online: "Para actualizar la privacidad en línea", + last: "Para actualizar la privacidad de Última visita", + groupadd: "Para actualizar la privacidad de Agregar grupos", + calladd: "Para actualizar la privacidad de Agregar llamada", + disappearing: + "Para actualizar el modo de desaparición predeterminado", + }, + }, + backendErrors: { + ERR_NO_OTHER_WHATSAPP: "Debe haber al menos un WhatsApp predeterminado.", + ERR_NO_DEF_WAPP_FOUND: + "No se encontró ningún WhatsApp predeterminado. Verifique la página de conexiones.", + ERR_WAPP_NOT_INITIALIZED: + "Esta sesión de WhatsApp no se ha inicializado. Verifique la página de conexiones.", + ERR_WAPP_CHECK_CONTACT: + "No se pudo verificar el contacto de WhatsApp. Verifique la página de conexiones", + ERR_WAPP_INVALID_CONTACT: "Este no es un número de WhatsApp válido.", + ERR_WAPP_DOWNLOAD_MEDIA: + "No se pudo descargar medios de WhatsApp. Verifique la página de conexiones.", + ERR_INVALID_CREDENTIALS: + "Error de autenticación. Por favor, inténtelo de nuevo.", + ERR_SENDING_WAPP_MSG: + "Error al enviar mensaje de WhatsApp. Verifique la página de conexiones.", + ERR_DELETE_WAPP_MSG: "No se pudo eliminar el mensaje de WhatsApp.", + ERR_EDITING_WAPP_MSG: "No se pudo editar el mensaje de WhatsApp.", + ERR_OTHER_OPEN_TICKET: "Ya hay un ticket abierto para este contacto.", + ERR_SESSION_EXPIRED: "Sesión expirada. Por favor, inicie sesión.", + ERR_USER_CREATION_DISABLED: + "La creación de usuarios está deshabilitada por el administrador.", + ERR_NO_PERMISSION: "No tiene permisos para acceder a este recurso.", + ERR_DUPLICATED_CONTACT: "Ya existe un contacto con este número.", + ERR_NO_SETTING_FOUND: "No se encontró ninguna configuración con este ID.", + ERR_NO_CONTACT_FOUND: "No se encontró ningún contacto con este ID.", + ERR_NO_TICKET_FOUND: "No se encontró ningún ticket con este ID.", + ERR_NO_USER_FOUND: "No se encontró ningún usuario con este ID.", + ERR_NO_WAPP_FOUND: "No se encontró ningún WhatsApp con este ID.", + ERR_CREATING_MESSAGE: "Error al crear el mensaje en la base de datos.", + ERR_CREATING_TICKET: "Error al crear el ticket en la base de datos.", + ERR_FETCH_WAPP_MSG: + "Error al recuperar el mensaje de WhatsApp, tal vez sea muy antiguo.", + ERR_QUEUE_COLOR_ALREADY_EXISTS: + "Este color ya está en uso, elija otro.", + ERR_WAPP_GREETING_REQUIRED: + "El mensaje de saludo es obligatorio cuando hay más de una cola.", + }, + ticketz: { + support: { + title: "Apoyar el proyecto Ticketz", + mercadopagotitle: "Tarjeta de crédito", + recurringbrl: "Donaciones recurrentes en BRL", + paypaltitle: "Tarjeta de crédito", + international: "Donaciones en USD", } - }, - }, - }, + }, + }, + }, }; export { messages }; diff --git a/frontend/src/translate/languages/id.js b/frontend/src/translate/languages/id.js index 1821f71e..372d1455 100644 --- a/frontend/src/translate/languages/id.js +++ b/frontend/src/translate/languages/id.js @@ -1,824 +1,853 @@ const messages = { - id: { - translations: { - signup: { - title: "Daftar", - toasts: { - success: "Pengguna berhasil dibuat! Masuk sekarang!", - fail: "Kesalahan saat membuat pengguna. Periksa data yang diberikan.", - }, - form: { - name: "Nama", - email: "Email", - password: "Kata Sandi", - }, - buttons: { - submit: "Daftar", - login: "Sudah punya akun? Masuk!", - }, - }, - login: { - title: "Masuk", - form: { - email: "Email", - password: "Kata Sandi", - }, - buttons: { - submit: "Masuk", - register: "Belum punya akun? Daftar!", - }, - }, - companies: { - title: "Daftar Perusahaan", - form: { - name: "Nama Perusahaan", - plan: "Paket", - token: "Token", - submit: "Daftar", - success: "Perusahaan berhasil dibuat!", - }, - }, - auth: { - toasts: { - success: "Login berhasil!", - }, - token: "Token", - }, - dashboard: { - charts: { - perDay: { - title: "Interaksi Hari Ini: ", - }, - }, - }, - connections: { - title: "Koneksi", - toasts: { - deleted: "Koneksi WhatsApp berhasil dihapus!", - }, - confirmationModal: { - deleteTitle: "Hapus", + id: { + translations: { + signup: { + title: "Daftar", + toasts: { + success: "Pengguna berhasil dibuat! Masuk sekarang!", + fail: "Kesalahan saat membuat pengguna. Periksa data yang diberikan.", + }, + form: { + name: "Nama", + email: "Email", + password: "Kata Sandi", + }, + buttons: { + submit: "Daftar", + login: "Sudah punya akun? Masuk!", + }, + }, + login: { + title: "Masuk", + form: { + email: "Email", + password: "Kata Sandi", + }, + buttons: { + submit: "Masuk", + register: "Belum punya akun? Daftar!", + }, + }, + companies: { + title: "Daftar Perusahaan", + form: { + name: "Nama Perusahaan", + plan: "Paket", + token: "Token", + submit: "Daftar", + success: "Perusahaan berhasil dibuat!", + }, + }, + auth: { + toasts: { + success: "Login berhasil!", + }, + token: "Token", + }, + dashboard: { + charts: { + perDay: { + title: "Interaksi Hari Ini: ", + }, + }, + }, + connections: { + title: "Koneksi", + toasts: { + deleted: "Koneksi WhatsApp berhasil dihapus!", + }, + confirmationModal: { + deleteTitle: "Hapus", deleteMessage: "Apakah Anda yakin? Tindakan ini tidak bisa dibatalkan.", - disconnectTitle: "Putuskan Koneksi", + disconnectTitle: "Putuskan Koneksi", disconnectMessage: "Apakah Anda yakin? Anda perlu memindai Kode QR lagi.", - }, - buttons: { - add: "Tambah WhatsApp", - disconnect: "Putuskan", - tryAgain: "Coba Lagi", - qrcode: "KODE QR", - newQr: "Kode QR Baru", - connecting: "Menghubungkan", - }, - toolTips: { - disconnected: { - title: "Gagal memulai sesi WhatsApp", + }, + buttons: { + add: "Tambah WhatsApp", + disconnect: "Putuskan", + tryAgain: "Coba Lagi", + qrcode: "KODE QR", + newQr: "Kode QR Baru", + connecting: "Menghubungkan", + }, + toolTips: { + disconnected: { + title: "Gagal memulai sesi WhatsApp", content: "Pastikan ponsel Anda terhubung ke internet dan coba lagi, atau minta Kode QR baru.", - }, - qrcode: { - title: "Menunggu pemindaian Kode QR", + }, + qrcode: { + title: "Menunggu pemindaian Kode QR", content: "Klik tombol 'KODE QR' dan pindai Kode QR dengan ponsel Anda untuk memulai sesi.", - }, - connected: { - title: "Koneksi berhasil!", - }, - timeout: { - title: "Koneksi ke ponsel telah terputus", + }, + connected: { + title: "Koneksi berhasil!", + }, + timeout: { + title: "Koneksi ke ponsel telah terputus", content: "Pastikan ponsel Anda terhubung ke internet dan WhatsApp terbuka, atau klik 'Putuskan' untuk mendapatkan Kode QR baru.", - }, - }, - table: { - name: "Nama", - status: "Status", - lastUpdate: "Pembaruan Terakhir", + }, + }, + table: { + name: "Nama", + status: "Status", + lastUpdate: "Pembaruan Terakhir", default: "Default", - actions: "Aksi", - session: "Sesi", - }, - }, - internalChat: { - title: "Obrolan Internal", - }, - whatsappModal: { - title: { - add: "Tambah WhatsApp", - edit: "Edit WhatsApp", - }, - form: { - name: "Nama", + actions: "Aksi", + session: "Sesi", + }, + }, + internalChat: { + title: "Obrolan Internal", + }, + whatsappModal: { + title: { + add: "Tambah WhatsApp", + edit: "Edit WhatsApp", + }, + form: { + name: "Nama", default: "Default", - }, - buttons: { - okAdd: "Tambah", - okEdit: "Simpan", - cancel: "Batal", - }, - success: "WhatsApp berhasil disimpan.", - }, - qrCode: { - message: "Pindai Kode QR untuk memulai sesi", - }, - contacts: { - title: "Kontak", - toasts: { - deleted: "Kontak berhasil dihapus!", - }, - searchPlaceholder: "Cari...", - confirmationModal: { - deleteTitle: "Hapus", - importTitlte: "Impor Kontak", + }, + buttons: { + okAdd: "Tambah", + okEdit: "Simpan", + cancel: "Batal", + }, + success: "WhatsApp berhasil disimpan.", + }, + qrCode: { + message: "Pindai Kode QR untuk memulai sesi", + }, + contacts: { + title: "Kontak", + toasts: { + deleted: "Kontak berhasil dihapus!", + }, + searchPlaceholder: "Cari...", + confirmationModal: { + deleteTitle: "Hapus", + importTitlte: "Impor Kontak", deleteMessage: "Apakah Anda yakin ingin menghapus kontak ini? Semua interaksi terkait akan hilang.", importMessage: "Apakah Anda ingin mengimpor semua kontak dari ponsel?", - }, - buttons: { - import: "Impor Kontak", - add: "Tambah Kontak", - }, - table: { - name: "Nama", - whatsapp: "WhatsApp", - email: "Email", - actions: "Aksi", - }, - }, - contactModal: { - title: { - add: "Tambah Kontak", - edit: "Edit Kontak", - }, - form: { - mainInfo: "Informasi Kontak", - extraInfo: "Informasi Tambahan", - name: "Nama", - number: "Nomor WhatsApp", - email: "Email", - extraName: "Nama Bidang", - extraValue: "Nilai", - disableBot: "Nonaktifkan chatbot", - }, - buttons: { - addExtraInfo: "Tambah Informasi", - okAdd: "Tambah", - okEdit: "Simpan", - cancel: "Batal", - }, - success: "Kontak berhasil disimpan.", - }, - queueModal: { - title: { - add: "Tambah Antrian", - edit: "Edit Antrian", - }, - form: { - name: "Nama", - color: "Warna", - greetingMessage: "Pesan Sambutan", - complationMessage: "Pesan Penyelesaian", - outOfHoursMessage: "Pesan Di Luar Jam Kerja", - ratingMessage: "Pesan Penilaian", - transferMessage: "Pesan Transfer", - token: "Token", - }, - buttons: { - okAdd: "Tambah", - okEdit: "Simpan", - cancel: "Batal", - attach: "Lampirkan File", - }, - serviceHours: { - dayWeek: "Hari dalam Minggu", - startTimeA: "Waktu Mulai - Shift A", - endTimeA: "Waktu Berakhir - Shift A", - startTimeB: "Waktu Mulai - Shift B", - endTimeB: "Waktu Berakhir - Shift B", - monday: "Senin", - tuesday: "Selasa", - wednesday: "Rabu", - thursday: "Kamis", - friday: "Jumat", - saturday: "Sabtu", - sunday: "Minggu", - }, - }, - userModal: { - title: { - add: "Tambah Pengguna", - edit: "Edit Pengguna", - }, - form: { - name: "Nama", - email: "Email", - password: "Kata Sandi", - profile: "Profil", - }, - buttons: { - okAdd: "Tambah", - okEdit: "Simpan", - cancel: "Batal", - }, - success: "Pengguna berhasil disimpan.", - }, - scheduleModal: { - title: { - add: "Jadwal Baru", - edit: "Edit Jadwal", - }, - form: { - body: "Pesan", - contact: "Kontak", - sendAt: "Tanggal Dijadwalkan", - sentAt: "Tanggal Terkirim", - }, - buttons: { - okAdd: "Tambah", - okEdit: "Simpan", - cancel: "Batal", - }, - success: "Jadwal berhasil disimpan.", - }, - tagModal: { - title: { - add: "Tag Baru", - edit: "Edit Tag", - addKanban: "Lorong Baru", - editKanban: "Edit Lorong", - }, - form: { - name: "Nama", - color: "Warna", - kanban: "Kanban", - }, - buttons: { - okAdd: "Tambah", - okEdit: "Simpan", - cancel: "Batal", - }, - success: "Tag berhasil disimpan.", - successKanban: "Lorong berhasil disimpan.", - }, - chat: { - noTicketMessage: "Pilih tiket untuk memulai percakapan.", - }, - uploads: { - titles: { - titleUploadMsgDragDrop: "SERET DAN LETAKKAN FILE DI KOLOM DI BAWAH", + }, + buttons: { + import: "Impor Kontak", + add: "Tambah Kontak", + }, + table: { + name: "Nama", + whatsapp: "WhatsApp", + email: "Email", + actions: "Aksi", + }, + }, + contactModal: { + title: { + add: "Tambah Kontak", + edit: "Edit Kontak", + }, + form: { + mainInfo: "Informasi Kontak", + extraInfo: "Informasi Tambahan", + name: "Nama", + number: "Nomor WhatsApp", + email: "Email", + extraName: "Nama Bidang", + extraValue: "Nilai", + disableBot: "Nonaktifkan chatbot", + }, + buttons: { + addExtraInfo: "Tambah Informasi", + okAdd: "Tambah", + okEdit: "Simpan", + cancel: "Batal", + }, + success: "Kontak berhasil disimpan.", + }, + queueModal: { + title: { + add: "Tambah Antrian", + edit: "Edit Antrian", + }, + form: { + name: "Nama", + color: "Warna", + greetingMessage: "Pesan Sambutan", + complationMessage: "Pesan Penyelesaian", + outOfHoursMessage: "Pesan Di Luar Jam Kerja", + ratingMessage: "Pesan Penilaian", + transferMessage: "Pesan Transfer", + token: "Token", + }, + buttons: { + okAdd: "Tambah", + okEdit: "Simpan", + cancel: "Batal", + attach: "Lampirkan File", + }, + serviceHours: { + dayWeek: "Hari dalam Minggu", + startTimeA: "Waktu Mulai - Shift A", + endTimeA: "Waktu Berakhir - Shift A", + startTimeB: "Waktu Mulai - Shift B", + endTimeB: "Waktu Berakhir - Shift B", + monday: "Senin", + tuesday: "Selasa", + wednesday: "Rabu", + thursday: "Kamis", + friday: "Jumat", + saturday: "Sabtu", + sunday: "Minggu", + }, + }, + userModal: { + title: { + add: "Tambah Pengguna", + edit: "Edit Pengguna", + }, + form: { + name: "Nama", + email: "Email", + password: "Kata Sandi", + profile: "Profil", + }, + buttons: { + okAdd: "Tambah", + okEdit: "Simpan", + cancel: "Batal", + }, + success: "Pengguna berhasil disimpan.", + }, + scheduleModal: { + title: { + add: "Jadwal Baru", + edit: "Edit Jadwal", + }, + form: { + body: "Pesan", + contact: "Kontak", + sendAt: "Tanggal Dijadwalkan", + sentAt: "Tanggal Terkirim", + }, + buttons: { + okAdd: "Tambah", + okEdit: "Simpan", + cancel: "Batal", + }, + success: "Jadwal berhasil disimpan.", + }, + tagModal: { + title: { + add: "Tag Baru", + edit: "Edit Tag", + addKanban: "Lorong Baru", + editKanban: "Edit Lorong", + }, + form: { + name: "Nama", + color: "Warna", + kanban: "Kanban", + }, + buttons: { + okAdd: "Tambah", + okEdit: "Simpan", + cancel: "Batal", + }, + success: "Tag berhasil disimpan.", + successKanban: "Lorong berhasil disimpan.", + }, + chat: { + noTicketMessage: "Pilih tiket untuk memulai percakapan.", + }, + uploads: { + titles: { + titleUploadMsgDragDrop: "SERET DAN LETAKKAN FILE DI KOLOM DI BAWAH", titleFileList: "Daftar file(s)" - }, - }, - ticketsManager: { - buttons: { - newTicket: "Baru", - }, - }, - ticketsQueueSelect: { - placeholder: "Antrian", - }, - tickets: { - toasts: { - deleted: "Tiket yang Anda kerjakan telah dihapus.", - }, - notification: { - message: "Pesan dari", - }, - tabs: { - open: { + }, + }, + ticketsManager: { + buttons: { + newTicket: "Baru", + }, + }, + ticketsQueueSelect: { + placeholder: "Antrian", + }, + tickets: { + toasts: { + deleted: "Tiket yang Anda kerjakan telah dihapus.", + }, + notification: { + message: "Pesan dari", + }, + tabs: { + open: { title: "Buka" - }, - closed: { + }, + closed: { title: "Tutup" - }, - search: { + }, + search: { title: "Cari" - }, - }, - search: { - placeholder: "Cari tiket dan pesan", - }, - buttons: { - showAll: "Semua", - }, - }, - transferTicketModal: { - title: "Transfer Tiket", - fieldLabel: "Ketik untuk mencari pengguna", - fieldQueueLabel: "Transfer ke antrian", - fieldQueuePlaceholder: "Pilih antrian", - noOptions: "Tidak ada pengguna yang ditemukan dengan nama itu", - buttons: { - ok: "Transfer", - cancel: "Batal", - }, - }, - ticketsList: { - pendingHeader: "Tertunda", - assignedHeader: "Ditugaskan", - noTicketsTitle: "Tidak ada apa-apa di sini!", + }, + }, + search: { + placeholder: "Cari tiket dan pesan", + }, + buttons: { + showAll: "Semua", + }, + }, + transferTicketModal: { + title: "Transfer Tiket", + fieldLabel: "Ketik untuk mencari pengguna", + fieldQueueLabel: "Transfer ke antrian", + fieldQueuePlaceholder: "Pilih antrian", + noOptions: "Tidak ada pengguna yang ditemukan dengan nama itu", + buttons: { + ok: "Transfer", + cancel: "Batal", + }, + }, + ticketsList: { + pendingHeader: "Tertunda", + assignedHeader: "Ditugaskan", + noTicketsTitle: "Tidak ada apa-apa di sini!", noTicketsMessage: "Tidak ada tiket yang ditemukan dengan status ini atau istilah pencarian", - buttons: { - accept: "Terima", - }, - }, - newTicketModal: { - title: "Buat Tiket", - fieldLabel: "Cari kontak", - add: "Tambah", - buttons: { - ok: "Simpan", - cancel: "Batal", - }, - }, - mainDrawer: { - listItems: { - dashboard: "Dasbor", - connections: "Koneksi", - tickets: "Tiket", - quickMessages: "Respon Cepat", - contacts: "Kontak", - queues: "Antrian", - tags: "Tags", - administration: "Administrasi", - service: "Service", - users: "Pengguna", - settings: "Pengaturan", - helps: "Bantuan", - messagesAPI: "API", - schedules: "Penjadwalan", - campaigns: "Kampanye", - annoucements: "Pengumuman", - chats: "Chat Internal", - financeiro: "Finansial", - logout: "Logout", - management: "Management", + buttons: { + accept: "Terima", + }, + }, + newTicketModal: { + title: "Buat Tiket", + fieldLabel: "Cari kontak", + add: "Tambah", + buttons: { + ok: "Simpan", + cancel: "Batal", + }, + }, + mainDrawer: { + listItems: { + dashboard: "Dasbor", + connections: "Koneksi", + tickets: "Tiket", + quickMessages: "Respon Cepat", + contacts: "Kontak", + queues: "Antrian", + tags: "Tags", + administration: "Administrasi", + service: "Service", + users: "Pengguna", + settings: "Pengaturan", + helps: "Bantuan", + messagesAPI: "API", + schedules: "Penjadwalan", + campaigns: "Kampanye", + annoucements: "Pengumuman", + chats: "Chat Internal", + financeiro: "Finansial", + logout: "Logout", + management: "Management", kanban: "Kanban" - }, - appBar: { - i18n: { - language: "Indonesian", + }, + appBar: { + i18n: { + language: "Indonesian", language_short: "ID" - }, - user: { - profile: "Profile", - darkmode: "Dark mode", - lightmode: "Light mode", - language: "Select language", - about: "About", - logout: "Keluar", - }, - }, - }, - messagesAPI: { - title: "API", - textMessage: { - number: "Nomor", - body: "Pesan", - token: "Token Terdaftar", - }, - mediaMessage: { - number: "Nomor", - body: "Nama File", - media: "File", - token: "Token Terdaftar", - }, - }, - notifications: { - noTickets: "Tidak ada notifikasi.", - }, - quickMessages: { - title: "Respon Cepat", - buttons: { - add: "Respon Baru", - }, - dialog: { - shortcode: "Pintasan", - message: "Respon", - }, - }, - kanban: { - title: "Kanban", - searchPlaceholder: "Cari", - subMenus: { - list: "Panel", + }, + user: { + profile: "Profile", + darkmode: "Dark mode", + lightmode: "Light mode", + language: "Select language", + about: "About", + logout: "Keluar", + }, + }, + }, + messagesAPI: { + title: "API", + textMessage: { + number: "Nomor", + body: "Pesan", + token: "Token Terdaftar", + }, + mediaMessage: { + number: "Nomor", + body: "Nama File", + media: "File", + token: "Token Terdaftar", + }, + }, + notifications: { + noTickets: "Tidak ada notifikasi.", + }, + quickMessages: { + title: "Respon Cepat", + buttons: { + add: "Respon Baru", + }, + dialog: { + shortcode: "Pintasan", + message: "Respon", + }, + }, + kanban: { + title: "Kanban", + searchPlaceholder: "Cari", + subMenus: { + list: "Panel", tags: "Jalur" } - }, - tagsKanban: { - title: "Jalur", - laneDefault: "Buka", - confirmationModal: { - deleteTitle: "Apakah Anda yakin ingin menghapus Jalur ini?", - deleteMessage: "Tindakan ini tidak dapat dibatalkan.", - }, - table: { - name: "Nama", - color: "Warna", - tickets: "Tiket", - actions: "Aksi", - }, - buttons: { - add: "Jalur Baru", - }, - toasts: { - deleted: "Jalur berhasil dihapus.", - }, - }, - queues: { - title: "Antrian", - table: { - name: "Nama", - color: "Warna", - actions: "Aksi", - }, - buttons: { - add: "Daftar Baru", - }, - dialog: { - name: "Nama", - company: "Perusahaan", - okEdit: "Edit", - okAdd: "Tambah", - add: "Tambah", - edit: "Edit", - cancel: "Batal", - }, - confirmationModal: { - deleteTitle: "Hapus", - deleteMessage: "Tindakan ini tidak dapat dibatalkan.", - }, - toasts: { - deleted: "Data berhasil dihapus", - }, - }, - contactListItems: { - title: "Kontak", - searchPlaceholder: "Cari", - buttons: { - add: "Baru", - lists: "Daftar", - import: "Impor", - }, - dialog: { - name: "Nama", - number: "Nomor", - whatsapp: "WhatsApp", - email: "Email", - okEdit: "Edit", - okAdd: "Tambah", - add: "Tambah", - edit: "Edit", - cancel: "Batal", - }, - table: { - name: "Nama", - number: "Nomor", - whatsapp: "WhatsApp", - email: "Email", - actions: "Aksi", - }, - confirmationModal: { - deleteTitle: "Hapus", - deleteMessage: "Tindakan ini tidak dapat dibatalkan.", + }, + tagsKanban: { + title: "Jalur", + laneDefault: "Buka", + confirmationModal: { + deleteTitle: "Apakah Anda yakin ingin menghapus Jalur ini?", + deleteMessage: "Tindakan ini tidak dapat dibatalkan.", + }, + table: { + name: "Nama", + color: "Warna", + tickets: "Tiket", + actions: "Aksi", + }, + buttons: { + add: "Jalur Baru", + }, + toasts: { + deleted: "Jalur berhasil dihapus.", + }, + }, + queues: { + title: "Antrian", + table: { + name: "Nama", + color: "Warna", + actions: "Aksi", + }, + buttons: { + add: "Daftar Baru", + }, + dialog: { + name: "Nama", + company: "Perusahaan", + okEdit: "Edit", + okAdd: "Tambah", + add: "Tambah", + edit: "Edit", + cancel: "Batal", + }, + confirmationModal: { + deleteTitle: "Hapus", + deleteMessage: "Tindakan ini tidak dapat dibatalkan.", + }, + toasts: { + deleted: "Data berhasil dihapus", + }, + }, + contactListItems: { + title: "Kontak", + searchPlaceholder: "Cari", + buttons: { + add: "Baru", + lists: "Daftar", + import: "Impor", + }, + dialog: { + name: "Nama", + number: "Nomor", + whatsapp: "WhatsApp", + email: "Email", + okEdit: "Edit", + okAdd: "Tambah", + add: "Tambah", + edit: "Edit", + cancel: "Batal", + }, + table: { + name: "Nama", + number: "Nomor", + whatsapp: "WhatsApp", + email: "Email", + actions: "Aksi", + }, + confirmationModal: { + deleteTitle: "Hapus", + deleteMessage: "Tindakan ini tidak dapat dibatalkan.", importMessage: "Apakah Anda ingin mengimpor kontak dari spreadsheet ini?", - importTitlte: "Impor", - }, - toasts: { - deleted: "Data berhasil dihapus", - }, - }, - campaigns: { - title: "Kampanye", - searchPlaceholder: "Cari", - buttons: { - add: "Kampanye Baru", - contactLists: "Daftar Kontak", - }, - table: { - name: "Nama", - whatsapp: "Koneksi", - contactList: "Daftar Kontak", - status: "Status", - scheduledAt: "Dijadwalkan", - completedAt: "Selesai", - confirmation: "Konfirmasi", - actions: "Aksi", - }, - dialog: { - new: "Kampanye Baru", - update: "Edit Kampanye", - readonly: "Hanya-baca", - form: { - name: "Nama", - message1: "Pesan 1", - message2: "Pesan 2", - message3: "Pesan 3", - message4: "Pesan 4", - message5: "Pesan 5", - confirmationMessage1: "Pesan Konfirmasi 1", - confirmationMessage2: "Pesan Konfirmasi 2", - confirmationMessage3: "Pesan Konfirmasi 3", - confirmationMessage4: "Pesan Konfirmasi 4", - confirmationMessage5: "Pesan Konfirmasi 5", - messagePlaceholder: "Isi Pesan", - whatsapp: "Koneksi", - status: "Status", - scheduledAt: "Dijadwalkan", - confirmation: "Konfirmasi", - contactList: "Daftar Kontak", - }, - buttons: { - add: "Tambah", - edit: "Perbarui", - okadd: "Oke", - cancel: "Batalkan Pengiriman", - restart: "Mulai Ulang Pengiriman", - close: "Tutup", - attach: "Lampirkan File", - }, - }, - confirmationModal: { - deleteTitle: "Hapus", - deleteMessage: "Tindakan ini tidak dapat dibatalkan.", - }, - toasts: { - success: "Operasi berhasil diselesaikan", - cancel: "Kampanye dibatalkan", - restart: "Kampanye dimulai ulang", - deleted: "Data berhasil dihapus", - }, - }, - announcements: { - title: "Pengumuman", - searchPlaceholder: "Cari", - buttons: { - add: "Pengumuman Baru", - contactLists: "Daftar Pengumuman", - }, - table: { - priority: "Prioritas", - title: "Judul", - text: "Teks", - mediaName: "File", - status: "Status", - actions: "Aksi", - }, - dialog: { - edit: "Edit Pengumuman", - add: "Pengumuman Baru", - update: "Edit Pengumuman", - readonly: "Hanya-baca", - form: { - priority: "Prioritas", - title: "Judul", - text: "Teks", - mediaPath: "File", - status: "Status", - }, - buttons: { - add: "Tambah", - edit: "Perbarui", - okadd: "Oke", - cancel: "Batal", - close: "Tutup", - attach: "Lampirkan File", - }, - }, - confirmationModal: { - deleteTitle: "Hapus", - deleteMessage: "Tindakan ini tidak dapat dibatalkan.", - }, - toasts: { - success: "Operasi berhasil diselesaikan", - deleted: "Data berhasil dihapus", - }, - }, - campaignsConfig: { - title: "Konfigurasi Kampanye", - }, - queues: { - title: "Antrian & Chatbot", - table: { - name: "Nama", - color: "Warna", - greeting: "Pesan Sambutan", - actions: "Aksi", - }, - buttons: { - add: "Tambah Antrian", - }, - confirmationModal: { - deleteTitle: "Hapus", + importTitlte: "Impor", + }, + toasts: { + deleted: "Data berhasil dihapus", + }, + }, + campaigns: { + title: "Kampanye", + searchPlaceholder: "Cari", + buttons: { + add: "Kampanye Baru", + contactLists: "Daftar Kontak", + }, + table: { + name: "Nama", + whatsapp: "Koneksi", + contactList: "Daftar Kontak", + status: "Status", + scheduledAt: "Dijadwalkan", + completedAt: "Selesai", + confirmation: "Konfirmasi", + actions: "Aksi", + }, + dialog: { + new: "Kampanye Baru", + update: "Edit Kampanye", + readonly: "Hanya-baca", + form: { + name: "Nama", + message1: "Pesan 1", + message2: "Pesan 2", + message3: "Pesan 3", + message4: "Pesan 4", + message5: "Pesan 5", + confirmationMessage1: "Pesan Konfirmasi 1", + confirmationMessage2: "Pesan Konfirmasi 2", + confirmationMessage3: "Pesan Konfirmasi 3", + confirmationMessage4: "Pesan Konfirmasi 4", + confirmationMessage5: "Pesan Konfirmasi 5", + messagePlaceholder: "Isi Pesan", + whatsapp: "Koneksi", + status: "Status", + scheduledAt: "Dijadwalkan", + confirmation: "Konfirmasi", + contactList: "Daftar Kontak", + }, + buttons: { + add: "Tambah", + edit: "Perbarui", + okadd: "Oke", + cancel: "Batalkan Pengiriman", + restart: "Mulai Ulang Pengiriman", + close: "Tutup", + attach: "Lampirkan File", + }, + }, + confirmationModal: { + deleteTitle: "Hapus", + deleteMessage: "Tindakan ini tidak dapat dibatalkan.", + }, + toasts: { + success: "Operasi berhasil diselesaikan", + cancel: "Kampanye dibatalkan", + restart: "Kampanye dimulai ulang", + deleted: "Data berhasil dihapus", + }, + }, + announcements: { + title: "Pengumuman", + searchPlaceholder: "Cari", + buttons: { + add: "Pengumuman Baru", + contactLists: "Daftar Pengumuman", + }, + table: { + priority: "Prioritas", + title: "Judul", + text: "Teks", + mediaName: "File", + status: "Status", + actions: "Aksi", + }, + dialog: { + edit: "Edit Pengumuman", + add: "Pengumuman Baru", + update: "Edit Pengumuman", + readonly: "Hanya-baca", + form: { + priority: "Prioritas", + title: "Judul", + text: "Teks", + mediaPath: "File", + status: "Status", + }, + buttons: { + add: "Tambah", + edit: "Perbarui", + okadd: "Oke", + cancel: "Batal", + close: "Tutup", + attach: "Lampirkan File", + }, + }, + confirmationModal: { + deleteTitle: "Hapus", + deleteMessage: "Tindakan ini tidak dapat dibatalkan.", + }, + toasts: { + success: "Operasi berhasil diselesaikan", + deleted: "Data berhasil dihapus", + }, + }, + campaignsConfig: { + title: "Konfigurasi Kampanye", + }, + queues: { + title: "Antrian & Chatbot", + table: { + name: "Nama", + color: "Warna", + greeting: "Pesan Sambutan", + actions: "Aksi", + }, + buttons: { + add: "Tambah Antrian", + }, + confirmationModal: { + deleteTitle: "Hapus", deleteMessage: "Apakah Anda yakin? Tindakan ini tidak dapat dibatalkan! Tiket dari antrian ini akan tetap ada tetapi tidak akan lagi ditugaskan ke antrian mana pun.", - }, - }, - queueSelect: { - inputLabel: "Antrian", - }, - users: { - title: "Pengguna", - table: { - name: "Nama", - email: "Email", - profile: "Profil", - actions: "Aksi", - }, - buttons: { - add: "Tambah Pengguna", - }, - toasts: { - deleted: "Pengguna berhasil dihapus.", - }, - confirmationModal: { - deleteTitle: "Hapus", + }, + }, + queueSelect: { + inputLabel: "Antrian", + }, + users: { + title: "Pengguna", + table: { + name: "Nama", + email: "Email", + profile: "Profil", + actions: "Aksi", + }, + buttons: { + add: "Tambah Pengguna", + }, + toasts: { + deleted: "Pengguna berhasil dihapus.", + }, + confirmationModal: { + deleteTitle: "Hapus", deleteMessage: "Semua data pengguna akan hilang. Tiket terbuka dari pengguna ini akan dipindahkan ke antrian.", - }, - }, - helps: { - title: "Pusat Bantuan", - }, - about: { - aboutthe: "Tentang", - copyright: "© 2024 - Didukung oleh ticketz", - buttonclose: "Tutup", - title: "Tentang ticketz", - abouttitle: "Asal dan peningkatan", + }, + }, + helps: { + title: "Pusat Bantuan", + }, + about: { + aboutthe: "Tentang", + copyright: "� 2024 - Didukung oleh ticketz", + buttonclose: "Tutup", + title: "Tentang ticketz", + abouttitle: "Asal dan peningkatan", aboutdetail: "ticketz berasal secara tidak langsung dari proyek Whaticket dengan peningkatan yang dibagikan oleh para pengembang sistem EquipeChat melalui saluran VemFazer di YouTube, kemudian ditingkatkan oleh Claudemir Todo Bom", - aboutauthorsite: "Situs penulis", - aboutwhaticketsite: "Situs Komunitas Whaticket di Github", - aboutvemfazersite: "Situs saluran Vem Fazer di Github", - licenseheading: "Lisensi Sumber Terbuka", + aboutauthorsite: "Situs penulis", + aboutwhaticketsite: "Situs Komunitas Whaticket di Github", + aboutvemfazersite: "Situs saluran Vem Fazer di Github", + licenseheading: "Lisensi Sumber Terbuka", licensedetail: "ticketz dilisensikan di bawah GNU Affero General Public License versi 3, yang berarti bahwa setiap pengguna yang memiliki akses ke aplikasi ini berhak untuk mendapatkan akses ke kode sumbernya. Informasi lebih lanjut di tautan berikut:", - licensefulltext: "Teks lengkap lisensi", + licensefulltext: "Teks lengkap lisensi", licensesourcecode: "Kode sumber Ticketz" - }, - schedules: { - title: "Jadwal", - confirmationModal: { - deleteTitle: "Hapus", + }, + schedules: { + title: "Jadwal", + confirmationModal: { + deleteTitle: "Hapus", deleteMessage: "Apakah Anda yakin ingin menghapus kampanye ini? Tindakan ini tidak dapat dibatalkan.", - }, - table: { - contact: "Kontak", - body: "Pesan", - sendAt: "Tanggal Penjadwalan", - sentAt: "Tanggal Pengiriman", - status: "Status", - actions: "Aksi", - }, - buttons: { - add: "Jadwal Baru", - }, - toasts: { - deleted: "Jadwal berhasil dihapus.", - }, - }, - tags: { - title: "Tag", - confirmationModal: { - deleteTitle: "Apakah Anda yakin ingin menghapus Tag ini?", - deleteMessage: "Tindakan ini tidak dapat dibatalkan.", - }, - table: { - name: "Nama", - color: "Warna", - tickets: "Catatan", - actions: "Aksi", - id: "Id", - kanban: "Kanban", - }, - buttons: { - add: "Tag Baru", - }, - toasts: { - deleted: "Tag berhasil dihapus.", - }, - }, - settings: { - success: "Pengaturan berhasil disimpan.", - title: "Pengaturan", - settings: { - userCreation: { - name: "Pembuatan pengguna", - options: { - enabled: "Diaktifkan", - disabled: "Dinonaktifkan", - }, - }, - }, - }, - messagesList: { - header: { - assignedTo: "Ditugaskan kepada:", - buttons: { + }, + table: { + contact: "Kontak", + body: "Pesan", + sendAt: "Tanggal Penjadwalan", + sentAt: "Tanggal Pengiriman", + status: "Status", + actions: "Aksi", + }, + buttons: { + add: "Jadwal Baru", + }, + toasts: { + deleted: "Jadwal berhasil dihapus.", + }, + }, + tags: { + title: "Tag", + confirmationModal: { + deleteTitle: "Apakah Anda yakin ingin menghapus Tag ini?", + deleteMessage: "Tindakan ini tidak dapat dibatalkan.", + }, + table: { + name: "Nama", + color: "Warna", + tickets: "Catatan", + actions: "Aksi", + id: "Id", + kanban: "Kanban", + }, + buttons: { + add: "Tag Baru", + }, + toasts: { + deleted: "Tag berhasil dihapus.", + }, + }, + settings: { + success: "Pengaturan berhasil disimpan.", + title: "Pengaturan", + settings: { + userCreation: { + name: "Pembuatan pengguna", + options: { + enabled: "Diaktifkan", + disabled: "Dinonaktifkan", + }, + }, + }, + }, + messagesList: { + header: { + assignedTo: "Ditugaskan kepada:", + buttons: { return : "Kembali", - resolve: "Selesaikan", - reopen: "Buka Kembali", - accept: "Terima", - }, - }, - }, - messagesInput: { - placeholderOpen: "Ketik pesan", + resolve: "Selesaikan", + reopen: "Buka Kembali", + accept: "Terima", + }, + }, + }, + messagesInput: { + placeholderOpen: "Ketik pesan", placeholderClosed: "Buka kembali atau terima tiket ini untuk mengirim pesan.", - signMessage: "Tandatangani", - replying: "Membalas", - editing: "Mengedit", - }, - message: { + signMessage: "Tandatangani", + replying: "Membalas", + editing: "Mengedit", + }, + message: { edited: "Diedit" - }, + }, - contactDrawer: { - header: "Informasi Kontak", - buttons: { - edit: "Edit Kontak", - }, - extraInfo: "Informasi lainnya", - }, - ticketOptionsMenu: { - schedule: "Jadwal", + contactDrawer: { + header: "Informasi Kontak", + buttons: { + edit: "Edit Kontak", + }, + extraInfo: "Informasi lainnya", + }, + ticketOptionsMenu: { + schedule: "Jadwal", delete : "Hapus", - transfer: "Transfer", - registerAppointment: "Catatan Kontak", - appointmentsModal: { - title: "Catatan Kontak", - textarea: "Catatan", - placeholder: "Masukkan informasi yang ingin Anda catat di sini", - }, - confirmationModal: { - title: "Hapus tiket kontak", + transfer: "Transfer", + registerAppointment: "Catatan Kontak", + appointmentsModal: { + title: "Catatan Kontak", + textarea: "Catatan", + placeholder: "Masukkan informasi yang ingin Anda catat di sini", + }, + confirmationModal: { + title: "Hapus tiket kontak", message: "Perhatian! Semua pesan yang terkait dengan tiket akan hilang.", - }, - buttons: { + }, + buttons: { delete : "Hapus", - cancel: "Batal", - }, - }, - confirmationModal: { - buttons: { - confirm: "Oke", - cancel: "Batal", - }, - }, - messageOptionsMenu: { + cancel: "Batal", + }, + }, + confirmationModal: { + buttons: { + confirm: "Oke", + cancel: "Batal", + }, + }, + messageOptionsMenu: { delete : "Hapus", - edit: "Edit", - history: "Riwayat", - reply: "Balas", - confirmationModal: { - title: "Hapus pesan?", - message: "Tindakan ini tidak dapat dibatalkan.", - }, - }, - messageHistoryModal: { - close: "Tutup", + edit: "Edit", + history: "Riwayat", + reply: "Balas", + confirmationModal: { + title: "Hapus pesan?", + message: "Tindakan ini tidak dapat dibatalkan.", + }, + }, + messageHistoryModal: { + close: "Tutup", title: "Riwayat edit pesan" - }, - presence: { - unavailable: "Tidak tersedia", - available: "Tersedia", - composing: "Menulis...", - recording: "Merekam...", - paused: "Jeda", - }, - backendErrors: { - ERR_NO_OTHER_WHATSAPP: "Harus ada setidaknya satu WhatsApp default.", + }, + presence: { + unavailable: "Tidak tersedia", + available: "Tersedia", + composing: "Menulis...", + recording: "Merekam...", + paused: "Jeda", + }, + privacyModal: { + title: "Edit Privasi Whatsapp", + buttons: { + cancel: "Membatalkan", + okEdit: "Menyimpan", + }, + form: { + menu: { + all: "Semua", + none: "Bukan siapa-siapa", + contacts: "Kontak saya", + contact_blacklist: "Kontak yang dipilih", + match_last_seen: "Pertandingan Terakhir Dilihat", + known: "Diketahui", + disable: "Dengan disabilitas", + hrs24: "24 Jam", + dias7: "7 Hari", + dias90: "90 Hari", + }, + readreceipts: "Untuk memperbarui privasi Tanda Terima Baca", + profile: "Untuk memperbarui privasi Gambar Profil", + status: "Untuk memperbarui privasi Pesan", + online: "Untuk memperbarui Privasi Online", + last: "Untuk memperbarui privasi Terakhir terlihat", + groupadd: "Untuk memperbarui Grup Tambahkan privasi", + calladd: "Untuk memperbarui Panggilan Tambahkan privasi", + disappearing: "Untuk memperbarui Mode Hilang Default", + }, + }, + backendErrors: { + ERR_NO_OTHER_WHATSAPP: "Harus ada setidaknya satu WhatsApp default.", ERR_NO_DEF_WAPP_FOUND: "Tidak ada WhatsApp default yang ditemukan. Periksa halaman koneksi.", ERR_WAPP_NOT_INITIALIZED: "Sesi WhatsApp ini belum diinisialisasi. Periksa halaman koneksi.", ERR_WAPP_CHECK_CONTACT: "Tidak dapat memeriksa kontak WhatsApp. Periksa halaman koneksi.", - ERR_WAPP_INVALID_CONTACT: "Ini bukan nomor WhatsApp yang valid.", + ERR_WAPP_INVALID_CONTACT: "Ini bukan nomor WhatsApp yang valid.", ERR_WAPP_DOWNLOAD_MEDIA: "Tidak dapat mengunduh media dari WhatsApp. Periksa halaman koneksi.", - ERR_INVALID_CREDENTIALS: "Kesalahan autentikasi. Silakan coba lagi.", + ERR_INVALID_CREDENTIALS: "Kesalahan autentikasi. Silakan coba lagi.", ERR_SENDING_WAPP_MSG: "Kesalahan mengirim pesan WhatsApp. Periksa halaman koneksi.", - ERR_DELETE_WAPP_MSG: "Tidak dapat menghapus pesan WhatsApp.", - ERR_EDITING_WAPP_MSG: "Tidak dapat mengedit pesan WhatsApp.", - ERR_OTHER_OPEN_TICKET: "Sudah ada tiket terbuka untuk kontak ini.", - ERR_SESSION_EXPIRED: "Sesi berakhir. Silakan masuk.", + ERR_DELETE_WAPP_MSG: "Tidak dapat menghapus pesan WhatsApp.", + ERR_EDITING_WAPP_MSG: "Tidak dapat mengedit pesan WhatsApp.", + ERR_OTHER_OPEN_TICKET: "Sudah ada tiket terbuka untuk kontak ini.", + ERR_SESSION_EXPIRED: "Sesi berakhir. Silakan masuk.", ERR_USER_CREATION_DISABLED: "Pembuatan pengguna telah dinonaktifkan oleh administrator.", ERR_NO_PERMISSION: "Anda tidak memiliki izin untuk mengakses sumber daya ini.", - ERR_DUPLICATED_CONTACT: "Kontak dengan nomor ini sudah ada.", - ERR_NO_SETTING_FOUND: "Tidak ada pengaturan ditemukan dengan ID ini.", - ERR_NO_CONTACT_FOUND: "Tidak ada kontak ditemukan dengan ID ini.", - ERR_NO_TICKET_FOUND: "Tidak ada tiket ditemukan dengan ID ini.", - ERR_NO_USER_FOUND: "Tidak ada pengguna ditemukan dengan ID ini.", - ERR_NO_WAPP_FOUND: "Tidak ada WhatsApp ditemukan dengan ID ini.", - ERR_CREATING_MESSAGE: "Kesalahan membuat pesan dalam basis data.", - ERR_CREATING_TICKET: "Kesalahan membuat tiket dalam basis data.", + ERR_DUPLICATED_CONTACT: "Kontak dengan nomor ini sudah ada.", + ERR_NO_SETTING_FOUND: "Tidak ada pengaturan ditemukan dengan ID ini.", + ERR_NO_CONTACT_FOUND: "Tidak ada kontak ditemukan dengan ID ini.", + ERR_NO_TICKET_FOUND: "Tidak ada tiket ditemukan dengan ID ini.", + ERR_NO_USER_FOUND: "Tidak ada pengguna ditemukan dengan ID ini.", + ERR_NO_WAPP_FOUND: "Tidak ada WhatsApp ditemukan dengan ID ini.", + ERR_CREATING_MESSAGE: "Kesalahan membuat pesan dalam basis data.", + ERR_CREATING_TICKET: "Kesalahan membuat tiket dalam basis data.", ERR_FETCH_WAPP_MSG: "Kesalahan mengambil pesan dari WhatsApp, mungkin terlalu lama.", ERR_QUEUE_COLOR_ALREADY_EXISTS: "Warna ini sudah digunakan, pilih yang lain.", ERR_WAPP_GREETING_REQUIRED: "Pesan sambutan wajib jika ada lebih dari satu antrian.", - }, - ticketz: { - support: { - title: "Dukung proyek Ticketz", - mercadopagotitle: "Kartu Kredit", - recurringbrl: "Donasi berulang dalam BRL", - paypaltitle: "Kartu Kredit", - international: "Donasi dalam USD", + }, + ticketz: { + support: { + title: "Dukung proyek Ticketz", + mercadopagotitle: "Kartu Kredit", + recurringbrl: "Donasi berulang dalam BRL", + paypaltitle: "Kartu Kredit", + international: "Donasi dalam USD", } - }, - }, - }, + }, + }, + }, }; export { diff --git a/frontend/src/translate/languages/pt.js b/frontend/src/translate/languages/pt.js index 0b81a322..c5b8c547 100644 --- a/frontend/src/translate/languages/pt.js +++ b/frontend/src/translate/languages/pt.js @@ -1,196 +1,196 @@ const messages = { - pt: { - translations: { - signup: { - title: "Cadastre-se", - toasts: { - success: "Usuário criado com sucesso! Faça seu login!!!.", - fail: "Erro ao criar usuário. Verifique os dados informados.", - }, - form: { - name: "Nome", - email: "Email", - password: "Senha", - }, - buttons: { - submit: "Cadastrar", - login: "Já tem uma conta? Entre!", - }, - }, - login: { - title: "Login", - form: { - email: "Email", - password: "Senha", - }, - buttons: { - submit: "Entrar", - register: "Não tem um conta? Cadastre-se!", - }, - }, - companies: { - title: "Cadastrar Empresa", - form: { - name: "Nome da Empresa", - plan: "Plano", - token: "Token", - submit: "Cadastrar", - success: "Empresa criada com sucesso!", - }, - }, - auth: { - toasts: { - success: "Login efetuado com sucesso!", - }, - token: "Token", - }, - dashboard: { - charts: { - perDay: { - title: "Atendimentos hoje: ", - }, - }, - }, - 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.", - disconnectTitle: "Desconectar", - disconnectMessage: - "Tem certeza? Você precisará ler o QR Code novamente.", - }, - buttons: { - add: "Adicionar WhatsApp", - disconnect: "desconectar", - tryAgain: "Tentar novamente", - qrcode: "QR CODE", - newQr: "Novo QR CODE", - connecting: "Conectando", - }, - toolTips: { - disconnected: { - title: "Falha ao iniciar sessão do WhatsApp", - content: - "Certifique-se de que seu celular esteja conectado à internet e tente novamente, ou solicite um novo QR Code", - }, - qrcode: { - title: "Esperando leitura do QR Code", - content: - "Clique no botão 'QR CODE' e leia o QR Code com o seu celular para iniciar a sessão", - }, - connected: { - title: "Conexão estabelecida!", - }, - timeout: { - title: "A conexão com o celular foi perdida", - content: - "Certifique-se de que seu celular esteja conectado à internet e o WhatsApp esteja aberto, ou clique no botão 'Desconectar' para obter um novo QR Code", - }, - }, - table: { - name: "Nome", - status: "Status", - lastUpdate: "Última atualização", - default: "Padrão", - actions: "Ações", - session: "Sessão", - }, - }, + pt: { + translations: { + signup: { + title: "Cadastre-se", + toasts: { + success: "Usuário criado com sucesso! Faça seu login!!!.", + fail: "Erro ao criar usuário. Verifique os dados informados.", + }, + form: { + name: "Nome", + email: "Email", + password: "Senha", + }, + buttons: { + submit: "Cadastrar", + login: "Já tem uma conta? Entre!", + }, + }, + login: { + title: "Login", + form: { + email: "Email", + password: "Senha", + }, + buttons: { + submit: "Entrar", + register: "Não tem um conta? Cadastre-se!", + }, + }, + companies: { + title: "Cadastrar Empresa", + form: { + name: "Nome da Empresa", + plan: "Plano", + token: "Token", + submit: "Cadastrar", + success: "Empresa criada com sucesso!", + }, + }, + auth: { + toasts: { + success: "Login efetuado com sucesso!", + }, + token: "Token", + }, + dashboard: { + charts: { + perDay: { + title: "Atendimentos hoje: ", + }, + }, + }, + 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.", + disconnectTitle: "Desconectar", + disconnectMessage: + "Tem certeza? Você precisará ler o QR Code novamente.", + }, + buttons: { + add: "Adicionar WhatsApp", + disconnect: "desconectar", + tryAgain: "Tentar novamente", + qrcode: "QR CODE", + newQr: "Novo QR CODE", + connecting: "Conectando", + }, + toolTips: { + disconnected: { + title: "Falha ao iniciar sessão do WhatsApp", + content: + "Certifique-se de que seu celular esteja conectado à internet e tente novamente, ou solicite um novo QR Code", + }, + qrcode: { + title: "Esperando leitura do QR Code", + content: + "Clique no botão 'QR CODE' e leia o QR Code com o seu celular para iniciar a sessão", + }, + connected: { + title: "Conexão estabelecida!", + }, + timeout: { + title: "A conexão com o celular foi perdida", + content: + "Certifique-se de que seu celular esteja conectado à internet e o WhatsApp esteja aberto, ou clique no botão 'Desconectar' para obter um novo QR Code", + }, + }, + table: { + name: "Nome", + status: "Status", + lastUpdate: "Última atualização", + default: "Padrão", + actions: "Ações", + session: "Sessão", + }, + }, internalChat:{ title: "Chat Interno" - }, - 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 ", - importTitlte: "Importar contatos", - deleteMessage: - "Tem certeza que deseja deletar este contato? Todos os atendimentos relacionados serão perdidos.", - importMessage: "Deseja importar todos os contatos do telefone?", - }, - buttons: { - import: "Importar Contatos", - add: "Adicionar Contato", - }, - table: { - name: "Nome", - whatsapp: "WhatsApp", - email: "Email", - actions: "Ações", - }, - }, - contactModal: { - title: { - add: "Adicionar contato", - edit: "Editar contato", - }, - form: { - mainInfo: "Dados do contato", - extraInfo: "Informações adicionais", - name: "Nome", - number: "Número do Whatsapp", - email: "Email", - extraName: "Nome do campo", - extraValue: "Valor", - disableBot: "Desabilitar chatbot", - }, - buttons: { - addExtraInfo: "Adicionar informação", - okAdd: "Adicionar", - okEdit: "Salvar", - cancel: "Cancelar", - }, - success: "Contato salvo com sucesso.", - }, - queueModal: { - title: { - add: "Adicionar fila", - edit: "Editar fila", - }, - form: { - name: "Nome", - color: "Cor", - greetingMessage: "Mensagem de saudação", - complationMessage: "Mensagem de conclusão", - outOfHoursMessage: "Mensagem de fora de expediente", - ratingMessage: "Mensagem de avaliação", - transferMessage: "Mensagem de Transferência", - token: "Token", - }, - buttons: { - okAdd: "Adicionar", - okEdit: "Salvar", - cancel: "Cancelar", - attach: "Anexar Arquivo", - }, + }, + 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 ", + importTitlte: "Importar contatos", + deleteMessage: + "Tem certeza que deseja deletar este contato? Todos os atendimentos relacionados serão perdidos.", + importMessage: "Deseja importar todos os contatos do telefone?", + }, + buttons: { + import: "Importar Contatos", + add: "Adicionar Contato", + }, + table: { + name: "Nome", + whatsapp: "WhatsApp", + email: "Email", + actions: "Ações", + }, + }, + contactModal: { + title: { + add: "Adicionar contato", + edit: "Editar contato", + }, + form: { + mainInfo: "Dados do contato", + extraInfo: "Informações adicionais", + name: "Nome", + number: "Número do Whatsapp", + email: "Email", + extraName: "Nome do campo", + extraValue: "Valor", + disableBot: "Desabilitar chatbot", + }, + buttons: { + addExtraInfo: "Adicionar informação", + okAdd: "Adicionar", + okEdit: "Salvar", + cancel: "Cancelar", + }, + success: "Contato salvo com sucesso.", + }, + queueModal: { + title: { + add: "Adicionar fila", + edit: "Editar fila", + }, + form: { + name: "Nome", + color: "Cor", + greetingMessage: "Mensagem de saudação", + complationMessage: "Mensagem de conclusão", + outOfHoursMessage: "Mensagem de fora de expediente", + ratingMessage: "Mensagem de avaliação", + transferMessage: "Mensagem de Transferência", + token: "Token", + }, + buttons: { + okAdd: "Adicionar", + okEdit: "Salvar", + cancel: "Cancelar", + attach: "Anexar Arquivo", + }, serviceHours:{ dayWeek:"Dia da semana", startTimeA:"Hora Inicial - Turno A", @@ -205,634 +205,663 @@ const messages = { saturday:"Sábado", sunday:"Domingo", } - }, - 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.", - }, - scheduleModal: { - title: { - add: "Novo Agendamento", - edit: "Editar Agendamento", - }, - form: { - body: "Mensagem", - contact: "Contato", - sendAt: "Data de Agendamento", - sentAt: "Data de Envio", - }, - buttons: { - okAdd: "Adicionar", - okEdit: "Salvar", - cancel: "Cancelar", - }, - success: "Agendamento salvo com sucesso.", - }, - tagModal: { - title: { - add: "Nova Tag", - edit: "Editar Tag", - addKanban: "Nova Lane", - editKanban: "Editar Lane", - }, - form: { - name: "Nome", - color: "Cor", - kanban: "Kanban", - }, - buttons: { - okAdd: "Adicionar", - okEdit: "Salvar", - cancel: "Cancelar", - }, - success: "Tag salvo com sucesso.", - successKanban: "Lane salva 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.", + }, + scheduleModal: { + title: { + add: "Novo Agendamento", + edit: "Editar Agendamento", + }, + form: { + body: "Mensagem", + contact: "Contato", + sendAt: "Data de Agendamento", + sentAt: "Data de Envio", + }, + buttons: { + okAdd: "Adicionar", + okEdit: "Salvar", + cancel: "Cancelar", + }, + success: "Agendamento salvo com sucesso.", + }, + tagModal: { + title: { + add: "Nova Tag", + edit: "Editar Tag", + addKanban: "Nova Lane", + editKanban: "Editar Lane", + }, + form: { + name: "Nome", + color: "Cor", + kanban: "Kanban", + }, + buttons: { + okAdd: "Adicionar", + okEdit: "Salvar", + cancel: "Cancelar", + }, + success: "Tag salvo com sucesso.", + successKanban: "Lane salva com sucesso.", - }, - chat: { - noTicketMessage: "Selecione um ticket para começar a conversar.", - }, - uploads: { - titles: { - titleUploadMsgDragDrop: "ARRASTE E SOLTE ARQUIVOS NO CAMPO ABAIXO", + }, + chat: { + noTicketMessage: "Selecione um ticket para começar a conversar.", + }, + uploads: { + titles: { + titleUploadMsgDragDrop: "ARRASTE E SOLTE ARQUIVOS NO CAMPO ABAIXO", titleFileList: "Lista de arquivo(s)" - }, - }, - ticketsManager: { - buttons: { - newTicket: "Novo", - }, - }, - ticketsQueueSelect: { - placeholder: "Filas", - }, - tickets: { - toasts: { - deleted: "O atendimento que você estava foi deletado.", - }, - notification: { - message: "Mensagem de", - }, - tabs: { - open: { title: "Abertas" }, - closed: { title: "Resolvidos" }, - search: { title: "Busca" }, - }, - search: { - placeholder: "Buscar atendimento e mensagens", - }, - buttons: { - showAll: "Todos", - }, - }, - transferTicketModal: { - title: "Transferir Ticket", - fieldLabel: "Digite para buscar usuários", - fieldQueueLabel: "Transferir para fila", - fieldQueuePlaceholder: "Selecione uma fila", - noOptions: "Nenhum usuário encontrado com esse nome", - buttons: { - ok: "Transferir", - cancel: "Cancelar", - }, - }, - ticketsList: { - pendingHeader: "Aguardando", - assignedHeader: "Atendendo", - noTicketsTitle: "Nada aqui!", - noTicketsMessage: - "Nenhum atendimento encontrado com esse status ou termo pesquisado", - buttons: { - accept: "Aceitar", - }, - }, - newTicketModal: { - title: "Criar Ticket", - fieldLabel: "Digite para pesquisar o contato", - add: "Adicionar", - buttons: { - ok: "Salvar", - cancel: "Cancelar", - }, - }, - mainDrawer: { - listItems: { - dashboard: "Dashboard", - connections: "Conexões", - tickets: "Atendimentos", - quickMessages: "Respostas Rápidas", - contacts: "Contatos", - queues: "Filas & Chatbot", - tags: "Tags", - administration: "Administração", - service: "Atendimento", - users: "Usuários", - settings: "Configurações", - helps: "Ajuda", - messagesAPI: "API", - schedules: "Agendamentos", - campaigns: "Campanhas", - annoucements: "Informativos", - chats: "Chat Interno", - financeiro: "Financeiro", - logout: "Sair", - management: "Gerência", - kanban: "Kanban" - }, - appBar: { - i18n: { - language: "Português", - language_short: "PT" - }, - user: { - profile: "Perfil", - darkmode: "Modo escuro", - lightmode: "Modo claro", - language: "Selecionar idioma", - about: "Sobre", - logout: "Sair", - }, - }, - }, - messagesAPI: { - title: "API", - textMessage: { - number: "Número", - body: "Mensagem", - token: "Token cadastrado", - }, - mediaMessage: { - number: "Número", - body: "Nome do arquivo", - media: "Arquivo", - token: "Token cadastrado", - }, - }, - notifications: { - noTickets: "Nenhuma notificação.", - }, - quickMessages: { - title: "Respostas Rápidas", - buttons: { - add: "Nova Resposta", - }, - dialog: { - shortcode: "Atalho", - message: "Resposta", - }, - }, - kanban: { - title: "Kanban", - searchPlaceholder: "Pesquisa", + }, + }, + ticketsManager: { + buttons: { + newTicket: "Novo", + }, + }, + ticketsQueueSelect: { + placeholder: "Filas", + }, + tickets: { + toasts: { + deleted: "O atendimento que você estava foi deletado.", + }, + notification: { + message: "Mensagem de", + }, + tabs: { + open: { title: "Abertas" }, + closed: { title: "Resolvidos" }, + search: { title: "Busca" }, + }, + search: { + placeholder: "Buscar atendimento e mensagens", + }, + buttons: { + showAll: "Todos", + }, + }, + transferTicketModal: { + title: "Transferir Ticket", + fieldLabel: "Digite para buscar usuários", + fieldQueueLabel: "Transferir para fila", + fieldQueuePlaceholder: "Selecione uma fila", + noOptions: "Nenhum usuário encontrado com esse nome", + buttons: { + ok: "Transferir", + cancel: "Cancelar", + }, + }, + ticketsList: { + pendingHeader: "Aguardando", + assignedHeader: "Atendendo", + noTicketsTitle: "Nada aqui!", + noTicketsMessage: + "Nenhum atendimento encontrado com esse status ou termo pesquisado", + buttons: { + accept: "Aceitar", + }, + }, + newTicketModal: { + title: "Criar Ticket", + fieldLabel: "Digite para pesquisar o contato", + add: "Adicionar", + buttons: { + ok: "Salvar", + cancel: "Cancelar", + }, + }, + mainDrawer: { + listItems: { + dashboard: "Dashboard", + connections: "Conexões", + tickets: "Atendimentos", + quickMessages: "Respostas Rápidas", + contacts: "Contatos", + queues: "Filas & Chatbot", + tags: "Tags", + administration: "Administração", + service: "Atendimento", + users: "Usuários", + settings: "Configurações", + helps: "Ajuda", + messagesAPI: "API", + schedules: "Agendamentos", + campaigns: "Campanhas", + annoucements: "Informativos", + chats: "Chat Interno", + financeiro: "Financeiro", + logout: "Sair", + management: "Gerência", + kanban: "Kanban" + }, + appBar: { + i18n: { + language: "Português", + language_short: "PT" + }, + user: { + profile: "Perfil", + darkmode: "Modo escuro", + lightmode: "Modo claro", + language: "Selecionar idioma", + about: "Sobre", + logout: "Sair", + }, + }, + }, + messagesAPI: { + title: "API", + textMessage: { + number: "Número", + body: "Mensagem", + token: "Token cadastrado", + }, + mediaMessage: { + number: "Número", + body: "Nome do arquivo", + media: "Arquivo", + token: "Token cadastrado", + }, + }, + notifications: { + noTickets: "Nenhuma notificação.", + }, + quickMessages: { + title: "Respostas Rápidas", + buttons: { + add: "Nova Resposta", + }, + dialog: { + shortcode: "Atalho", + message: "Resposta", + }, + }, + kanban: { + title: "Kanban", + searchPlaceholder: "Pesquisa", subMenus:{ list:"Painel", tags:"Lanes" } - }, - tagsKanban: { - title: "Lanes", + }, + tagsKanban: { + title: "Lanes", laneDefault:"Em aberto", - confirmationModal: { - deleteTitle: "Você tem certeza que quer excluir esta Lane?", - deleteMessage: "Esta ação não pode ser revertida.", - }, - table: { - name: "Nome", - color: "Cor", - tickets: "Tickets", - actions: "Ações", - }, - buttons: { - add: "Nova Lane", - }, - toasts: { - deleted: "Lane excluída com sucesso.", - }, - }, - contactLists: { - title: "Listas de Contatos", - table: { - name: "Nome", - contacts: "Contatos", - actions: "Ações", - }, - buttons: { - add: "Nova Lista", - }, - dialog: { - name: "Nome", - company: "Empresa", - okEdit: "Editar", - okAdd: "Adicionar", - add: "Adicionar", - edit: "Editar", - cancel: "Cancelar", - }, - confirmationModal: { - deleteTitle: "Excluir", - deleteMessage: "Esta ação não pode ser revertida.", - }, - toasts: { - deleted: "Registro excluído", - }, - }, - contactListItems: { - title: "Contatos", - searchPlaceholder: "Pesquisa", - buttons: { - add: "Novo", - lists: "Listas", - import: "Importar", - }, - dialog: { - name: "Nome", - number: "Número", - whatsapp: "Whatsapp", - email: "E-mail", - okEdit: "Editar", - okAdd: "Adicionar", - add: "Adicionar", - edit: "Editar", - cancel: "Cancelar", - }, - table: { - name: "Nome", - number: "Número", - whatsapp: "Whatsapp", - email: "E-mail", - actions: "Ações", - }, - confirmationModal: { - deleteTitle: "Excluir", - deleteMessage: "Esta ação não pode ser revertida.", - importMessage: "Deseja importar os contatos desta planilha? ", - importTitlte: "Importar", - }, - toasts: { - deleted: "Registro excluído", - }, - }, - campaigns: { - title: "Campanhas", - searchPlaceholder: "Pesquisa", - buttons: { - add: "Nova Campanha", - contactLists: "Listas de Contatos", - }, - table: { - name: "Nome", - whatsapp: "Conexão", - contactList: "Lista de Contatos", - status: "Status", - scheduledAt: "Agendamento", - completedAt: "Concluída", - confirmation: "Confirmação", - actions: "Ações", - }, - dialog: { - new: "Nova Campanha", - update: "Editar Campanha", - readonly: "Apenas Visualização", - form: { - name: "Nome", - message1: "Mensagem 1", - message2: "Mensagem 2", - message3: "Mensagem 3", - message4: "Mensagem 4", - message5: "Mensagem 5", - confirmationMessage1: "Mensagem de Confirmação 1", - confirmationMessage2: "Mensagem de Confirmação 2", - confirmationMessage3: "Mensagem de Confirmação 3", - confirmationMessage4: "Mensagem de Confirmação 4", - confirmationMessage5: "Mensagem de Confirmação 5", - messagePlaceholder: "Conteúdo da mensagem", - whatsapp: "Conexão", - status: "Status", - scheduledAt: "Agendamento", - confirmation: "Confirmação", - contactList: "Lista de Contato", - }, - buttons: { - add: "Adicionar", - edit: "Atualizar", - okadd: "Ok", - cancel: "Cancelar Disparos", - restart: "Reiniciar Disparos", - close: "Fechar", - attach: "Anexar Arquivo", - }, - }, - confirmationModal: { - deleteTitle: "Excluir", - deleteMessage: "Esta ação não pode ser revertida.", - }, - toasts: { - success: "Operação realizada com sucesso", - cancel: "Campanha cancelada", - restart: "Campanha reiniciada", - deleted: "Registro excluído", - }, - }, - announcements: { - title: "Informativos", - searchPlaceholder: "Pesquisa", - buttons: { - add: "Novo Informativo", - contactLists: "Listas de Informativos", - }, - table: { - priority: "Prioridade", - title: "Title", - text: "Texto", - mediaName: "Arquivo", - status: "Status", - actions: "Ações", - }, - dialog: { - edit: "Edição de Informativo", - add: "Novo Informativo", - update: "Editar Informativo", - readonly: "Apenas Visualização", - form: { - priority: "Prioridade", - title: "Title", - text: "Texto", - mediaPath: "Arquivo", - status: "Status", - }, - buttons: { - add: "Adicionar", - edit: "Atualizar", - okadd: "Ok", - cancel: "Cancelar", - close: "Fechar", - attach: "Anexar Arquivo", - }, - }, - confirmationModal: { - deleteTitle: "Excluir", - deleteMessage: "Esta ação não pode ser revertida.", - }, - toasts: { - success: "Operação realizada com sucesso", - deleted: "Registro excluído", - }, - }, - campaignsConfig: { - title: "Configurações de Campanhas", - }, - queues: { - title: "Filas & Chatbot", - table: { - name: "Nome", - color: "Cor", - greeting: "Mensagem de saudação", - actions: "Ações", - }, - buttons: { - add: "Adicionar fila", - }, - confirmationModal: { - deleteTitle: "Excluir", - deleteMessage: - "Você tem certeza? Essa ação não pode ser revertida! Os atendimentos dessa fila continuarão existindo, mas não terão mais nenhuma fila atribuída.", - }, - }, - queueSelect: { - inputLabel: "Filas", - }, - 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 atendimento abertos deste usuário serão movidos para a fila.", - }, - }, - helps: { - title: "Central de Ajuda", - }, - about: { - aboutthe: "Sobre o", - copyright: "© 2024 - Funcionando com ticketz", - buttonclose: "Fechar", - title: "Sobre o ticketz", - abouttitle: "Origem e melhorias", + confirmationModal: { + deleteTitle: "Você tem certeza que quer excluir esta Lane?", + deleteMessage: "Esta ação não pode ser revertida.", + }, + table: { + name: "Nome", + color: "Cor", + tickets: "Tickets", + actions: "Ações", + }, + buttons: { + add: "Nova Lane", + }, + toasts: { + deleted: "Lane excluída com sucesso.", + }, + }, + contactLists: { + title: "Listas de Contatos", + table: { + name: "Nome", + contacts: "Contatos", + actions: "Ações", + }, + buttons: { + add: "Nova Lista", + }, + dialog: { + name: "Nome", + company: "Empresa", + okEdit: "Editar", + okAdd: "Adicionar", + add: "Adicionar", + edit: "Editar", + cancel: "Cancelar", + }, + confirmationModal: { + deleteTitle: "Excluir", + deleteMessage: "Esta ação não pode ser revertida.", + }, + toasts: { + deleted: "Registro excluído", + }, + }, + contactListItems: { + title: "Contatos", + searchPlaceholder: "Pesquisa", + buttons: { + add: "Novo", + lists: "Listas", + import: "Importar", + }, + dialog: { + name: "Nome", + number: "Número", + whatsapp: "Whatsapp", + email: "E-mail", + okEdit: "Editar", + okAdd: "Adicionar", + add: "Adicionar", + edit: "Editar", + cancel: "Cancelar", + }, + table: { + name: "Nome", + number: "Número", + whatsapp: "Whatsapp", + email: "E-mail", + actions: "Ações", + }, + confirmationModal: { + deleteTitle: "Excluir", + deleteMessage: "Esta ação não pode ser revertida.", + importMessage: "Deseja importar os contatos desta planilha? ", + importTitlte: "Importar", + }, + toasts: { + deleted: "Registro excluído", + }, + }, + campaigns: { + title: "Campanhas", + searchPlaceholder: "Pesquisa", + buttons: { + add: "Nova Campanha", + contactLists: "Listas de Contatos", + }, + table: { + name: "Nome", + whatsapp: "Conexão", + contactList: "Lista de Contatos", + status: "Status", + scheduledAt: "Agendamento", + completedAt: "Concluída", + confirmation: "Confirmação", + actions: "Ações", + }, + dialog: { + new: "Nova Campanha", + update: "Editar Campanha", + readonly: "Apenas Visualização", + form: { + name: "Nome", + message1: "Mensagem 1", + message2: "Mensagem 2", + message3: "Mensagem 3", + message4: "Mensagem 4", + message5: "Mensagem 5", + confirmationMessage1: "Mensagem de Confirmação 1", + confirmationMessage2: "Mensagem de Confirmação 2", + confirmationMessage3: "Mensagem de Confirmação 3", + confirmationMessage4: "Mensagem de Confirmação 4", + confirmationMessage5: "Mensagem de Confirmação 5", + messagePlaceholder: "Conteúdo da mensagem", + whatsapp: "Conexão", + status: "Status", + scheduledAt: "Agendamento", + confirmation: "Confirmação", + contactList: "Lista de Contato", + }, + buttons: { + add: "Adicionar", + edit: "Atualizar", + okadd: "Ok", + cancel: "Cancelar Disparos", + restart: "Reiniciar Disparos", + close: "Fechar", + attach: "Anexar Arquivo", + }, + }, + confirmationModal: { + deleteTitle: "Excluir", + deleteMessage: "Esta ação não pode ser revertida.", + }, + toasts: { + success: "Operação realizada com sucesso", + cancel: "Campanha cancelada", + restart: "Campanha reiniciada", + deleted: "Registro excluído", + }, + }, + announcements: { + title: "Informativos", + searchPlaceholder: "Pesquisa", + buttons: { + add: "Novo Informativo", + contactLists: "Listas de Informativos", + }, + table: { + priority: "Prioridade", + title: "Title", + text: "Texto", + mediaName: "Arquivo", + status: "Status", + actions: "Ações", + }, + dialog: { + edit: "Edição de Informativo", + add: "Novo Informativo", + update: "Editar Informativo", + readonly: "Apenas Visualização", + form: { + priority: "Prioridade", + title: "Title", + text: "Texto", + mediaPath: "Arquivo", + status: "Status", + }, + buttons: { + add: "Adicionar", + edit: "Atualizar", + okadd: "Ok", + cancel: "Cancelar", + close: "Fechar", + attach: "Anexar Arquivo", + }, + }, + confirmationModal: { + deleteTitle: "Excluir", + deleteMessage: "Esta ação não pode ser revertida.", + }, + toasts: { + success: "Operação realizada com sucesso", + deleted: "Registro excluído", + }, + }, + campaignsConfig: { + title: "Configurações de Campanhas", + }, + queues: { + title: "Filas & Chatbot", + table: { + name: "Nome", + color: "Cor", + greeting: "Mensagem de saudação", + actions: "Ações", + }, + buttons: { + add: "Adicionar fila", + }, + confirmationModal: { + deleteTitle: "Excluir", + deleteMessage: + "Você tem certeza? Essa ação não pode ser revertida! Os atendimentos dessa fila continuarão existindo, mas não terão mais nenhuma fila atribuída.", + }, + }, + queueSelect: { + inputLabel: "Filas", + }, + 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 atendimento abertos deste usuário serão movidos para a fila.", + }, + }, + helps: { + title: "Central de Ajuda", + }, + about: { + aboutthe: "Sobre o", + copyright: "© 2024 - Funcionando com ticketz", + buttonclose: "Fechar", + title: "Sobre o ticketz", + abouttitle: "Origem e melhorias", aboutdetail: "O ticketz é derivado indireto do projeto Whaticket com melhorias compartilhadas pelos desenvolvedores do sistema EquipeChat através do canal VemFazer no youtube, posteriormente melhoradas por Claudemir Todo Bom", - aboutauthorsite: "Site do autor", - aboutwhaticketsite: "Site do Whaticket Community no Github", - aboutvemfazersite: "Site do canal Vem Fazer no Github", - licenseheading: "Licença em Código Aberto", + aboutauthorsite: "Site do autor", + aboutwhaticketsite: "Site do Whaticket Community no Github", + aboutvemfazersite: "Site do canal Vem Fazer no Github", + licenseheading: "Licença em Código Aberto", licensedetail: "O ticketz está licenciado sob a GNU Affero General Public License versão 3, isso significa que qualquer usuário que tiver acesso a esta aplicação tem o direito de obter acesso ao código fonte. Mais informações nos links abaixo:", - licensefulltext: "Texto completo da licença", + licensefulltext: "Texto completo da licença", licensesourcecode: "Código fonte do ticketz" - }, - schedules: { - title: "Agendamentos", - confirmationModal: { - deleteTitle: "Você tem certeza que quer excluir este Agendamento?", - deleteMessage: "Esta ação não pode ser revertida.", - }, - table: { - contact: "Contato", - body: "Mensagem", - sendAt: "Data de Agendamento", - sentAt: "Data de Envio", - status: "Status", - actions: "Ações", - }, - buttons: { - add: "Novo Agendamento", - }, - toasts: { - deleted: "Agendamento excluído com sucesso.", - }, - }, - tags: { - title: "Tags", - confirmationModal: { - deleteTitle: "Você tem certeza que quer excluir esta Tag?", - deleteMessage: "Esta ação não pode ser revertida.", - }, - table: { - name: "Nome", - color: "Cor", - tickets: "Registros", - actions: "Ações", - id: "Id", - kanban: "Kanban", - }, - buttons: { - add: "Nova Tag", - }, - toasts: { - deleted: "Tag excluído com sucesso.", - }, - }, - settings: { - success: "Configurações salvas com sucesso.", - title: "Configurações", - settings: { - userCreation: { - name: "Criação de usuário", - options: { - enabled: "Ativado", - disabled: "Desativado", - }, - }, - }, - }, - messagesList: { - header: { - assignedTo: "Atribuído à:", - buttons: { - return: "Retornar", - resolve: "Resolver", - reopen: "Reabrir", - accept: "Aceitar", - }, - }, - }, - messagesInput: { - placeholderOpen: "Digite uma mensagem", - placeholderClosed: - "Reabra ou aceite esse ticket para enviar uma mensagem.", - signMessage: "Assinar", - replying: "Respondendo", - editing: "Editando", - }, - message: { + }, + schedules: { + title: "Agendamentos", + confirmationModal: { + deleteTitle: "Você tem certeza que quer excluir este Agendamento?", + deleteMessage: "Esta ação não pode ser revertida.", + }, + table: { + contact: "Contato", + body: "Mensagem", + sendAt: "Data de Agendamento", + sentAt: "Data de Envio", + status: "Status", + actions: "Ações", + }, + buttons: { + add: "Novo Agendamento", + }, + toasts: { + deleted: "Agendamento excluído com sucesso.", + }, + }, + tags: { + title: "Tags", + confirmationModal: { + deleteTitle: "Você tem certeza que quer excluir esta Tag?", + deleteMessage: "Esta ação não pode ser revertida.", + }, + table: { + name: "Nome", + color: "Cor", + tickets: "Registros", + actions: "Ações", + id: "Id", + kanban: "Kanban", + }, + buttons: { + add: "Nova Tag", + }, + toasts: { + deleted: "Tag excluído com sucesso.", + }, + }, + settings: { + success: "Configurações salvas com sucesso.", + title: "Configurações", + settings: { + userCreation: { + name: "Criação de usuário", + options: { + enabled: "Ativado", + disabled: "Desativado", + }, + }, + }, + }, + messagesList: { + header: { + assignedTo: "Atribuído à:", + buttons: { + return: "Retornar", + resolve: "Resolver", + reopen: "Reabrir", + accept: "Aceitar", + }, + }, + }, + messagesInput: { + placeholderOpen: "Digite uma mensagem", + placeholderClosed: + "Reabra ou aceite esse ticket para enviar uma mensagem.", + signMessage: "Assinar", + replying: "Respondendo", + editing: "Editando", + }, + message: { edited: "Editada" - }, + }, - contactDrawer: { - header: "Dados do contato", - buttons: { - edit: "Editar contato", - }, - extraInfo: "Outras informações", - }, - ticketOptionsMenu: { - schedule: "Agendamento", - delete: "Deletar", - transfer: "Transferir", - registerAppointment: "Observações do Contato", - appointmentsModal: { - title: "Observações do Contato", - textarea: "Observação", - placeholder: "Insira aqui a informação que deseja registrar", - }, - confirmationModal: { - title: "Deletar o ticket do contato", - message: - "Atenção! Todas as mensagens relacionadas ao ticket serão perdidas.", - }, - buttons: { - delete: "Excluir", - cancel: "Cancelar", - }, - }, - confirmationModal: { - buttons: { - confirm: "Ok", - cancel: "Cancelar", - }, - }, - messageOptionsMenu: { - delete: "Deletar", - edit: "Editar", - history: "Histórico", - reply: "Responder", - confirmationModal: { - title: "Apagar mensagem?", - message: "Esta ação não pode ser revertida.", - }, - }, - messageHistoryModal: { - close: "Fechar", + contactDrawer: { + header: "Dados do contato", + buttons: { + edit: "Editar contato", + }, + extraInfo: "Outras informações", + }, + ticketOptionsMenu: { + schedule: "Agendamento", + delete: "Deletar", + transfer: "Transferir", + registerAppointment: "Observações do Contato", + appointmentsModal: { + title: "Observações do Contato", + textarea: "Observação", + placeholder: "Insira aqui a informação que deseja registrar", + }, + confirmationModal: { + title: "Deletar o ticket do contato", + message: + "Atenção! Todas as mensagens relacionadas ao ticket serão perdidas.", + }, + buttons: { + delete: "Excluir", + cancel: "Cancelar", + }, + }, + confirmationModal: { + buttons: { + confirm: "Ok", + cancel: "Cancelar", + }, + }, + messageOptionsMenu: { + delete: "Deletar", + edit: "Editar", + history: "Histórico", + reply: "Responder", + confirmationModal: { + title: "Apagar mensagem?", + message: "Esta ação não pode ser revertida.", + }, + }, + messageHistoryModal: { + close: "Fechar", title: "Histórico de edição da mensagem" - }, - presence: { - unavailable: "Indisponível", - available: "Disponível", - composing: "Digitando...", - recording: "Gravando...", - paused: "Pausado", - }, - backendErrors: { - ERR_NO_OTHER_WHATSAPP: "Deve haver pelo menos um WhatsApp padrão.", - ERR_NO_DEF_WAPP_FOUND: - "Nenhum WhatsApp padrão encontrado. Verifique a página de conexões.", - ERR_WAPP_NOT_INITIALIZED: - "Esta sessão do WhatsApp não foi inicializada. Verifique a página de conexões.", - ERR_WAPP_CHECK_CONTACT: - "Não foi possível verificar o contato do WhatsApp. Verifique a página de conexões", - ERR_WAPP_INVALID_CONTACT: "Este não é um número de Whatsapp válido.", - ERR_WAPP_DOWNLOAD_MEDIA: - "Não foi possível baixar mídia do WhatsApp. Verifique a página de conexões.", - ERR_INVALID_CREDENTIALS: - "Erro de autenticação. Por favor, tente novamente.", - ERR_SENDING_WAPP_MSG: - "Erro ao enviar mensagem do WhatsApp. Verifique a página de conexões.", - ERR_DELETE_WAPP_MSG: "Não foi possível excluir a mensagem do WhatsApp.", - ERR_EDITING_WAPP_MSG: "Não foi possível editar a mensagem do WhatsApp.", - ERR_OTHER_OPEN_TICKET: "Já existe um tíquete aberto para este contato.", - ERR_SESSION_EXPIRED: "Sessão expirada. Por favor entre.", - ERR_USER_CREATION_DISABLED: - "A criação do usuário foi desabilitada pelo administrador.", - ERR_NO_PERMISSION: "Você não tem permissão para acessar este recurso.", - ERR_DUPLICATED_CONTACT: "Já existe um contato com este número.", - ERR_NO_SETTING_FOUND: "Nenhuma configuração encontrada com este ID.", - ERR_NO_CONTACT_FOUND: "Nenhum contato encontrado com este ID.", - ERR_NO_TICKET_FOUND: "Nenhum tíquete encontrado com este ID.", - ERR_NO_USER_FOUND: "Nenhum usuário encontrado com este ID.", - ERR_NO_WAPP_FOUND: "Nenhum WhatsApp encontrado com este ID.", - ERR_CREATING_MESSAGE: "Erro ao criar mensagem no banco de dados.", - ERR_CREATING_TICKET: "Erro ao criar tíquete no banco de dados.", - ERR_FETCH_WAPP_MSG: - "Erro ao buscar a mensagem no WhtasApp, talvez ela seja muito antiga.", - ERR_QUEUE_COLOR_ALREADY_EXISTS: - "Esta cor já está em uso, escolha outra.", - ERR_WAPP_GREETING_REQUIRED: - "A mensagem de saudação é obrigatório quando há mais de uma fila.", - }, - ticketz: { - support: { - title: "Apoie o projeto Ticketz", - mercadopagotitle: "Cartão de Crédito", - recurringbrl: "Doação recorrente em R$", - paypaltitle: "Cartão de Crédito", - international: "Internacional em US$", + }, + presence: { + unavailable: "Indisponível", + available: "Disponível", + composing: "Digitando...", + recording: "Gravando...", + paused: "Pausado", + }, + privacyModal: { + title: "Editar Privacidade do Whatsapp", + buttons: { + cancel: "Cancelar", + okEdit: "Salvar", + }, + form: { + menu: { + all: "Todos", + none: "Ninguém", + contacts: "Meus contatos", + contact_blacklist: "Contatos selecionados", + match_last_seen: "Semelhante ao Visto por Último", + known: "Conhecidos", + disable: "Desativada", + hrs24: "24 Horas", + dias7: "7 Dias", + dias90: "90 Dias", + }, + readreceipts: "Para atualizar a privacidade dos recibos de leitura", + profile: "Para atualizar a privacidade da foto do perfil", + status: "Para atualizar a privacidade do recados", + online: "Para atualizar a privacidade online", + last: "Para atualizar a privacidade do Último Visto", + groupadd: "Para atualizar a privacidade de Adicionar a grupos", + calladd: "Para atualizar a privacidade de Adicionar a Ligações", + disappearing: "Para atualizar o Modo de Desaparecimento Padrão", + }, + }, + backendErrors: { + ERR_NO_OTHER_WHATSAPP: "Deve haver pelo menos um WhatsApp padrão.", + ERR_NO_DEF_WAPP_FOUND: + "Nenhum WhatsApp padrão encontrado. Verifique a página de conexões.", + ERR_WAPP_NOT_INITIALIZED: + "Esta sessão do WhatsApp não foi inicializada. Verifique a página de conexões.", + ERR_WAPP_CHECK_CONTACT: + "Não foi possível verificar o contato do WhatsApp. Verifique a página de conexões", + ERR_WAPP_INVALID_CONTACT: "Este não é um número de Whatsapp válido.", + ERR_WAPP_DOWNLOAD_MEDIA: + "Não foi possível baixar mídia do WhatsApp. Verifique a página de conexões.", + ERR_INVALID_CREDENTIALS: + "Erro de autenticação. Por favor, tente novamente.", + ERR_SENDING_WAPP_MSG: + "Erro ao enviar mensagem do WhatsApp. Verifique a página de conexões.", + ERR_DELETE_WAPP_MSG: "Não foi possível excluir a mensagem do WhatsApp.", + ERR_EDITING_WAPP_MSG: "Não foi possível editar a mensagem do WhatsApp.", + ERR_OTHER_OPEN_TICKET: "Já existe um tíquete aberto para este contato.", + ERR_SESSION_EXPIRED: "Sessão expirada. Por favor entre.", + ERR_USER_CREATION_DISABLED: + "A criação do usuário foi desabilitada pelo administrador.", + ERR_NO_PERMISSION: "Você não tem permissão para acessar este recurso.", + ERR_DUPLICATED_CONTACT: "Já existe um contato com este número.", + ERR_NO_SETTING_FOUND: "Nenhuma configuração encontrada com este ID.", + ERR_NO_CONTACT_FOUND: "Nenhum contato encontrado com este ID.", + ERR_NO_TICKET_FOUND: "Nenhum tíquete encontrado com este ID.", + ERR_NO_USER_FOUND: "Nenhum usuário encontrado com este ID.", + ERR_NO_WAPP_FOUND: "Nenhum WhatsApp encontrado com este ID.", + ERR_CREATING_MESSAGE: "Erro ao criar mensagem no banco de dados.", + ERR_CREATING_TICKET: "Erro ao criar tíquete no banco de dados.", + ERR_FETCH_WAPP_MSG: + "Erro ao buscar a mensagem no WhtasApp, talvez ela seja muito antiga.", + ERR_QUEUE_COLOR_ALREADY_EXISTS: + "Esta cor já está em uso, escolha outra.", + ERR_WAPP_GREETING_REQUIRED: + "A mensagem de saudação é obrigatório quando há mais de uma fila.", + }, + ticketz: { + support: { + title: "Apoie o projeto Ticketz", + mercadopagotitle: "Cartão de Crédito", + recurringbrl: "Doação recorrente em R$", + paypaltitle: "Cartão de Crédito", + international: "Internacional em US$", } - }, - }, - }, + }, + }, + }, }; export { messages };