push iniziale
This commit is contained in:
297
README.md
297
README.md
@@ -1,3 +1,296 @@
|
||||
# Traduttore
|
||||
# Traduttore AI 🌍
|
||||
|
||||
Applicazione desktop che sfrutta l'AI per tradurre testi dall'italiano all'inglese e viceversa. Configurata per modelli ollama in locale.
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user