feat(i18n): localizzazione interfaccia — italiano, francese, tedesco (v0.4.0)

- translations/: harbour-hermes-it/fr/de.ts (78 stringhe ciascuna, 100%
  tradotte) + caricamento in main.cpp in base alla lingua di sistema
- .pro: CONFIG += sailfishapp_i18n + TRANSLATIONS (pattern ufficiale
  Sailfish: .qm generati in build e installati in
  /usr/share/harbour-hermes/translations)
- stringhe visibili del core in tr(): ApiClient, ChatModel, Recorder
  (VoiceRecorder era gia' ok); plurali dei messaggi corretti
  (1 message / %1 messages) in SessionsPage e CoverPage
- spec: BuildRequires qt5-qttools-linguist + %files translations
- README/BUILD: sezione Localization + workflow lupdate/lrelease

Verificato: lupdate 78/78 per it/fr/de, lrelease OK, e test runtime di
caricamento .qm (tutte le traduzioni risolte nei contesti corretti).
This commit is contained in:
2026-09-12 22:37:32 +02:00
parent 48467b372d
commit 22ccb49424
13 changed files with 1357 additions and 17 deletions
+21 -3
View File
@@ -14,6 +14,8 @@ chat with your Hermes agent from the phone — and use it with your **voice**.
QMediaPlayer; optional auto-read of every completed reply
- **Voice dialog (hands-free)**: continuous listen → transcribe → send →
read-aloud loop, auto-stopping on speech pauses (tunable)
- **Localized UI**: English (source), Italian, French and German — follows
the system language
- Cancel a running turn, resync from server state, cover page
## Requirements
@@ -47,6 +49,22 @@ requires a server address.
> pick another one, leave the voice empty (server default), or add your
> language's voices to your own `hermes-webui`.
## Localization
The UI follows the system language: English is the source language, and
Italian, French and German translations live in `translations/*.ts`. At build
time (`sailfishapp_i18n`) the `.qm` files are generated and installed to
`/usr/share/harbour-hermes/translations`, where the app loads them on startup.
After changing UI strings:
```bash
lupdate -no-obsolete -recursive src qml \
-ts translations/harbour-hermes-it.ts \
translations/harbour-hermes-fr.ts \
translations/harbour-hermes-de.ts
# then edit the .ts files and rebuild
```
## Build
See [docs/BUILD.md](docs/BUILD.md) (Sailfish SDK, `sfdk build` / `sfdk deploy`)
@@ -55,6 +73,6 @@ speaks (validated live against a real instance).
## Status
Version 0.3.2 — protocol and C++ core validated against a real `hermes-webui`
(login, sessions, streaming chat, TTS, STT, voice dialog); on-device testing
still ongoing.
Version 0.4.0 — protocol and C++ core validated against a real `hermes-webui`
(login, sessions, streaming chat, TTS, STT, voice dialog); UI in English,
Italian, French and German; on-device testing still ongoing.