Chat Multilingue

Implementação

Imagem padrão
Ouvir conteúdo
Clique para ouvir o texto completo

5. Implementação

Esta seção descreve os procedimentos para configurar, integrar e executar o módulo MODE-CHAT-003 dentro do sistema CCMBR, incluindo detalhes de ambiente, dependências, segurança e validações.


5.1 Configuração do Ambiente

Pré-requisitos:

  • Servidor com suporte a PHP 7.4 ou superior

  • MySQL 5.7 ou superior

  • Módulo cURL habilitado no PHP

  • Permissões de escrita na pasta de logs

Passos iniciais:

  1. Crie a tabela chat_privado conforme estrutura descrita na seção 4.1.

  2. Configure corretamente o arquivo config/database.php com as credenciais do banco.

  3. Coloque os arquivos do módulo nas pastas apropriadas:

    • Interface: chat_privado.php

    • Backend: backend/chat_privado_backend.php

    • Configuração: ../../config/database.php


5.2 Integração com API de Tradução

O sistema utiliza a API pública do LibreTranslate, que não requer autenticação.
Endpoint utilizado:

arduino
https://libretranslate.com/translate

Parâmetros enviados:

  • q: Texto a ser traduzido

  • source: Idioma original

  • target: Idioma de destino

  • format: Formato do texto (utiliza "text")

Cabeçalhos:

http
Content-Type: application/json

Observação:
A instância pública do LibreTranslate possui limite de uso. Para produção, recomenda-se hospedar sua própria instância ou substituir por uma API comercial (Google Translate, DeepL etc.).


5.3 Proteção CSRF

O módulo implementa proteção contra requisições falsas com token CSRF.

Funcionamento:

  • Gerado em $_SESSION['csrf_token']

  • Inserido no campo oculto do formulário

  • Validado no backend usando hash_equals()

  • Todas as requisições POST exigem token válido


5.4 Tratamento de Erros e Logs

Tratamento no backend:

  • Todas as falhas são registradas via error_log() no arquivo backend/error.log

  • Saídas de erro usam http_response_code() e json_encode()

  • Uso de ob_end_clean() garante que apenas JSON seja retornado, sem vazamento de mensagens HTML

Mensagens amigáveis no frontend:

  • Exibição de erro abaixo da interface em vermelho (#errorMsg)

  • Ocultação automática após 5 segundos

Tire suas dúvidas

Cecília Romani
Cecília Romani

Especialista em Numismática

Tire suas dúvidas com Cecília Romani sobre este capítulo pelo WhatsApp.

Falar com Cecília

Comentários

Área de comentários em breve...