In QML ho la necessità di importare stringhe abbastanza lunghe da un file JavaScript esterno; tuttavia, se scrivo in questa maniera:
Codice: Seleziona tutto
import "texts.js" as Testi
...
Label {
...
text: i18n.tr(Testi.titolo['titolo'])
...
}Per risolvere questa situazione, ho pensato quanto segue:
- - creare tanti file JavaScript quante sono le traduzioni desiderate, ciascune contenenti variabili corrispondenti e appunto le stesse stringhe ma tradotte ovviamente nelle rispettive lingue (quindi in ogni file ci sarà una variabile titolo, ma con contenuto in lingue diverse, per poter, nel file .qml, chiamare la stringa sempre con lo stesso nome); chiamarli texts-it.js, texts-fr.js, texts-en.js etc...
- - all'inizio del file .qml in cui ho bisogno di tali stringhe, reperire dal dispositivo quale sia la lingua impostata dall'utente sul dispositivo
- - quindi in base alla lingua ottenuta nel punto precedente, tramite uno switch o qualcosa del genere, importare il file JavaScript corrispondente
Edit: oppure va bene fare tutto con il file .pot, anche se si tratta di stringhe abbastanza grandi, quindi tralasciando il file JS?
