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
+9 -1
View File
@@ -1,6 +1,6 @@
Name: harbour-hermes
Summary: Client for the Hermes Web UI with voice
Version: 0.3.2
Version: 0.4.0
Release: 1
Group: Qt/Qt
License: MIT
@@ -16,6 +16,7 @@ BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Multimedia)
BuildRequires: desktop-file-utils
BuildRequires: qt5-qttools-linguist
%description
Native Sailfish OS client for the Hermes Web UI (hermes-webui).
@@ -24,6 +25,12 @@ Sessions list, chat with live streaming replies, voice dictation
(server-side TTS), plus a hands-free conversation mode.
%changelog
* Sat Sep 12 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.4.0-1
- Localizzazione dell'interfaccia: italiano, inglese (sorgente),
francese e tedesco (78 stringhe per lingua); .qm generati con
sailfishapp_i18n e installati in /usr/share/harbour-hermes/translations,
caricati in base alla lingua di sistema; stringhe C++ in tr();
plurali dei messaggi corretti
* Sat Sep 12 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.3.2-1
- README: nota sui limiti delle voci TTS (allowlist del server; 400
invalid voice) e su come gestirli (voce vuota = default del server)
@@ -93,3 +100,4 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop || tr
%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
%{_datadir}/icons/hicolor/172x172/apps/%{name}.png
%{_datadir}/%{name}/qml
%{_datadir}/%{name}/translations