297 lines
7.0 KiB
Markdown
297 lines
7.0 KiB
Markdown
# 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.
|
|
|
|

|
|
|
|
## ✨ 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://github.com/tuousername/traduttore-ai.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 llama3
|
|
|
|
# Oppure per traduzioni più accurate
|
|
ollama pull qwen3:8b
|
|
|
|
# Per computer meno potenti
|
|
ollama pull mistral
|
|
```
|
|
|
|
### 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\<username>\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 |
|
|
|---------|-----------|---------|----------|-----|
|
|
| llama3 | 4.7 GB | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Uso generale |
|
|
| qwen3:8b | 4.9 GB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | Traduzioni accurate |
|
|
| mistral | 4.1 GB | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Buon compromesso |
|
|
| llama3:8b | 4.7 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
|