Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[e4-dev] TranslationService and Locale in wrong context

Hi,

on implementing the Locale change for the application model I came across something.

The current set Locale and the TranslationService are put in the OSGi context. By discussing this fact with Tom Schindl, this is

1. a implementation detail
2. not intended

Usually only ExtendedObjectSupplier will get in touch with the OSGi context.


What is the downside of having the TranslationService in the OSGi context?

On implementing the Locale change we specified that it should be possible to specify in which context to change the Locale. Usually it should be the application context, as users usually want to change the localization of the whole application. (changing the Locale of all running OSGi applications that have access to the OSGi context is usually not intended).

Now if I set the new Locale in the application context, the TranslationService is not informed about that change, and therefore the application model is not re-localized.


What would be the necessary changes?

It should be a simple change in code. In E4Application the Locale and the TranslationService are put into the service context in createDefaultHeadlessContext(). This should be moved to createDefaultContext() and put into the application context.

A simple change in code that might have some impact I'm not quite sure about. So here's the question to the E4 experts:

Should I perform and contribute the change to put the TranslationService and the Locale into the application context?

Greez,
Dirk

Back to the top