# TraduzSite - Sistema de Tradução para Sites

## Descrição
Sistema inteligente de tradução que extrai palavras únicas de sites, cria um dicionário personalizado e fornece traduções precisas com suporte a múltiplos idiomas.

## Funcionalidades

### 1. Extração de Palavras
- Analisa o conteúdo HTML do site
- Extrai palavras únicas (exclui palavras com menos de 3 caracteres)
- Cria dicionário no formato: `palavra,traducao_pt,traducao_en,traducao_es`

### 2. Tradução com IA
- Gera prompt para IA traduzir palavras automaticamente
- Processa resposta da IA e salva traduções
- Suporte para português, inglês, espanhol, francês, alemão

### 3. Tradução de Conteúdo
- Traduz HTML completo mantendo a estrutura
- Substitui palavras conforme dicionário
- Preserva tags HTML e atributos

### 4. Widget para Clientes
- JavaScript simples para integração
- Seletor de idiomas flutuante
- Tradução automática da página

## Estrutura de Arquivos

```
traduzsites/
├── index.php              # Página de vendas
├── sistema.php           # Interface de gerenciamento
├── widget.js             # Widget de tradução (arquivo principal)
├── classes/
│   └── TraduzSite.php    # Classe principal
├── api/
│   └── traduzir.php      # API REST
├── assets/
│   ├── js/main.js        # JavaScript do sistema
│   └── css/style.css     # Estilos
└── data/
    └── dicionario.txt    # Dicionário de traduções
```

## Como Usar

### 1. Extração de Palavras
1. Acesse `sistema.php`
2. Insira a URL do site
3. Clique em "Extrair Palavras"
4. O sistema criará o dicionário com as palavras encontradas

### 2. Tradução com IA
1. Após extração, clique em "Gerar Prompt para IA"
2. Copie o prompt gerado
3. Use em sua IA preferida (ChatGPT, Claude, etc.)
4. Cole a resposta da IA no campo indicado
5. Clique em "Processar Traduções"

### 3. Tradução Manual
- No dicionário, edite traduções diretamente
- As alterações são salvas automaticamente

### 4. Tradução de HTML
1. Cole o HTML no campo indicado
2. Selecione o idioma de destino
3. Clique em "Traduzir HTML"
4. O sistema retornará o HTML traduzido

### 5. Widget para Clientes
1. Copie o código do widget em "sistema.php"
2. Cole no site do cliente
3. O widget aparecerá automaticamente

## Formato do Dicionário

O arquivo `data/dicionario.txt` usa o formato:
```
palavra,traducao_pt,traducao_en,traducao_es
casa,casa,house,casa
exemplo,exemplo,example,ejemplo
```

## API REST

### Endpoints:

- `POST /api/traduzir.php?action=extrair_palavras`
  - Parâmetros: `url`
  - Retorna: palavras extraídas

- `POST /api/traduzir.php?action=traduzir_palavra`
  - Parâmetros: `palavra`, `idioma`
  - Retorna: tradução da palavra

- `POST /api/traduzir.php?action=traduzir_html`
  - Parâmetros: `html`, `idioma`
  - Retorna: HTML traduzido

- `POST /api/traduzir.php?action=gerar_prompt_traducao`
  - Parâmetros: `idioma`
  - Retorna: prompt para IA

- `POST /api/traduzir.php?action=processar_traducoes_ia`
  - Parâmetros: `traducoes`, `idioma`
  - Retorna: resultado do processamento

## Widget JavaScript

```javascript
// Inicializar widget
initTraduzSiteWidget({
    apiUrl: "https://irdigital.us/system/traduzsites/api/traduzir.php",
    idiomas: ["pt", "en", "es"],
    posicao: "bottom-right"
});
```

### Código de Integração Completo

```html
<!-- Widget TraduzSite -->
<script src="https://irdigital.us/system/traduzsites/widget.js"></script>
<script>
    document.addEventListener("DOMContentLoaded", function() {
        initTraduzSiteWidget({
            apiUrl: "https://irdigital.us/system/traduzsites/api/traduzir.php",
            idiomas: ["pt", "en", "es"],
            posicao: "bottom-right",
            debug: false  // Mude para true para ver logs
        });
    });
</script>
```

## Requisitos
- PHP 7.0 ou superior
- Permissão de escrita na pasta `data/`
- Acesso à internet (para extrair sites externos)

## Segurança
- Validação de URLs antes de extração
- Sanitização de entrada de dados
- Armazenamento seguro de traduções

## Personalização
- Adicione novos idiomas editando o mapeamento na classe
- Customize o widget alterando `main.js`
- Modifique estilos em `style.css`

## Suporte
Para dúvidas e suporte, acesse a interface em `sistema.php` ou consulte o código fonte.