0.7.10: cambio lingua in due mosse + diagnosi lingua nel /layout

Misurato in container: la ricarica della radice ri-traduce, il catalogo si trova
anche con it_IT. La ricarica ora scarica la radice prima di ricaricarla, cosi'
non dipende da un comportamento di setSource che cambia fra versioni di Qt.
This commit is contained in:
Carlo
2026-10-11 19:01:07 +02:00
parent 78eb283c9b
commit e9527f66bb
8 changed files with 115 additions and 54 deletions
+26 -1
View File
@@ -600,7 +600,32 @@ la domanda "cos'è la striscia bianca sotto l'acqua calda?").
Regola: un indicatore permanente che resta sempre allo stesso valore è rumore.
Se un giorno servisse, va ancorato a qualcosa che cambia davvero.
## 21. Conseguenze dell'uso reale (0.7.0)
## 22. Il cambio lingua — v0.7.10
Carlo: *"Tutto perfetto. Solo il cambio lingua non sembra funzionare"*.
Misurato invece che dedotto, con un banco vero in container (Qt 5.15, non 5.6:
differenza che conta). Esiti:
1. installare il traduttore **non** ri-traduce le stringhe gia' a schermo
(conferma: Qt 5.6 non ha `retranslate()`);
2. `setSource()` con la **stessa** url **ri-traduce** (House -> Casa): la
tecnica dell'app e' quella giusta;
3. il catalogo si trova **anche** con locale `it_IT`: `load()` ripiega sul nome
accorciato `it`; e nel pacchetto sta in
`/usr/share/harbour-aira/translations/harbour-aira-it.qm`, la cartella che
l'app cerca.
Restava un'unica differenza fra banco e telefono: la versione di Qt. La
ricarica si affidava a un comportamento di `setSource(stessa url)` che cambia
fra versioni, quindi ora si fa in due mosse — radice scaricata con url vuota,
poi ricaricata: cosi' il componente **deve** essere ricreato, su qualunque Qt.
E per non indovinare piu': la Home manda al `/layout` anche `lingua`, `locale` e
`catalogo`, cosi' il registro del bridge dice cosa sta usando davvero il
telefono.
## 23. Conseguenze dell'uso reale (0.7.0)
Deciso con l'uso, non in anticipo: