Dynamische Sprachumschaltung in einer Eclipse-RCP-Anwendung
-
07-07-2019 - |
Frage
Ich arbeite an einer Eclipse-RCP-Anwendung mit Lokalisierung. Ein Benutzer sollte in der Lage sein, die Sprache in der Anwendung im laufenden Betrieb zu ändern. Ein Neustart der Anwendung sollte nicht stattfinden, während dieser Sprachumschaltung. Es sollte auch möglich sein, zwischen den Sprachen wechseln von links nach rechts geschrieben und Sprachen von rechts nach links geschrieben.
Gibt es einen (gut) Weg, um dieses Problem zu lösen?
Lösung
Nach diesem Thread :
Die meisten der Eclipse-Bibliotheken laden ihre Sprache Info über die Widget Schöpfung auf. Wenn Sie Ihren Standort ändern danach müssen Sie Eclipse neu zu starten, um es wirksam zu haben.
Sie können diese Art von dynamischem Verhalten in Ihr eigenes SWT-Programm schreiben, jedoch (wenn die locale Schalter, Sie müssen
setText(*)
auf alles nennen: -)
Das ist also nicht aktuell verwalteten dynamisch , wenn Sie programmieren es selbst ...
Andere RCP / plugins Anwendung wie Birt die gleichen Anweisungen geben (dh am Ende "Restart Eclipse" ...)
Wie gesagt, ein etwas anderes Problem in diese gesetzt wurde fädeln :
schalten Sie die Spracheinstellung, neu starten und dann in dieser Sprache ausführen
habe ich es durch das Lesen bug 222023 zu arbeiten und imitiert
org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction
Ich habe versucht, es manuell:
- hinzugefügt "
-configuration @user.home/.myapp/configuration
" zu dem launcher.ini- hinzugefügt "
osgi.nl
" an die Benutzerconfig.ini
dort ihren Wohnsitz haben und es hat funktioniert.Da ich die
config-Location
überPlatform.getConfigurationLocation()
zugreifen kann denke ich, dass der Weg sein könnte.
Hinweis: Hinzufügen von "osgi.nl
" der webstart jnlp Werke auch .
Andere Tipps
Sie müßten setText für jedes Widget, mit dem jeweiligen Text nennen. Da es kein Textvariablen-Mapping auf dem Widgets ist, würden Sie das auch vollständig manuell zu tun haben.