iachat/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json
Gabriel Jablonski 11e9932e9b
feat(whatsapp): show contact typing and recording indicators via baileys presence (#264)
* feat(whatsapp): show contact typing and recording indicators via baileys presence

Subscribe to WhatsApp presence updates via the baileys-api provider to
display real-time typing and recording indicators in the dashboard.

- Handle presence.update webhook events (composing, recording, paused,
  available) and broadcast via ActionCable
- Add conversation.recording event to ActionCable, webhook, and channel
  listeners for parity with typing_on/typing_off
- Show "typing..." / "recording..." in green text on the chat list,
  replacing the message preview
- Show "X is typing" / "X is recording audio" in the conversation view
- Add presence_subscribe provider config option (default off) to gate
  all subscription calls to the baileys-api
- Subscribe to presence on conversation open and periodically (1 min)
  for the top 10 chat list conversations
- Consolidate contact LID from presence.update jidAlt payload
- Prevent echo-back of contact typing events to the channel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: address review feedback

- Filter chat list typing indicator to contact-only events
- Add dedupe to presence subscribe bulk calls
- Use strong parameters for conversation_ids
- Remove redundant YAML quotes in swagger webhook enum

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: address review feedback

- Extract phone from data[:id] when JID is @s.whatsapp.net (fallback
  when jidAlt is absent)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: address review feedback

- Filter recording users in getTypingUsersText to show correct names
- Add 10s timeout to presence_subscribe HTTP request

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: scope typing timer per user instead of per conversation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: make presence subscribe best-effort with rescue per channel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: address review feedback

- Add messagePreviewClass to typing preview for consistent padding
- Fix specs to use WebMock assertions instead of instance spying

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:38:11 -03:00

655 lines
29 KiB
JSON

{
"CONVERSATION": {
"SELECT_A_CONVERSATION": "Por favor, selecione uma conversa no painel da esquerda",
"CSAT_REPLY_MESSAGE": "Por favor, classifique a conversa",
"404": "Desculpe, não conseguimos encontrar a conversa. Por favor, tente novamente",
"SWITCH_VIEW_LAYOUT": "Alternar o layout",
"DASHBOARD_APP_TAB_MESSAGES": "Mensagens",
"UNVERIFIED_SESSION": "A identidade deste usuário não foi verificada",
"NO_MESSAGE_1": "Oh oh! Parece que não há mensagens de clientes na sua caixa de entrada.",
"NO_MESSAGE_2": " para enviar uma mensagem para sua página!",
"NO_INBOX_1": "Hola! Parece que você não adicionou nenhuma caixa de entrada ainda.",
"NO_INBOX_2": " para começar",
"NO_INBOX_AGENT": "Uh Oh! Parece que você não faz parte de nenhuma caixa de entrada. Por favor, contate seu administrador",
"SEARCH_MESSAGES": "Pesquisar por mensagens nas conversas",
"VIEW_ORIGINAL": "Ver original",
"VIEW_TRANSLATED": "Ver traduzido",
"EMPTY_STATE": {
"CMD_BAR": "para abrir o menu de comando",
"KEYBOARD_SHORTCUTS": "para ver os atalhos de teclado"
},
"SEARCH": {
"TITLE": "Pesquisar mensagens",
"RESULT_TITLE": "Resultados da Pesquisa",
"LOADING_MESSAGE": "Preparando dados...",
"PLACEHOLDER": "Digite qualquer texto para pesquisar mensagens",
"NO_MATCHING_RESULTS": "Nenhum resultado encontrado."
},
"UNREAD_MESSAGES": "Mensagens não lidas",
"UNREAD_MESSAGE": "Mensagem não lida",
"CLICK_HERE": "Clique aqui",
"LOADING_INBOXES": "Carregando caixas de entrada",
"LOADING_CONVERSATIONS": "Carregando conversas",
"CANNOT_REPLY": "Você não pode responder porque",
"24_HOURS_WINDOW": "Restrições de janela de mensagem de 24 horas",
"48_HOURS_WINDOW": "Restrição da janela de mensagens de 48 horas",
"API_HOURS_WINDOW": "Você só pode responder a esta conversa em {hours} horas",
"NOT_ASSIGNED_TO_YOU": "Esta conversa não está atribuída a você. Gostaria de atribuir esta conversa a você mesmo?",
"ASSIGN_TO_ME": "Atribuir a mim",
"BOT_HANDOFF_MESSAGE": "Você está respondendo a uma conversa que é atualmente tratada por um assistente ou um robô.",
"BOT_HANDOFF_ACTION": "Marcar como aberta e atribuir a você",
"BOT_HANDOFF_REOPEN_ACTION": "Marcar conversa como aberta",
"BOT_HANDOFF_SUCCESS": "Uma conversa foi atribuída a você",
"BOT_HANDOFF_ERROR": "Falha ao resolver conversas. Por favor, tente novamente.",
"TWILIO_WHATSAPP_CAN_REPLY": "Você só pode responder a esta conversa usando um modelo de mensagem devido a",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restrições de janela de mensagem de 24 horas",
"ANNOUNCEMENT_MODE_BANNER": "Apenas administradores têm permissão para enviar mensagens neste grupo",
"GROUP_LEFT_BANNER": "Você não faz mais parte deste grupo e não pode enviar mensagens nele",
"GROUPS_DISABLED_BANNER": "As mensagens de grupo estão desativadas. Ative o suporte completo a grupos (gratuito) para ver e enviar mensagens.",
"GROUPS_DISABLED_BANNER_NON_ADMIN": "As mensagens de grupo estão desativadas. Entre em contato com o administrador para ativar o suporte completo a grupos.",
"GROUPS_DISABLED_CTA": "Saiba como ativar (gratuito)",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Esta conta do Instagram foi migrada para a nova caixa de entrada do canal do Instagram. Todas as novas mensagens serão mostradas lá. Você não poderá mais enviar mensagens desta conversa.",
"REPLYING_TO": "Você está respondendo a:",
"REMOVE_SELECTION": "Remover seleção",
"DOWNLOAD": "Baixar",
"UNKNOWN_FILE_TYPE": "Arquivo desconhecido",
"SAVE_CONTACT": "Salvar contato",
"NO_CONTENT": "Nenhum conteúdo a ser exibido",
"SHARED_ATTACHMENT": {
"CONTACT": "{sender} compartilhou um contato",
"LOCATION": "{sender} compartilhou uma localização",
"FILE": "{sender} compartilhou um arquivo",
"MEETING": "{sender} começou a reunião"
},
"UPLOADING_ATTACHMENTS": "Enviando anexos...",
"REPLIED_TO_STORY": "Respondido ao seu story",
"UNSUPPORTED_MESSAGE": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo.",
"UNSUPPORTED_MESSAGE_WHATSAPP": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo do WhatsApp.",
"UNSUPPORTED_MESSAGE_FACEBOOK": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo Facebook Messenger.",
"UNSUPPORTED_MESSAGE_INSTAGRAM": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo do Instagram.",
"UNSUPPORTED_MESSAGE_TIKTOK": "Esta mensagem não é compatível. Você pode visualizá-la no aplicativo do TikTok.",
"SUCCESS_DELETE_MESSAGE": "Mensagem excluída com sucesso",
"FAIL_DELETE_MESSSAGE": "Não foi possível excluir a mensagem! Tente novamente",
"NO_RESPONSE": "Sem resposta",
"RESPONSE": "Resposta",
"RATING_TITLE": "Classificação",
"FEEDBACK_TITLE": "Feedback",
"REPLY_MESSAGE_NOT_FOUND": "Mensagem não disponível",
"CARD": {
"SHOW_LABELS": "Mostrar etiquetas",
"HIDE_LABELS": "Ocultar as etiquetas"
},
"VOICE_CALL": {
"INCOMING_CALL": "Chamada recebida",
"OUTGOING_CALL": "Chamada realizada",
"CALL_IN_PROGRESS": "Chamada em andamento",
"NO_ANSWER": "Sem resposta",
"MISSED_CALL": "Chamada perdida",
"CALL_ENDED": "Chamada encerrada",
"NOT_ANSWERED_YET": "Ainda não respondido",
"THEY_ANSWERED": "Eles responderam",
"YOU_ANSWERED": "Você respondeu"
},
"HEADER": {
"RESOLVE_ACTION": "Resolver",
"REOPEN_ACTION": "Reabrir",
"OPEN_ACTION": "Abrir",
"MORE_ACTIONS": "Mais ações",
"OPEN": "Mais",
"CLOSE": "Fechar",
"DETAILS": "detalhes",
"SNOOZED_UNTIL": "Adiar até",
"SNOOZED_UNTIL_TOMORROW": "Adiado até amanhã",
"SNOOZED_UNTIL_NEXT_WEEK": "Adiada até a próxima semana",
"SNOOZED_UNTIL_NEXT_REPLY": "Adiado até a próxima resposta",
"SLA_STATUS": {
"FRT": "FRT {status}",
"NRT": "NRT {status}",
"RT": "RT {status}",
"MISSED": "perdidas",
"DUE": "venceu"
}
},
"RESOLVE_DROPDOWN": {
"MARK_PENDING": "Deixar pendente",
"SNOOZE_UNTIL": "Adiar",
"SNOOZE": {
"TITLE": "Suspender até",
"NEXT_REPLY": "Próxima resposta",
"TOMORROW": "Amanhã",
"NEXT_WEEK": "Próxima semana"
}
},
"MENTION": {
"AGENTS": "Agentes",
"TEAMS": "Times"
},
"CUSTOM_SNOOZE": {
"TITLE": "Adiar até",
"APPLY": "Adiar",
"CANCEL": "Cancelar"
},
"PRIORITY": {
"TITLE": "Prioridade",
"OPTIONS": {
"NONE": "Nenhuma",
"URGENT": "Urgente",
"HIGH": "Alta",
"MEDIUM": "Média",
"LOW": "Baixa"
},
"CHANGE_PRIORITY": {
"SELECT_PLACEHOLDER": "Nenhuma",
"INPUT_PLACEHOLDER": "Selecionar prioridade",
"NO_RESULTS": "Nenhum resultado encontrado",
"SUCCESSFUL": "Alterada a prioridade do ID da conversa {conversationId} para {priority}",
"FAILED": "Não foi possível alterar a prioridade. Por favor, tente novamente."
}
},
"DELETE_CONVERSATION": {
"TITLE": "Excluir conversa #{conversationId}",
"DESCRIPTION": "Tem certeza que deseja excluir esta conversa?",
"CONFIRM": "Excluir"
},
"CARD_CONTEXT_MENU": {
"PENDING": "Deixar pendente",
"RESOLVED": "Marcar como resolvida",
"MARK_AS_UNREAD": "Marcar como não lida",
"MARK_AS_READ": "Marcar como lida",
"REOPEN": "Reabrir conversa",
"SNOOZE": {
"TITLE": "Adiar",
"NEXT_REPLY": "Até a próxima resposta",
"TOMORROW": "Até amanhã",
"NEXT_WEEK": "Até a próxima semana"
},
"ASSIGN_AGENT": "Atribuir Agente",
"ASSIGN_LABEL": "Atribuir etiqueta",
"AGENTS_LOADING": "Carregando agentes...",
"ASSIGN_TEAM": "Atribuir time",
"DELETE": "Excluir conversa",
"OPEN_IN_NEW_TAB": "Abrir em nova aba",
"COPY_LINK": "Copiar link da conversa",
"COPY_LINK_SUCCESS": "Link da conversa copiado",
"API": {
"AGENT_ASSIGNMENT": {
"SUCCESFUL": "ID da conversa {conversationId} atribuído para \"{agentName}\"",
"FAILED": "Não foi possível atribuir agente. Por favor, tente novamente."
},
"LABEL_ASSIGNMENT": {
"SUCCESFUL": "Etiqueta #{labelName} atribuída para a conversa {conversationId}",
"FAILED": "Não foi possível atribuir etiqueta. Por favor, tente novamente."
},
"LABEL_REMOVAL": {
"SUCCESFUL": "Etiqueta #{labelName} removida da conversa com id {conversationId}",
"FAILED": "Não foi possível remover a etiqueta. Por favor, tente novamente."
},
"TEAM_ASSIGNMENT": {
"SUCCESFUL": "Time {team} atribuído para o id de conversa {conversationId}",
"FAILED": "Não foi possível atribuir time. Por favor, tente novamente."
}
}
},
"FOOTER": {
"MESSAGE_SIGN_TOOLTIP": "Assinatura de mensagem",
"ENABLE_SIGN_TOOLTIP": "Ativar assinatura",
"DISABLE_SIGN_TOOLTIP": "Desativar assinatura",
"SIGNATURE_LABEL_TOP": "↓ Assinatura",
"SIGNATURE_LABEL_TOP_TOOLTIP": "A assinatura será enviada no início da mensagem",
"SIGNATURE_LABEL_BOTTOM": "↑ Assinatura",
"SIGNATURE_LABEL_BOTTOM_TOOLTIP": "A assinatura será enviada no final da mensagem",
"MSG_INPUT": "Shift + enter para nova linha. Digite '/' para selecionar uma Resposta Pronta.",
"PRIVATE_MSG_INPUT": "A mensagem será visível apenas para agentes",
"MESSAGING_RESTRICTED": "Você não pode responder esta conversa",
"MESSAGING_RESTRICTED_WHATSAPP": "Você só pode responder usando uma mensagem de modelo devido à restrição da janela de 24 horas",
"MESSAGING_RESTRICTED_API": "Você só pode responder usando uma mensagem de template devido à restrição da janela de mensagens",
"MESSAGE_SIGNATURE_NOT_CONFIGURED": "A assinatura da mensagem não está configurada. Por favor, configure-a nas configurações do perfil.",
"COPILOT_MSG_INPUT": "Forneça instruções adicionais ao Copiloto ou pergunte algo mais... Pressione Enter para enviar",
"CLICK_HERE": "Clique aqui para atualizar",
"WHATSAPP_TEMPLATES": "Modelos do Whatsapp",
"ANNOUNCEMENT_MODE_RESTRICTED": "Apenas administradores têm permissão para enviar mensagens neste grupo",
"GROUP_LEFT_RESTRICTED": "Você não faz mais parte deste grupo e não pode enviar mensagens nele",
"GROUPS_DISABLED_RESTRICTED": "As mensagens de grupo estão desativadas — ative gratuitamente"
},
"REPLYBOX": {
"REPLY": "Responder",
"PRIVATE_NOTE": "Mensagem Privada",
"SEND": "Enviar",
"CREATE": "Enviar",
"INSERT_READ_MORE": "Ler mais",
"DISMISS_REPLY": "Dispensar resposta",
"REPLYING_TO": "Respondendo a:",
"TIP_EMOJI_ICON": "Mostrar seletor de emoji",
"TIP_ATTACH_ICON": "Anexar arquivos",
"TIP_AUDIORECORDER_ICON": "Gravar áudio",
"TIP_AUDIORECORDER_PERMISSION": "Permitir acesso ao áudio",
"TIP_AUDIORECORDER_ERROR": "Não foi possível abrir o áudio",
"AUDIO_CONVERSION_FAILED": "Falha na conversão do áudio. Tente novamente.",
"DRAG_DROP": "Arraste e solte aqui para anexar",
"START_AUDIO_RECORDING": "Iniciar gravação de áudio",
"STOP_AUDIO_RECORDING": "Parar gravação de áudio",
"COPILOT_THINKING": "O Copiloto está pensando",
"EMAIL_HEAD": {
"TO": "Para",
"ADD_BCC": "Adicionar cco",
"CC": {
"LABEL": "CC",
"PLACEHOLDER": "E-mails separados por vírgulas",
"ERROR": "Por favor, insira endereços de e-mail válidos"
},
"BCC": {
"LABEL": "Cco",
"PLACEHOLDER": "E-mails separados por vírgulas",
"ERROR": "Por favor, insira endereços de e-mail válidos"
}
},
"UNDEFINED_VARIABLES": {
"TITLE": "Variáveis não definidas",
"MESSAGE": "Você tem {undefinedVariablesCount} variáveis não definidas em sua mensagem: {undefinedVariables}. Gostaria de enviar a mensagem mesmo assim?",
"CONFIRM": {
"YES": "Enviar",
"CANCEL": "Cancelar"
}
},
"QUOTED_REPLY": {
"ENABLE_TOOLTIP": "Incluir o encadeamento de e-mails citado",
"DISABLE_TOOLTIP": "Não incluir o encadeamento de e-mails citado",
"REMOVE_PREVIEW": "Remover o encadeamento de e-mails citado",
"COLLAPSE": "Recolher a prévia",
"EXPAND": "Expandir a prévia"
},
"SCHEDULE_SEND": "Agendar envio"
},
"VISIBLE_TO_AGENTS": "Mensagem Privada: Apenas visível para você e seu time",
"CHANGE_STATUS": "Estado da conversa mudou",
"CHANGE_STATUS_FAILED": "Mudança de status da conversa falhou",
"CHANGE_AGENT": "Novo agente atribuído",
"CHANGE_AGENT_FAILED": "Falha ao atribuir outro agente",
"ASSIGN_LABEL_SUCCESFUL": "Etiqueta atribuída com sucesso",
"ASSIGN_LABEL_FAILED": "Falha ao atribuir etiqueta",
"CHANGE_TEAM": "Status da conversa mudou",
"SUCCESS_DELETE_CONVERSATION": "Conversa excluída com sucesso",
"FAIL_DELETE_CONVERSATION": "Não foi possível excluir a conversa! Tente novamente",
"FILE_SIZE_LIMIT": "O arquivo excede os {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB do limite para anexos",
"FILE_TYPE_NOT_SUPPORTED": "O tipo de arquivo {fileName} não é suportado nesta conversa",
"MESSAGE_ERROR": "Não foi possível enviar esta mensagem, por favor, tente novamente mais tarde",
"SENT_BY": "Enviado por:",
"BOT": "Robôs",
"WHATSAPP": "WhatsApp",
"NATIVE_APP": "Aplicativo nativo",
"NATIVE_APP_ADVISORY": "Esta mensagem foi enviada a partir do aplicativo nativo. Responda pelo Chatwoot para manter a janela de mensagens ativa.",
"SEND_FAILED": "Não foi possível enviar a mensagem! Tente novamente",
"TRY_AGAIN": "tentar novamente",
"ASSIGNMENT": {
"SELECT_AGENT": "selecionar Agente",
"REMOVE": "Excluir",
"ASSIGN": "Atribuir"
},
"CONTEXT_MENU": {
"COPY": "Copiar",
"REPLY_TO": "Responder mensagem",
"DELETE": "Excluir",
"CREATE_A_CANNED_RESPONSE": "Adicionar às respostas prontas",
"TRANSLATE": "Traduzir",
"COPY_PERMALINK": "Copiar link para a mensagem",
"LINK_COPIED": "URL da mensagem copiada para a área de transferência",
"DELETE_CONFIRMATION": {
"TITLE": "Você tem certeza que deseja excluir esta mensagem?",
"MESSAGE": "Você não pode desfazer essa ação",
"DELETE": "Excluir",
"CANCEL": "Cancelar"
},
"EDIT": {
"LABEL": "Editar",
"TITLE": "Editar mensagem",
"PLACEHOLDER": "Digite o conteúdo da mensagem",
"SAVE": "Salvar",
"CANCEL": "Cancelar",
"SUCCESS": "Mensagem editada com sucesso",
"ERROR": "Falha ao editar mensagem",
"EMPTY_CONTENT": "O conteúdo da mensagem não pode estar vazio"
}
},
"SIDEBAR": {
"CONTACT": "Contatos",
"COPILOT": "Copiloto"
},
"VOICE_WIDGET": {
"INCOMING_CALL": "Chamada recebida",
"OUTGOING_CALL": "Chamada realizada",
"CALL_IN_PROGRESS": "Chamada em andamento",
"NOT_ANSWERED_YET": "Ainda não respondido",
"HANDLED_IN_ANOTHER_TAB": "Sendo atendida em outra aba",
"REJECT_CALL": "Recusar",
"JOIN_CALL": "Entrar na chamada",
"END_CALL": "Encerrar chamada"
},
"INBOX": {
"WHATSAPP_PROVIDER_CONNECTION": {
"NOT_CONNECTED": "O WhatsApp não está conectado. Por favor conecte o seu dispositivo novamente.",
"NOT_CONNECTED_CONTACT_ADMIN": "O WhatsApp não está conectado. Clique no botão ao lado para tentar reconectar, ou contate o seu administrador para conectar o dispositivo novamente.",
"LINK_DEVICE": "Conectar dispositivo",
"RECONNECT_FAILED": "Falha ao reconectar. Por favor, contate o seu administrador para conectar o dispositivo novamente."
}
}
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Enviar transcrição de conversa",
"DESC": "Enviar uma cópia da transcrição da conversa para o endereço de e-mail especificado",
"SUBMIT": "Enviar",
"CANCEL": "Cancelar",
"SEND_EMAIL_SUCCESS": "A transcrição do chat foi enviada com sucesso",
"SEND_EMAIL_ERROR": "Ocorreu um erro, por favor tente novamente",
"SEND_EMAIL_PAYMENT_REQUIRED": "A transcrição de e-mail não está disponível no seu plano atual. Por favor, atualize para usar este recurso.",
"FORM": {
"SEND_TO_CONTACT": "Envie a transcrição para o cliente",
"SEND_TO_AGENT": "Envie a transcrição para o agente designado",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Enviar a transcrição para outro endereço de e-mail",
"EMAIL": {
"PLACEHOLDER": "Digite um endereço de e-mail",
"ERROR": "Por favor, insira um endereço de e-mail válido"
}
}
},
"ONBOARDING": {
"TITLE": "Olá, 👋. Bem-vindo ao {installationName}!",
"DESCRIPTION": "Obrigado por se inscrever. Queremos que você aproveite o máximo de {installationName}. Aqui estão algumas coisas que você consegue fazer em {installationName} para que tenha uma experiência agradável.",
"GREETING_MORNING": "👋 Bom dia, {name}. Bem-vindo a {installationName}.",
"GREETING_AFTERNOON": "👋 Boa tarde, {name}. Bem-vindo a {installationName}.",
"GREETING_EVENING": "👋 Boa noite, {name}. Bem-vindo a {installationName}.",
"READ_LATEST_UPDATES": "Leia as últimas atualizações",
"ALL_CONVERSATION": {
"TITLE": "Todas as suas conversas em um só lugar",
"DESCRIPTION": "Veja todas as conversas dos seus clientes em um único painel. Você pode filtrar as conversas pelo canal de entrada, rótulo e status.",
"NEW_LINK": "Clique aqui para criar uma caixa de entrada"
},
"TEAM_MEMBERS": {
"TITLE": "Convidar membros de seu time",
"DESCRIPTION": "Já que você está se preparando para conversar com seu cliente, traga seus colegas para ajudá-lo. Você pode convidar seus colegas adicionando os endereços de e-mail deles na lista de agentes.",
"NEW_LINK": "Clique aqui para convidar um membro do time"
},
"LABELS": {
"TITLE": "Organizar conversas com etiquetas",
"DESCRIPTION": "Etiquetas fornecem uma forma mais fácil de organizar a sua conversa. Criar algumas etiquetas como #solicitação-suporte, #fatura-assunto etc., assim você poderá futuramente utiliza-las em uma conversa posteriormente.",
"NEW_LINK": "Clique aqui para criar etiquetas"
},
"CANNED_RESPONSES": {
"TITLE": "Criar respostas prontas",
"DESCRIPTION": "Os modelos de respostas prontas ajudam você a responder rapidamente a uma conversa. Os agentes podem digitar o caractere '/' seguido pelo atalho para inserir uma resposta.",
"NEW_LINK": "Clique aqui para criar uma resposta pronta"
}
},
"CONVERSATION_SIDEBAR": {
"ASSIGNEE_LABEL": "Agente atribuído",
"SELF_ASSIGN": "Atribuir a mim",
"TEAM_LABEL": "Time atribuído",
"SELECT": {
"PLACEHOLDER": "Nenhuma"
},
"ACCORDION": {
"CONTACT_DETAILS": "Detalhes do contato",
"SCHEDULED_MESSAGES": "Mensagens agendadas",
"CONVERSATION_ACTIONS": "Ações da conversa",
"CONVERSATION_LABELS": "Etiquetas da conversa",
"CONVERSATION_INFO": "Informação da conversa",
"CONTACT_NOTES": "Notas do contato",
"CONTACT_ATTRIBUTES": "Atributos do contato",
"PREVIOUS_CONVERSATION": "Conversas anteriores",
"MACROS": "Macros",
"LINEAR_ISSUES": "Problemas do Linear vinculados",
"SHOPIFY_ORDERS": "Pedidos do Shopify"
},
"SHOPIFY": {
"ORDER_ID": "Pedido #{id}",
"ERROR": "Erro ao carregar pedidos",
"NO_SHOPIFY_ORDERS": "Nenhum pedido encontrado",
"FINANCIAL_STATUS": {
"PENDING": "Pendentes",
"AUTHORIZED": "Autorizado",
"PARTIALLY_PAID": "Parcialmente pago",
"PAID": "Pago",
"PARTIALLY_REFUNDED": "Parcialmente Reembolsado",
"REFUNDED": "Reembolsado",
"VOIDED": "Anulado"
},
"FULFILLMENT_STATUS": {
"FULFILLED": "Concluído",
"PARTIALLY_FULFILLED": "Parcialmente Concluído",
"UNFULFILLED": "Não concluído"
}
}
},
"SCHEDULED_MESSAGES": {
"NEW_BUTTON": "Agendar mensagem",
"PAST_MESSAGES_SECTION": "Enviadas",
"EMPTY_STATE": "Ainda não há mensagens agendadas.",
"STATUS": {
"DRAFT": "Rascunho",
"PENDING": "Pendente",
"SENT": "Enviada",
"FAILED": "Falhou"
},
"ITEM": {
"SCHEDULED_FOR": "Agendada para {time}",
"NO_SCHEDULE": "Sem agendamento",
"TEMPLATE_PREVIEW": "Modelo: {name}",
"TEMPLATE_LABEL": "Modelo: {name}",
"ATTACHMENT_PREVIEW": "Anexo: {filename}",
"ATTACHMENT_LABEL": "Anexo: {filename}",
"EMPTY_PREVIEW": "Sem conteúdo",
"EXPAND": "Expandir",
"COLLAPSE": "Recolher",
"GO_TO_MESSAGE": "Ir para a mensagem",
"SEARCHING_MESSAGE": "Buscando mensagem...",
"MESSAGE_NOT_FOUND": "A mensagem vinculada não foi encontrada. Ela pode ter sido excluída."
},
"MODAL": {
"TITLE_NEW": "Agendar mensagem",
"TITLE_EDIT": "Editar mensagem agendada",
"MESSAGE_LABEL": "Mensagem",
"MESSAGE_PLACEHOLDER": "Escreva sua mensagem...",
"DATETIME_LABEL": "Data e hora de envio",
"ATTACHMENT_LABEL": "Anexo",
"ATTACHMENT_ADD": "Anexar arquivo",
"ATTACHMENT_CURRENT": "Anexo atual: {filename}",
"TEMPLATE_SELECT": "Usar modelo",
"TEMPLATE_SELECTED": "Modelo: {name}",
"TEMPLATE_ACTION": "Agendar mensagem",
"CANCEL": "Cancelar",
"SAVE_DRAFT": "Salvar como rascunho",
"SCHEDULE": "Agendar",
"SHORTCUTS": {
"TOMORROW_MORNING": "Amanhã de manhã",
"TOMORROW_AFTERNOON": "Amanhã à tarde",
"MONDAY_MORNING": "Segunda-feira de manhã",
"CUSTOM": "Digitar data e hora"
},
"CUSTOM_INPUT_PLACEHOLDER": "ex: amanhã às 14h, próxima sexta de manhã",
"CUSTOM_INPUT_HINT": "Tente: amanhã às 15h, próxima segunda, 20 de março às 10h",
"PARSED_DATE_IN_PAST": "Esta data já passou",
"DATEPICKER_TOOLTIP": "Escolher no calendário",
"SCHEDULE_LABEL": "Programar envio"
},
"CONFIRM_CLOSE": {
"TITLE": "Alterações não salvas",
"MESSAGE": "Você tem conteúdo não salvo. Deseja descartar suas alterações?",
"CONTINUE_EDITING": "Continuar editando",
"DISCARD": "Descartar",
"CANCEL": "Cancelar"
},
"CONFIRM_DELETE": {
"TITLE": "Excluir mensagem agendada",
"MESSAGE": "Tem certeza de que deseja excluir esta mensagem agendada? Esta ação não pode ser desfeita.",
"CANCEL": "Cancelar",
"DELETE": "Excluir"
},
"ERRORS": {
"CONTENT_REQUIRED": "Adicione uma mensagem, template ou anexo antes de salvar.",
"CONTENT_TOO_LONG": "A mensagem é muito longa. Máximo de {maxLength} caracteres permitidos.",
"DATETIME_REQUIRED": "Selecione uma data e hora para agendar a mensagem.",
"SCHEDULE_IN_PAST": "O horário agendado deve ser no futuro.",
"SAVE_FAILED": "Não foi possível salvar a mensagem agendada. Por favor, tente novamente.",
"DELETE_FAILED": "Não foi possível excluir a mensagem agendada. Por favor, tente novamente."
},
"META": {
"TOOLTIP": "Agendada em {time} por {author}",
"YOU": "Você",
"AUTHOR_YOU": "{name} (Você)",
"AUTOMATION": "Automação",
"UNKNOWN_AUTHOR": "Desconhecido"
},
"RECURRENCE": {
"SECTION_TITLE": "Recorrências",
"NO_REPEAT": "Não se repete",
"DAILY": "Todos os dias",
"WEEKLY": "Semanal: cada {day}",
"MONTHLY_NTH": "Mensal no(a) {nth} {day}",
"MONTHLY_LAST": "Mensal no(a) último(a) {day}",
"YEARLY": "Anual em {dayNum} de {month}",
"WEEKDAYS": "Todos os dias úteis (seg-sex)",
"CUSTOM": "Personalizado...",
"CUSTOM_MODAL": {
"TITLE": "Recorrência personalizada",
"REPEAT_EVERY": "Repetir a cada",
"FREQ_DAILY": "dia(s)",
"FREQ_WEEKLY": "semana(s)",
"FREQ_MONTHLY": "mês(es)",
"FREQ_YEARLY": "ano(s)",
"UNIT_DAY": "dia | dias",
"UNIT_WEEK": "semana | semanas",
"UNIT_MONTH": "mês | meses",
"UNIT_YEAR": "ano | anos",
"REPEAT_ON": "Repetir em",
"MONTHLY_ON_DAY": "Dia do mês",
"MONTHLY_ON_WEEKDAY": "Dia da semana",
"ENDS": "Termina",
"ENDS_NEVER": "Nunca",
"ENDS_ON_DATE": "Em data",
"ENDS_AFTER": "Após",
"ENDS_OCCURRENCES": "ocorrências",
"DONE": "Concluir",
"CANCEL": "Cancelar"
},
"STATUS_ACTIVE": "Ativa",
"STATUS_DRAFT": "Rascunho",
"STATUS_COMPLETED": "Concluída",
"STATUS_CANCELLED": "Cancelada",
"OCCURRENCES_SENT": "{count} enviadas",
"NEXT_SEND": "Próxima: {time}",
"EXPAND": "Expandir histórico",
"COLLAPSE": "Recolher histórico",
"STOP": "Parar recorrência",
"STOP_CONFIRM": {
"TITLE": "Parar recorrência",
"MESSAGE": "A mensagem pendente será removida e a recorrência será encerrada permanentemente.",
"CONFIRM": "Parar",
"CANCEL": "Cancelar"
},
"EDIT": "Editar recorrência",
"EDIT_WARNING": "Próximo envio: {oldDate} → {newDate}",
"WEEKDAYS_SHORT": {
"SUN": "D",
"MON": "S",
"TUE": "T",
"WED": "Q",
"THU": "Q",
"FRI": "S",
"SAT": "S"
},
"ORDINALS": {
"FIRST": "1º",
"SECOND": "2º",
"THIRD": "3º",
"FOURTH": "4º",
"FIFTH": "5º",
"LAST": "último(a)"
},
"DESCRIPTION": {
"DAILY_ONE": "Todos os dias",
"DAILY_OTHER": "A cada {count} dias",
"WEEKLY_ONE": "Semanal",
"WEEKLY_OTHER": "A cada {count} semanas",
"WEEKLY_ON": "{prefix}: {days}",
"MONTHLY_ONE": "Mensal",
"MONTHLY_OTHER": "A cada {count} meses",
"MONTHLY_ON_WEEKDAY": "{prefix} no(a) {ordinal} {weekday}",
"YEARLY_ONE": "Anual",
"YEARLY_OTHER": "A cada {count} anos",
"UNTIL_DATE": "até {date}",
"AFTER_COUNT": "{count} ocorrências"
},
"RESOLVED_WARNING": "Mensagens agendadas não serão enviadas enquanto a conversa estiver resolvida. Reabra a conversa para retomar o envio."
}
},
"CONVERSATION_CUSTOM_ATTRIBUTES": {
"ADD_BUTTON_TEXT": "Criar atributo",
"NO_RECORDS_FOUND": "Nenhum atributo encontrado",
"UPDATE": {
"SUCCESS": "Atributo atualizado com sucesso",
"ERROR": "Não foi possível atualizar o atributo. Por favor, tente mais tarde"
},
"ADD": {
"TITLE": "Adicionar",
"SUCCESS": "Atributo adicionado com sucesso",
"ERROR": "Não foi possível adicionar o atributo. Por favor, tente mais tarde"
},
"DELETE": {
"SUCCESS": "Atributo excluído com sucesso",
"ERROR": "Não foi possível excluir o atributo. Por favor, tente mais tarde"
},
"ATTRIBUTE_SELECT": {
"TITLE": "Adicionar atributos",
"PLACEHOLDER": "Procurar atributos",
"NO_RESULT": "Nenhum atributo encontrado"
}
},
"EMAIL_HEADER": {
"FROM": "De",
"TO": "Para",
"BCC": "CCO",
"CC": "Cc",
"SUBJECT": "Assunto",
"EXPAND": "Expandir e-mail"
},
"CONVERSATION_PARTICIPANTS": {
"SIDEBAR_MENU_TITLE": "Participantes",
"SIDEBAR_TITLE": "Participantes da conversa",
"NO_RECORDS_FOUND": "Nenhum resultado encontrado",
"ADD_PARTICIPANTS": "Selecionar participantes",
"REMANING_PARTICIPANTS_TEXT": "+{count} participantes",
"REMANING_PARTICIPANT_TEXT": "+{count} participante",
"TOTAL_PARTICIPANTS_TEXT": "{count} pessoas estão participando.",
"TOTAL_PARTICIPANT_TEXT": "{count} pessoa está participando.",
"NO_PARTICIPANTS_TEXT": "Ninguém está participando!",
"WATCH_CONVERSATION": "Participar da conversa",
"YOU_ARE_WATCHING": "Você está participando",
"API": {
"ERROR_MESSAGE": "Não foi possível atualizar, tente novamente!",
"SUCCESS_MESSAGE": "Participantes atualizados!"
}
},
"TRANSLATE_MODAL": {
"TITLE": "Ver conteúdo traduzido",
"DESC": "Você pode visualizar o conteúdo traduzido em cada idioma.",
"ORIGINAL_CONTENT": "Conteúdo original",
"TRANSLATED_CONTENT": "Conteúdo traduzido",
"NO_TRANSLATIONS_AVAILABLE": "Nenhuma tradução está disponível para este conteúdo"
},
"TYPING": {
"ONE": "{user} está digitando",
"TWO": "{user} e {secondUser} estão digitando",
"MULTIPLE": "{user} e {count} outros estão digitando"
},
"RECORDING": {
"ONE": "{user} está gravando áudio",
"TWO": "{user} e {secondUser} estão gravando áudio",
"MULTIPLE": "{user} e {count} outros estão gravando áudio"
},
"COPILOT": {
"TRY_THESE_PROMPTS": "Experimente estes comandos"
},
"GALLERY_VIEW": {
"ERROR_DOWNLOADING": "Não foi possível baixar o anexo. Por favor, tente novamente"
}
}