iachat/app/javascript/dashboard/i18n/locale/pt_BR/automation.json
Cayo P. R. Oliveira f9d1146cb0
feat: mensagens agendadas (#198)
* feat:  Adds model for scheduling messages

* feat: Implement scheduled message handling and processing jobs

* feat: Add ScheduledMessagesController and associated specs for managing scheduled messages

* refactor: Simplify scheduled message job specs and improve metadata handling

* feat: Add ScheduledMessagePolicy for managing access to scheduled messages

* feat: Add routes for managing scheduled messages

* feat: Add scheduled message event handling and broadcasting

* feat: Add JSON views for scheduled messages creation, destruction, updating, and indexing

* feat: Update scheduled message status and dispatch update event after message creation

* feat: Ensure scheduled message updates trigger dispatch event

* feat: Add mutation types for managing scheduled messages

* feat: Add additionalAttributes prop to Message component and provider

* feat: Implement scheduled message handling in ActionCable and Vuex store

* feat: Add unit tests for scheduled messages actions and mutations

* feat: implement scheduled messages functionality

- Added support for scheduling messages in the conversation dashboard.
- Introduced new components: ScheduledMessageModal and ScheduledMessages for managing scheduled messages.
- Enhanced ReplyBottomPanel to include scheduling options.
- Updated Base.vue to handle scheduled message styling.
- Integrated Vuex store module for managing scheduled messages state.
- Added necessary translations for scheduled messages in English and Portuguese.

* feat: add pagination to scheduled messages index and update tests accordingly

* chore: update scheduled messages specs for future time validation and response status

* chore: enhance scheduled messages API with pagination and add skeleton loader component

* feat: add create_scheduled_message action to automation rule attributes

* feat: implement create_scheduled_message action and enhance attachment handling

* feat: add scheduled message functionality with UI components and localization

* test: enhance scheduledMessages mutations tests with meta handling and structure

* chore: update label to display file name upon successful upload in AutomationFileInput component

* feat: add initialAttachment prop to ScheduledMessageModal and update ReplyBox to pass attachment

* chore: prepend_mod_with to ScheduledMessagesController for better module handling

* fix: attachment visibility in ScheduledMessageItem component

* chore: enhance ScheduledMessage model with validations and reduce controller load

* refactor: simplify ScheduledMessagesAPI methods by removing unnecessary instance variable

* chore: update event emission for scheduled message creation in ReplyBox and ScheduledMessageModal

* refactor: update status configuration to use label keys

* chore: update date formatting in ScheduledMessageItem component

* refactor: collapse logic to checkOverflow and update related functionality

* chore: add author indication for current user in scheduled messages

* chore: enhance scheduled message metadata with author information and localization

* fix: send message shortcut

* chore: handle errors in scheduled message submission

* chore: update scheduled message modal to use combined date and time input

* chore: refactor scheduled messages handling to remove pagination and update related tests

* fix: ensure scheduled messages update status and dispatch on failure

* fix: update scheduled message due date logic and simplify sending checks

* refactor: rename build_message method for send_message

* fix: update scheduled message creation time and improve test reliability

* chore: ignore unnecessary check

* chore: add scheduled message metadata handling  in message builder, add scheduled message factorie and update specs

* refactor: use scheduled message factorie creation in specs

* chore: streamline error handling in scheduled message job and remove dispatch logic

* fix: change scheduled_messages association to destroy dependent records

* refactor: remove unused attributes from scheduled message payload builder

* chore: update scheduled message retrieval to use conversation association

* chore: correct cron format for scheduled messages job

* chore: remove migration for author_type in scheduled_messages

* feat: enhance scheduled messages management with delete confirmation and error handling

* chore: set cron poll interval to 10 seconds for improved scheduling precision

* feat: include additional_attributes in message JSON response

* feat: enhance scheduled message validation and localization support

* chore: update scheduled message display

* Merge branch 'main' into Cayo-Oliveira/CU-86aenh268/Mensagens-agendadas

* feat: add scheduled message indicators and validation for message length

* fix: remove unnecessary condition from line-clamp class binding

* feat: update scheduled messages localization and enhance content validation

* feat: update scheduled messages order, enhance scheduledAt computation, and add message association

* fix: reorder condition for Facebook channel message length computation

* fix:  change detection for attachments in scheduled messages

* fix: remove unnecessary colon from close-on-backdrop-click prop in ScheduledMessageModal

* chore: add error handling for scheduled message deletion and update localization for delete failure

* fix: enforce minimum delay of 1 minute for scheduled messages and update validation

* fix: remove unused private property and improve locale formatting for scheduled messages

* fix: adjust positioning of DropdownBody in ReplyBottomPanel and clean up schema foreign keys

* docs: add scheduled messages management APIs and payload definitions

---------

Co-authored-by: gabrieljablonski <contact@gabrieljablonski.com>
2026-01-30 22:08:16 -03:00

188 lines
7.5 KiB
JSON

{
"AUTOMATION": {
"HEADER": "Automação",
"DESCRIPTION": "A automação pode substituir e simplificar processos existentes que requerem esforço manual, como a adição de etiquetas e a atribuição de conversas ao agente mais adequado. Isso permite que o time se concentre em seus pontos fortes e reduza o tempo gasto em tarefas rotineiras.",
"LEARN_MORE": "Aprenda mais sobre automação",
"HEADER_BTN_TXT": "Adicionar regra de automação",
"LOADING": "Buscando regras de automação",
"ADD": {
"TITLE": "Adicionar regra de automação",
"SUBMIT": "Criar",
"CANCEL_BUTTON_TEXT": "Cancelar",
"FORM": {
"NAME": {
"LABEL": "Nome da Regra",
"PLACEHOLDER": "Inserir nome da regra",
"ERROR": "O nome é obrigatório"
},
"DESC": {
"LABEL": "Descrição",
"PLACEHOLDER": "Inserir descrição de regra",
"ERROR": "Descrição obrigatória"
},
"EVENT": {
"LABEL": "Evento",
"PLACEHOLDER": "Por favor, selecione um",
"ERROR": "O campo evento é obrigatório"
},
"CONDITIONS": {
"LABEL": "Condições"
},
"ACTIONS": {
"LABEL": "Ações"
}
},
"CONDITION_BUTTON_LABEL": "Adicionar condição",
"ACTION_BUTTON_LABEL": "Adicionar ação",
"API": {
"SUCCESS_MESSAGE": "Regra de automação adicionada com sucesso",
"ERROR_MESSAGE": "Não foi possível criar uma regra de automação, por favor, tente novamente mais tarde"
}
},
"LIST": {
"TABLE_HEADER": {
"NAME": "Nome",
"DESCRIPTION": "Descrição",
"ACTIVE": "Ativo",
"CREATED_ON": "Criado em"
},
"404": "Nenhuma regra de automação encontrada"
},
"DELETE": {
"TITLE": "Excluir regra de automação",
"SUBMIT": "Excluir",
"CANCEL_BUTTON_TEXT": "Cancelar",
"CONFIRM": {
"TITLE": "Confirmar exclusão",
"MESSAGE": "Você tem certeza que deseja excluir? ",
"YES": "Sim, excluir ",
"NO": "Não, Mantenha "
},
"API": {
"SUCCESS_MESSAGE": "Regra de automação excluída com sucesso",
"ERROR_MESSAGE": "Não foi possível excluir uma regra de automação, por favor, tente novamente mais tarde"
}
},
"EDIT": {
"TITLE": "Editar regra de automação",
"SUBMIT": "Atualizar",
"CANCEL_BUTTON_TEXT": "Cancelar",
"API": {
"SUCCESS_MESSAGE": "Regra de automação atualizada com sucesso",
"ERROR_MESSAGE": "Não foi possível atualizar a regra de automação, por favor, tente novamente mais tarde"
}
},
"CLONE": {
"TOOLTIP": "Duplicar",
"API": {
"SUCCESS_MESSAGE": "Automação duplicada com sucesso",
"ERROR_MESSAGE": "Não foi possível duplicar regra de automação, por favor, tente novamente mais tarde"
}
},
"FORM": {
"EDIT": "Alterar",
"CREATE": "Criar",
"DELETE": "Excluir",
"CANCEL": "Cancelar",
"RESET_MESSAGE": "Alterar o evento irá redefinir as condições e eventos que você adicionou abaixo"
},
"CONDITION": {
"DELETE_MESSAGE": "Você precisa ter pelo menos uma condição para salvar",
"CONTACT_CUSTOM_ATTR_LABEL": "Atributos personalizados do contato",
"CONVERSATION_CUSTOM_ATTR_LABEL": "Atributos personalizados da conversa"
},
"ACTION": {
"DELETE_MESSAGE": "Você precisa ter pelo menos uma ação para salvar",
"TEAM_MESSAGE_INPUT_PLACEHOLDER": "Escreva sua mensagem aqui",
"TEAM_DROPDOWN_PLACEHOLDER": "Selecione times",
"EMAIL_INPUT_PLACEHOLDER": "Insira o e-mail",
"URL_INPUT_PLACEHOLDER": "Insira a URL",
"SCHEDULED_MESSAGE_DELAY_LABEL": "Atraso (minutos)",
"SCHEDULED_MESSAGE_DELAY_PLACEHOLDER": "Insira o atraso em minutos"
},
"TOGGLE": {
"ACTIVATION_TITLE": "Ativar regra de automação",
"DEACTIVATION_TITLE": "Desativar regra de automação",
"ACTIVATION_DESCRIPTION": "Esta ação ativará a regra de automação '{automationName}'. Tem certeza que deseja continuar?",
"DEACTIVATION_DESCRIPTION": "Esta ação irá desativar a regra de automação '{automationName}'. Tem certeza que deseja continuar?",
"ACTIVATION_SUCCESFUL": "Regra de automação ativada com sucesso",
"DEACTIVATION_SUCCESFUL": "Regra de automação desativada com sucesso",
"ACTIVATION_ERROR": "Não foi possível ativar a automação, por favor tente novamente mais tarde",
"DEACTIVATION_ERROR": "Não foi possível desativar a automação, por favor, tente novamente mais tarde",
"CONFIRMATION_LABEL": "Sim",
"CANCEL_LABEL": "Não"
},
"ATTACHMENT": {
"UPLOAD_ERROR": "Não foi possível enviar o anexo, por favor, tente novamente",
"LABEL_IDLE": "Enviar Anexo",
"LABEL_UPLOADING": "Enviando...",
"LABEL_UPLOADED": "Upload feito com sucesso",
"LABEL_UPLOAD_FAILED": "Faha no envio"
},
"ERRORS": {
"ATTRIBUTE_KEY_REQUIRED": "A chave do atributo é necessária",
"FILTER_OPERATOR_REQUIRED": "Operador do filtro é necessário",
"VALUE_REQUIRED": "Valor obrigatório",
"VALUE_MUST_BE_BETWEEN_1_AND_998": "O valor deve ser entre 1 e 998",
"ACTION_PARAMETERS_REQUIRED": "Os parâmetros de ação são necessários",
"ATLEAST_ONE_CONDITION_REQUIRED": "Pelo menos uma condição é necessária",
"ATLEAST_ONE_ACTION_REQUIRED": "Pelo menos uma ação é necessária"
},
"NONE_OPTION": "Nenhuma",
"EVENTS": {
"CONVERSATION_CREATED": "Conversa Criada",
"CONVERSATION_UPDATED": "Conversa Atualizada",
"MESSAGE_CREATED": "Mensagem Criada",
"CONVERSATION_RESOLVED": "Conversa Resolvida",
"CONVERSATION_OPENED": "Conversa Aberta"
},
"ACTIONS": {
"ASSIGN_AGENT": "Atribuir ao Agente",
"ASSIGN_TEAM": "Atribuir um Time",
"ADD_LABEL": "Adicionar uma Etiqueta",
"REMOVE_LABEL": "Remover uma Etiqueta",
"SEND_EMAIL_TO_TEAM": "Enviar um e-mail para o Time",
"SEND_EMAIL_TRANSCRIPT": "Enviar uma transcrição por e-mail",
"MUTE_CONVERSATION": "Silenciar Conversa",
"SNOOZE_CONVERSATION": "Adiar Conversa",
"RESOLVE_CONVERSATION": "Resolver Conversa",
"SEND_WEBHOOK_EVENT": "Enviar evento de Webhook",
"SEND_ATTACHMENT": "Enviar Anexo",
"SEND_MESSAGE": "Enviar Mensagem",
"CREATE_SCHEDULED_MESSAGE": "Criar Mensagem Agendada",
"ADD_PRIVATE_NOTE": "Adicionar uma Nota Privada",
"CHANGE_PRIORITY": "Alterar Prioridade",
"ADD_SLA": "Adicionar SLA",
"OPEN_CONVERSATION": "Abrir conversa"
},
"MESSAGE_TYPES": {
"INCOMING": "Mensagem Recebida",
"OUTGOING": "Mensagem de Saída"
},
"PRIORITY_TYPES": {
"NONE": "Nenhuma",
"LOW": "Baixa",
"MEDIUM": "Média",
"HIGH": "Alta",
"URGENT": "Urgente"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Tipo da Mensagem",
"MESSAGE_CONTAINS": "A mensagem contém",
"EMAIL": "E-mail",
"INBOX": "Caixa de Entrada",
"CONVERSATION_LANGUAGE": "Idioma da conversa",
"PHONE_NUMBER": "Número de Telefone",
"STATUS": "Status",
"BROWSER_LANGUAGE": "Idioma do navegador",
"MAIL_SUBJECT": "Assunto do e-mail",
"COUNTRY_NAME": "País/região",
"REFERER_LINK": "Link de origem",
"ASSIGNEE_NAME": "Agente atribuído",
"TEAM_NAME": "Time",
"PRIORITY": "Prioridade",
"LABELS": "Etiquetas"
}
}
}