Je travaille sur une application Eclipse RCP avec localisation. Un utilisateur devrait être capable de changer la langue utilisée dans l'application à la volée. Un redémarrage de l'application ne doit pas avoir lieu pendant ce changement de langue. Il devrait également être possible de basculer entre les langues écrites de gauche à droite et les langues écrites de droite à gauche.
Existe-t-il une (bonne) façon de résoudre ce problème?Commutation de langage dynamique dans une application Eclipse RCP
Répondre
Selon this thread:
La plupart des bibliothèques Eclipse charger leur langue d'info sur la création d'un widget. Si vous modifiez vos paramètres régionaux par la suite, vous devez redémarrer Eclipse pour qu'elle prenne effet.
Vous pouvez écrire ce genre de comportement dynamique dans votre propre programme de SWT, cependant (lorsque les commutateurs de paramètres régionaux, vous aurez besoin d'appeler
setText(*)
sur tout :-)
Donc, ce n'est pas actuellement géré dynamiquement à moins de programmer vous-même ...
Autres applications/plugins rcp like Birt spécifier les mêmes instructions (par exemple "Redémarrer Eclipse" à la fin ...)
Cela dit, un problème légèrement différent a été mis en this thread:
Changer le réglage de la langue, le redémarrage, puis exécutez dans cette langue
je suis arrivé à travailler en lisant bug 222023 et mimer
org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction
Je l'ai essayé manuellement:
- ajouté "
-configuration @user.home/.myapp/configuration
" à launcher.ini- ajouté "
osgi.nl
" aux utilisateursconfig.ini
résidant là et cela a fonctionné.Depuis que je peux accéder au
config-Location
viaPlatform.getConfigurationLocation()
je suppose que cela pourrait être le chemin.
Note: ajouter "osgi.nl
" au webstart jnlp works too.
Est-il possible d'obtenir "tout" (pour appeler setText (*) on) automatiquement? – zizzo
Vous devez appeler setText sur chaque widget, avec le texte correspondant. Comme il n'y a pas de mappage de variable de texte sur les widgets, vous devrez également le faire manuellement.
La difficulté est que je ne crois pas que vous pouvez appeler 'setText (*)' sur tout automatiquement ... – VonC