Sto lavorando su un'applicazione Eclipse RCP con localizzazione. Un utente dovrebbe essere in grado di cambiare la lingua utilizzata nell'applicazione al volo. Un riavvio dell'applicazione non dovrebbe avvenire durante questo cambio di lingua. Dovrebbe anche essere possibile passare da una lingua scritta da sinistra a destra e da una lingua scritta da destra a sinistra.
C'è un (buono) modo per risolvere questo problema?Cambio di lingua dinamico in un'applicazione Eclipse RCP
risposta
Secondo this thread:
La maggior parte delle librerie di eclissi di carico fino loro informazioni lingua sulla creazione di widget. Se in seguito cambi la tua localizzazione, devi riavviare eclipse per renderla effettiva.
Si potrebbe scrivere quel tipo di comportamento dinamico nel proprio programma di SWT, però (quando gli interruttori di locale, avresti bisogno di chiamare
setText(*)
su tutto :-)
quindi questo non è attualmente gestita in modo dinamico a meno che non si programma da soli ...
Altri RCP/plugins applicazione like Birt specificare le stesse istruzioni (vale a dire "Restart Eclipse" alla fine ...)
0.123.
Detto questo, un problema leggermente diverso è stato fissato in this thread:
interruttore l'impostazione della lingua, riavvio, e quindi eseguire in quella lingua
ho preso a lavorare con la lettura bug 222023 e imitando
org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction
ho provato manualmente:
- aggiunto "
-configuration @user.home/.myapp/configuration
" al launcher.ini- aggiunto "
osgi.nl
" agli utenticonfig.ini
residenti lì e ha funzionato.Dal momento posso accedere al
config-Location
viaPlatform.getConfigurationLocation()
immagino che potrebbe essere la strada.
Nota: l'aggiunta di "osgi.nl
" al webstart JNLP works too.
È possibile ottenere automaticamente "tutto" (per richiamare setText (*) su)? – zizzo
È necessario chiamare setText su ciascun widget, con il rispettivo testo. Dal momento che non esiste una mappatura delle variabili di testo sui widget, è necessario farlo anche manualmente.
La difficoltà è che non credo che si possa chiamare 'setText (*)' su tutto automaticamente ... – VonC