1.3. Adaptation de l'application
Note > Le code source final de cet exemple et les fichiers d'éléments associés sont
disponibles dans le projet traduction .
Une fois les fichiers .ts traduits, lrelease les transforme en une représentation
binaire facile à charger à l'exécution.
lrelease biblioapp.en_US.ts
lrelease biblioapp.fr_FR.ts
Ensuite, dans le code Python qui charge l'interface Qt Quick, trois lignes suffisent pour
charger la traduction : créer un objet QTranslator (qui se chargera d'effectuer la
traduction), lui donner le fichier de traduction voulu, puis indiquer à QApplication de
l'utiliser pour la traduction.
app = QApplication(sys.argv)
translator = QTranslator()
translator.load(QLocale(), 'biblioapp', '.')
app.installTranslator(translator)
La syntaxe utilisée choisit automatiquement le fichier de traduction selon la langue
configurée par l'utilisateur. translator.load peut aussi prendre en argument le nom
du fichier à charger (par exemple, lors de tests, pour forcer la langue de l'interface
facilement).
Note > Pour charger un autre fichier de traduction, la même procédure s'applique :
un objet QTranslator est requis pour chaque fichier chargé. En cas de conflit pour la
traduction d'une chaîne donnée (même source, même contexte), le dernier
QTranslator installé aura la priorité.
Attention > Dans une application bien codée, avec des positionneurs, les différents
composants s'adapteront automatiquement à la taille des traductions. Cependant, si
les chaînes traduites sont beaucoup plus longues, d'autres adaptations seront peutêtre requises. À ce niveau, il est souvent utile de faire des tests en français et en
anglais : dans cette dernière langue, les chaînes seront très souvent assez courtes,
mais bien plus longues en français ; bon nombre de langues se situent, en moyenne,
entre ces deux extrêmes — même si des chaînes spécifiques peuvent s'en écarter
franchement.
399
Précédent

- 400/494

Suivant