Liste de liens :
Liste de liens :
Cette page décrit le bug de changement de langue de TXM en version 64bits, et sa méthode de résolution. Le bug est corrigé pour la version 0.7.5. Ticket #203
Le changement de langue s'effectue depuis le menu “Fichier”/“Changer la langue”. Une liste déroulante permet de choisir la langue (anglais, français ou russe) et de valider le changement. Lors de la validation, l'application redémarre mais la nouvelle langue n'est pas appliquée. Pour l'obtenir il est alors nécessaire de fermer l'application et de la rouvrir.
TXM utilise des paramètres qui lui sont passés:
La ligne de commande fournit l'emplacement du fichier TXM.ini et des répertoires propres à TXM créés à l'installation. Ses arguments sont prioritaires sur le fichier TXM.ini
Le fichier TXM.ini contient les paramètres de l'application RCP et contenait avant la résolution du bug la valeur de la langue sous la forme: “-nl XX” avec XX la valeur de la locale (fr, en…).
La classe concernée est “LanguageSwitchHandler” issue du package “org.txm.rcpapplication.utils”.
Lors d'un changement de langue, la valeur de la locale de TXM.ini est modifiée en conséquence. L'application est redémarré par la suite.
On constate que le fichier TXM.ini est bien modifié mais il n'est pas pris en compte au redémarrage de l'application.
Cette méthode est basée sur sur ce ticket Eclipse. Elle consiste à modifier les paramètres de l'application RCP à son redémarrage. On fournit en plus la valeur de la locale.
Elle ne permet cependant pas de résoudre le problème, la modification n'est pas prise en compte.
TXM utilise un fichier config.ini interne à Eclipse RCP. Il est automatiquement chargé au démarrage et redémarrage de l'application.
La solution est d'y ajouter un champ “osgi.nl=XX” avec XX la valeur de la locale. Cette méthode est fonctionnelle.
En conséquence le fichier TXM.ini (contenant les arguments passés à l'application) ne contient plus “-nl XX”.
NK: afin de valider la méthode de résolution, elle a été testée avec succès sur ces différents systèmes: