🌍 Traduttore Ollama

Un'applicazione web moderna per tradurre testi lunghi utilizzando modelli locali di Ollama. Supporta oltre 30 lingue e utilizza chunking intelligente per gestire testi di qualsiasi lunghezza.

📋 Caratteristiche

  • Supporto multi-lingua: 30+ lingue (cinese, inglese, spagnolo, francese, tedesco, italiano, giapponese, coreano, russo, arabo, e molte altre)
  • Gestione testi lunghi: Chunking automatico a 500 token per elaborare documenti estesi
  • UI moderna e responsiva: Design elegante con gradient background e animazioni fluide
  • Barra di progresso: Visualizzazione in tempo reale dell'elaborazione dei chunk
  • Ottimizzazione modello: Parametri top_p=0.6 e repeat_penalty=1.1 per miglior qualità
  • Copia negli appunti: Pulsante per copiare la traduzione con un click
  • Gestione errori robusta: Messaggi di errore chiari e dettagliati
  • Health check: Verificare lo stato di Ollama e i modelli disponibili

🚀 Installazione Rapida

Prerequisiti

  • Python 3.8+
  • Ollama in esecuzione su 192.168.0.170:11434 con il modello xieweicong95/HY-MT1.5-1.8B scaricato

Step 1: Clona o crea la directory del progetto

mkdir ollama-traduttore cd ollama-traduttore

Step 2: Crea l'ambiente virtuale

Su Windows (CMD o PowerShell): python -m venv venv venv\Scripts\activate

Su Linux/Mac: python3 -m venv venv source venv/bin/activate

Step 3: Installa le dipendenze

pip install -r requirements.txt

Step 4: Assicurati che Ollama sia pronto

Verifica che Ollama sia in esecuzione

ollama list

Se il modello non è presente, scaricalo

ollama pull xieweicong95/HY-MT1.5-1.8B

Avvia Ollama (se non è già running)

ollama serve

Step 5: Avvia l'applicazione

python app.py

L'applicazione sarà disponibile su: http://localhost:5000

📁 Struttura del Progetto

ollama-traduttore/ ├── app.py # Backend Flask ├── requirements.txt # Dipendenze Python ├── templates/ │ └── index.html # Frontend HTML/CSS/JS └── venv/ # Ambiente virtuale

🔧 Configurazione

Cambiare l'indirizzo di Ollama

Se Ollama è su un indirizzo/porta diverso, modifica app.py:

OLLAMA_BASE_URL = "http://192.168.0.170:11434" # Cambia questo

Cambiare il modello

Per usare un modello diverso, modifica in app.py:

OLLAMA_MODEL = "xieweicong95/HY-MT1.5-1.8B" # Cambia questo

Regolare i parametri di traduzione

I parametri di qualità sono configurabili in app.py:

OLLAMA_PARAMS = { "top_p": 0.6, # Diversità del sampling (0.0-1.0) "repeat_penalty": 1.1 # Penalità per ripetizioni (1.0-2.0) }

📖 Come Usare

  1. Incolla il testo da tradurre nella textarea
  2. Seleziona la lingua di destinazione dal dropdown
  3. Opzionalmente, specifica la lingua sorgente (default: autodetect)
  4. Clicca "Traduci" e attendi il completamento
  5. Copia la traduzione con il pulsante "Copia" o selezionala manualmente

Lingue Supportate

Principali / Molto comuni

  • Cinese (mandarino) semplificato
  • Cinese tradizionale
  • Cantonese (dialetto)
  • Inglese
  • Spagnolo
  • Francese
  • Tedesco
  • Italiano
  • Portoghese
  • Giapponese
  • Coreano
  • Russo
  • Arabo
  • Turco

Europee e minori

  • Olandese
  • Polacco
  • Ceco
  • Islandese
  • Estone
  • Ucraino

Asia e Medio Oriente

  • Vietnamita
  • Tailandese
  • Malese
  • Indonesiano
  • Filippino / Tagalog
  • Birmano (Myanmar)
  • Khmer / Cambogiano
  • Persiano
  • Ebraico
  • Hindi
  • Marathi
  • Bengali
  • Tamil
  • Gujarati

🔌 API Endpoints

POST /api/translate

Traduce un testo usando Ollama.

Request: { "prompt": "Translate the following text into [Language]...", "model": "xieweicong95/HY-MT1.5-1.8B", "stream": false }

Response: { "success": true, "translation": "Testo tradotto...", "response": "Testo tradotto...", "model": "xieweicong95/HY-MT1.5-1.8B" }

GET /api/health

Verifica lo stato di Ollama e i modelli disponibili.

Response: { "status": "healthy", "ollama_url": "http://192.168.0.170:11434", "available_models": ["xieweicong95/HY-MT1.5-1.8B", "..."], "target_model": "xieweicong95/HY-MT1.5-1.8B", "model_available": true }

🛠️ Troubleshooting

Errore: "Impossibile connettersi a Ollama"

  1. Verifica che Ollama sia in esecuzione: ollama serve
  2. Controlla l'indirizzo IP e la porta in app.py
  3. Assicurati che il firewall non blocchi la connessione

Errore: "Modello non trovato"

Scarica il modello: ollama pull xieweicong95/HY-MT1.5-1.8B

Timeout della richiesta

Aumenta il timeout in app.py: timeout=300 # Aumenta da 300 secondi (5 minuti)

Traduzione lenta

  • Riduci il numero di chunk aumentando maxTokens in index.html
  • Aumenta le risorse assegnate a Ollama
  • Considera l'uso di un modello più piccolo

📊 Performance

  • Tempo di risposta: Dipende dal modello e dalla lunghezza del testo
  • Limite chunk: 500 token (configurabile)
  • Timeout: 5 minuti per chunk
  • RAM consigliata: Almeno 8GB per il modello HY-MT1.5-1.8B

🔐 Sicurezza

  • L'applicazione è accessibile solo in locale per impostazione predefinita
  • I dati non vengono salvati, solo elaborati in tempo reale
  • Usa HTTPS in produzione

📝 Licenza

Questo progetto utilizza Ollama (Open Source) e Flask (BSD License).

🤝 Contributi

Suggerimenti e miglioramenti sono benvenuti!

📧 Supporto

Per problemi o domande:

  1. Verifica il section Troubleshooting
  2. Controlla i log di Flask per errori
  3. Assicurati che Ollama sia configurato correttamente

Versione: 1.0.0
Ultima modifica: Gennaio 2026
Modello: xieweicong95/HY-MT1.5-1.8B

Description
Web app per tradurre testi lunghi con Ollama
Readme 33 KiB
Languages
HTML 81.7%
Python 18.3%