# Traduttore AI 🌍 Un'applicazione desktop elegante e moderna per tradurre testi dall'inglese all'italiano e viceversa utilizzando modelli AI locali tramite Ollama. L'app rileva automaticamente la lingua del testo inserito e fornisce la traduzione istantanea. ![Screenshot](screenshot.png) ## ✨ Caratteristiche - 🎨 **Design moderno** con gradienti colorati e interfaccia intuitiva - 🔄 **Rilevamento automatico** della lingua (inglese/italiano) - 🤖 **Integrazione con Ollama** per traduzioni locali e private - ⚡ **Traduzione istantanea** con un solo click - 📋 **Menu contestuale** con Copia/Incolla (tasto destro) - ⚙️ **Configurazione flessibile** di modello e URL Ollama - 🖥️ **Multi-piattaforma** (Linux e Windows) - 🎯 **Rilevamento automatico** direzione traduzione (EN→IT o IT→EN) ## 📋 Requisiti - **Node.js** v18 o superiore - **npm** o **yarn** - **Ollama** installato e in esecuzione - Almeno un modello LLM scaricato in Ollama (consigliati: llama3, mistral, qwen3:8b) ## 🚀 Installazione ### 1. Clona il repository ```bash git clone https://git.mirimatcode.eu/Node.js/Traduttore.git cd Traduttore ``` ### 2. Installa le dipendenze ```bash npm install ``` ### 3. Installa Ollama #### Linux ```bash # Installazione automatica curl -fsSL https://ollama.com/install.sh | sh # Oppure scarica manualmente da: # https://ollama.com/download ``` #### Windows 1. Scarica l'installer da: https://ollama.com/download/windows 2. Esegui il file `.exe` e segui la procedura guidata 3. Ollama si avvierà automaticamente ### 4. Scarica un modello ```bash # Modello consigliato (buon bilanciamento qualità/velocità) ollama pull translategemma:4b ``` ### 5. Verifica che Ollama sia in esecuzione ```bash # Linux - controlla se il servizio è attivo systemctl status ollama # Oppure prova a fare una richiesta curl http://localhost:11434/api/tags ``` ## 💻 Utilizzo ### Modalità Sviluppo Per avviare l'applicazione in modalità sviluppo con hot-reload: ```bash npm start ``` ### Build per Distribuzione #### Linux (AppImage) ```bash npm run build:linux ``` Il file eseguibile verrà creato in: - `dist/Traduttore AI-x.x.x.AppImage` Per eseguire: ```bash chmod +x "dist/Traduttore AI-x.x.x.AppImage" ./"dist/Traduttore AI-x.x.x.AppImage" ``` #### Windows (Installer .exe) ```bash npm run build:win ``` Il file installer verrà creato in: - `dist/Traduttore AI Setup x.x.x.exe` Installa l'applicazione eseguendo il file `.exe`. #### Build completa (tutte le piattaforme) ```bash npm run build ``` ## 🎯 Come Usare ### Primo Avvio 1. **Avvia l'app** con `npm start` (dev) o esegui il file buildato 2. **Configura Ollama**: clicca sull'icona ⚙️ in alto a destra 3. **Inserisci l'URL**: di default è `http://localhost:11434` 4. **Clicca "Aggiorna"** per caricare i modelli disponibili 5. **Seleziona un modello** dalla lista 6. **Clicca "Salva"** ### Tradurre un Testo 1. **Scrivi o incolla** il testo nell'area a sinistra 2. L'app rileverà **automaticamente** la lingua (🇮🇹 Italiano o 🇬🇧 Inglese) 3. Clicca il pulsante **"Traduci"** o premi `Ctrl+Enter` 4. La traduzione apparirà nell'area a destra ### Scorciatoie da Tastiera | Tasto | Azione | |-------|--------| | `Ctrl+Enter` | Traduci il testo | | `Ctrl+,` | Apri impostazioni | | `Ctrl+Q` | Esci dall'applicazione | | `Esc` | Chiudi modale impostazioni | | `Ctrl+C` | Copia testo selezionato | | `Ctrl+V` | Incolla testo | | `Ctrl+X` | Taglia testo selezionato | | `Ctrl+A` | Seleziona tutto il testo | ### Menu Contestuale (Tasto Destro) Clicca con il tasto destro su qualsiasi textarea per: - Taglia - Copia - Incolla - Seleziona tutto - Elimina ## 🛠️ Risoluzione Problemi ### "Errore: fetch failed" o "ECONNREFUSED" **Problema**: L'app non riesce a connettersi a Ollama **Soluzioni**: 1. Verifica che Ollama sia in esecuzione: ```bash curl http://localhost:11434/api/tags ``` 2. Se non risponde, avvia Ollama: ```bash ollama serve ``` 3. Verifica che la porta non sia occupata: ```bash # Linux netstat -tulpn | grep 11434 # Windows netstat -ano | findstr 11434 ``` ### "Nessun modello trovato" **Problema**: Ollama non ha modelli installati **Soluzione**: ```bash ollama pull llama3 # oppure ollama pull qwen3:8b ``` ### Traduzione lenta o non risponde **Possibili cause**: - Modello troppo pesante per il tuo hardware - Memoria RAM insufficiente - GPU non utilizzata (se disponibile) **Soluzioni**: - Usa un modello più leggero: `ollama pull mistral` o `ollama pull llama3:8b` - Chiudi altre applicazioni per liberare RAM - Verifica che Ollama stia usando la GPU: `ollama ps` ### Errore su Windows: "Ollama not found" **Soluzione**: 1. Verifica che Ollama sia installato correttamente 2. Aggiungi Ollama al PATH di sistema: - Pannello di Controllo → Sistema → Impostazioni Avanzate → Variabili d'ambiente - Aggiungi il percorso di installazione di Ollama (es: `C:\Users\\AppData\Local\Programs\Ollama`) ### Problemi con IPv6 (Linux) Se vedi errori come `connect ECONNREFUSED ::1:11434`, l'app ora gestisce automaticamente questo problema sostituendo `localhost` con `127.0.0.1`. ## 📁 Struttura del Progetto ``` Traduttore/ ├── main.js # Processo principale Electron ├── preload.js # Bridge sicuro tra processi ├── index.html # Interfaccia utente ├── renderer.js # Logica applicazione ├── styles.css # Stili e design ├── package.json # Configurazione npm └── README.md # Questo file ``` ## 🔧 Configurazione Avanzata ### Cambiare la porta di Ollama Se vuoi usare una porta diversa per Ollama: **Linux**: ```bash OLLAMA_HOST=0.0.0.0:8080 ollama serve ``` **Windows**: ```cmd set OLLAMA_HOST=0.0.0.0:8080 ollama serve ``` Poi nell'app, imposta l'URL: `http://localhost:8080` ### Modelli Consigliati | Modello | Dimensione | Qualità | Velocità | Uso | |---------|-----------|---------|----------|-----| | translategemma:4b | 3.3 GB | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Uso generale | | qwen3.5:9b | 6.6 GB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | Traduzioni accurate | | qwen3.5:0.8b | 1.0 GB | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Versione ridotta | ## 🤝 Contribuire Se vuoi contribuire al progetto: 1. Fork il repository 2. Crea un branch: `git checkout -b feature/nuova-funzionalita` 3. Committa le modifiche: `git commit -am 'Aggiunta nuova funzionalità'` 4. Push al branch: `git push origin feature/nuova-funzionalita` 5. Apri una Pull Request ## 📝 Changelog ### v1.0.0 - ✨ Rilascio iniziale - 🎨 Design moderno con gradienti - 🤖 Integrazione Ollama - 🔄 Rilevamento automatico lingua - 📋 Menu contestuale tasto destro - 🖥️ Supporto Linux e Windows ## 📄 Licenza MIT License - vedi file [LICENSE](LICENSE) per i dettagli. --- Fatto con ❤️ e ☕ per la comunità open source **Autore**: Tu **Versione**: 1.0.0