Files
harbour-hermes/translations/harbour-hermes-it.ts
T
kaneda c5c4049030 fix(api): watchdog con timeout su tutte le richieste — mai piu' attese infinite (v0.5.1)
Sintomo sul device: l'app restava sullo splash in caricamento per sempre.
Causa: QNetworkAccessManager non applica timeout — una richiesta che non
riceve risposta (rete del telefono, server occupato) lasciava la UI in
attesa infinita, senza errori visibili.

- ApiClient::armTimeout(): watchdog per reply (abort -> normale percorso
  d'errore del chiamante). Applicato a: checkAuth (12 s), login (20 s),
  refreshSessions e openSession (60 s), newSession/chat-start/switchProfile
  (20-30 s), fetchProfiles (20 s), transcribe (300 s), tts (120 s).
  Nessun watchdog sullo stream SSE (longevo per design).
- checkAuth: imposta lastError anche in errore (messaggio tradotto
  "Server not reachable (timeout)") e logga indirizzo ed esito
- refreshSessions: log della durata (misurato sul probe: il primo fetch
  dopo un cambio profilo puo' prendere 11-16 s lato server, anche su DB
  minuscolo — l'app ora lo gestisce senza sembrare bloccata)
- SplashPage: rete di sicurezza (se authChecked non arriva entro 15 s si
  va comunque al login) + log di instradamento
- i18n: nuova stringa tradotta it/fr/de
2026-09-13 07:37:12 +02:00

457 lines
17 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="it_IT">
<context>
<name>ApiClient</name>
<message>
<location filename="../src/apiclient.cpp" line="92" />
<source>Authentication required</source>
<translation>Autenticazione richiesta</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="94" />
<source>HTTP %1</source>
<translation>HTTP %1</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="162" />
<source>Server not reachable (timeout)</source>
<translation>Server non raggiungibile (timeout)</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="186" />
<source>Server address not configured</source>
<translation>Indirizzo del server non configurato</translation>
</message>
</context>
<context>
<name>ChatModel</name>
<message>
<location filename="../src/chatmodel.cpp" line="91" />
<source>No session open</source>
<translation>Nessuna sessione aperta</translation>
</message>
<message>
<location filename="../src/chatmodel.cpp" line="96" />
<source>Wait for the current reply</source>
<translation>Aspetta la risposta in corso</translation>
</message>
</context>
<context>
<name>ChatPage</name>
<message>
<location filename="../qml/pages/ChatPage.qml" line="41" />
<source>Chat</source>
<translation>Chat</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="50" />
<location filename="../qml/pages/ChatPage.qml" line="380" />
<source>Hermes is writing…</source>
<translation>Hermes sta scrivendo…</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="51" />
<location filename="../qml/pages/ChatPage.qml" line="382" />
<source>Speaking…</source>
<translation>Lettura…</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="58" />
<source>Voice mode: on</source>
<translation>Modalità voce: attiva</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="58" />
<source>Voice mode: off</source>
<translation>Modalità voce: disattiva</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="62" />
<source>Read last reply aloud</source>
<translation>Leggi l'ultima risposta</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="66" />
<source>Auto-read: on</source>
<translation>Auto-lettura: attiva</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="66" />
<source>Auto-read: off</source>
<translation>Auto-lettura: disattiva</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="70" />
<source>Stop playback</source>
<translation>Interrompi lettura</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="75" />
<source>Cancel run</source>
<translation>Annulla risposta</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="80" />
<source>Resync</source>
<translation>Risincronizza</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="143" />
<source>Recording… %1 — tap Stop to transcribe</source>
<translation>Registrazione… %1 — tocca Stop per trascrivere</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="144" />
<location filename="../qml/pages/ChatPage.qml" line="376" />
<source>Transcribing…</source>
<translation>Trascrizione…</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="162" />
<source>Stop</source>
<translation>Stop</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="162" />
<source>Mic</source>
<translation>Mic</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="178" />
<source>Message…</source>
<translation>Messaggio…</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="186" />
<source>Send</source>
<translation>Invia</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="331" />
<source>Voice mode off after repeated errors</source>
<translation>Modalità voce disattivata dopo errori ripetuti</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="348" />
<source>Wait for the current reply first</source>
<translation>Aspetta prima la risposta in corso</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="374" />
<source>● Listening — speak, I stop at the pause (tap to exit)</source>
<translation>● In ascolto — parla, mi fermo alla pausa (tocca per uscire)</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="378" />
<source>Sending…</source>
<translation>Invio…</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="383" />
<source>Voice mode on</source>
<translation>Modalità voce attiva</translation>
</message>
<message>
<location filename="../qml/pages/ChatPage.qml" line="404" />
<source>No reply to read yet</source>
<translation>Nessuna risposta da leggere</translation>
</message>
</context>
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="17" />
<source>1 message</source>
<translation>1 messaggio</translation>
</message>
<message>
<location filename="../qml/cover/CoverPage.qml" line="17" />
<source>%1 messages</source>
<translation>%1 messaggi</translation>
</message>
<message>
<location filename="../qml/cover/CoverPage.qml" line="28" />
<source>Recording…</source>
<translation>Registrazione…</translation>
</message>
<message>
<location filename="../qml/cover/CoverPage.qml" line="28" />
<source>Writing…</source>
<translation>Scrittura…</translation>
</message>
</context>
<context>
<name>LoginPage</name>
<message>
<location filename="../qml/pages/LoginPage.qml" line="14" />
<location filename="../qml/pages/LoginPage.qml" line="47" />
<source>Sign in</source>
<translation>Accedi</translation>
</message>
<message>
<location filename="../qml/pages/LoginPage.qml" line="22" />
<source>Use the same password you use in the Hermes Web UI in your browser.</source>
<translation>Usa la stessa password dell'Hermes Web UI nel browser.</translation>
</message>
<message>
<location filename="../qml/pages/LoginPage.qml" line="28" />
<source>Server</source>
<translation>Server</translation>
</message>
<message>
<location filename="../qml/pages/LoginPage.qml" line="36" />
<source>Password</source>
<translation>Password</translation>
</message>
<message>
<location filename="../qml/pages/LoginPage.qml" line="47" />
<source>Signing in…</source>
<translation>Accesso in corso…</translation>
</message>
</context>
<context>
<name>Recorder</name>
<message>
<location filename="../src/recorder.cpp" line="72" />
<source>No audio format available</source>
<translation>Nessun formato audio disponibile</translation>
</message>
</context>
<context>
<name>SessionsPage</name>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="18" />
<source>Sessions</source>
<translation>Sessioni</translation>
</message>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="22" />
<source>New session</source>
<translation>Nuova sessione</translation>
</message>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="26" />
<source>Refresh</source>
<translation>Aggiorna</translation>
</message>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="30" />
<source>Settings</source>
<translation>Impostazioni</translation>
</message>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="34" />
<source>Sign out</source>
<translation>Esci</translation>
</message>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="70" />
<source>No sessions</source>
<translation>Nessuna sessione</translation>
</message>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="71" />
<source>Pull down to create a new session</source>
<translation>Tira giù per creare una nuova sessione</translation>
</message>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="125" />
<source>1 message</source>
<translation>1 messaggio</translation>
</message>
<message>
<location filename="../qml/pages/SessionsPage.qml" line="125" />
<source>%1 messages</source>
<translation>%1 messaggi</translation>
</message>
</context>
<context>
<name>SettingsPage</name>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="24" />
<source>Settings</source>
<translation>Impostazioni</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="26" />
<source>Server</source>
<translation>Server</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="31" />
<source>Web UI address</source>
<translation>Indirizzo Web UI</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="40" />
<source>Sessions</source>
<translation>Sessioni</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="43" />
<source>Profile</source>
<translation>Profilo</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="68" />
<source>Voice</source>
<translation>Voce</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="71" />
<source>Read-aloud voice</source>
<translation>Voce di lettura</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="76" />
<location filename="../qml/pages/SettingsPage.qml" line="104" />
<source>(server default)</source>
<translation>(default del server)</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="92" />
<source>Voice presets (comma-separated)</source>
<translation>Preset voci (separati da virgola)</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="100" />
<source>TTS engine</source>
<translation>Motore TTS</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="120" />
<source>Engine presets (comma-separated)</source>
<translation>Preset motori (separati da virgola)</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="128" />
<source>Read replies aloud</source>
<translation>Leggi le risposte ad alta voce</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="129" />
<source>Speak every completed reply automatically</source>
<translation>Pronuncia automaticamente ogni risposta completata</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="134" />
<source>Voice dialog</source>
<translation>Dialogo vocale</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="137" />
<source>Send right after dictation</source>
<translation>Invia subito dopo la dettatura</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="138" />
<source>Send the transcribed text automatically, without tapping Send</source>
<translation>Invia il testo trascritto automaticamente, senza premere Invia</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="144" />
<source>Auto-stop pause</source>
<translation>Pausa di stop automatico</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="150" />
<source>1.0 second</source>
<translation>1,0 secondi</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="151" />
<source>1.5 seconds</source>
<translation>1,5 secondi</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="152" />
<source>2.0 seconds</source>
<translation>2,0 secondi</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="153" />
<source>3.0 seconds</source>
<translation>3,0 secondi</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="158" />
<source>Mic sensitivity</source>
<translation>Sensibilità microfono</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="162" />
<source>High (even soft voices)</source>
<translation>Alta (anche voci flebili)</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="163" />
<source>Medium</source>
<translation>Media</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="164" />
<source>Low (noisy rooms)</source>
<translation>Bassa (ambienti rumorosi)</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="168" />
<source>Account</source>
<translation>Account</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="172" />
<source>Sign out</source>
<translation>Esci</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="176" />
<source>About</source>
<translation>Informazioni</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="185" />
<source>Native client for the Hermes Web UI (hermes-webui): sessions, live streaming chat, server-side voice dictation and read-aloud.</source>
<translation>Client nativo per l'Hermes Web UI (hermes-webui): sessioni, chat in streaming, dettatura e lettura ad alta voce lato server.</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="199" />
<source>Profile: %1</source>
<translation>Profilo: %1</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="200" />
<source>Server active profile</source>
<translation>Profilo attivo sul server</translation>
</message>
<message>
<location filename="../qml/pages/SettingsPage.qml" line="224" />
<source>(server active)</source>
<translation>(attivo sul server)</translation>
</message>
</context>
<context>
<name>VoiceRecorder</name>
<message>
<location filename="../src/voicerecorder.cpp" line="71" />
<source>No audio input device</source>
<translation>Nessun dispositivo di ingresso audio</translation>
</message>
<message>
<location filename="../src/voicerecorder.cpp" line="94" />
<source>Audio input format not supported</source>
<translation>Formato audio di ingresso non supportato</translation>
</message>
<message>
<location filename="../src/voicerecorder.cpp" line="110" />
<source>Could not start audio capture</source>
<translation>Impossibile avviare la registrazione</translation>
</message>
<message>
<location filename="../src/voicerecorder.cpp" line="213" />
<source>Could not write the audio file</source>
<translation>Impossibile scrivere il file audio</translation>
</message>
</context>
</TS>