Improve localisation.
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 24 Dec 2020 10:24:56 +0000 (11:24 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 24 Dec 2020 10:24:56 +0000 (11:24 +0100)
org.argeo.suite.ui/bnd.bnd
org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java

index 3b2d6fcb3b921c1ab48b48017e7c95b58beea179..b49d7361870165699427443e46b3d7c5be24fc26 100644 (file)
@@ -15,5 +15,4 @@ org.argeo.entity,\
 org.eclipse.core.commands.common,\
 org.eclipse.jface.window,\
 org.eclipse.jface.dialogs,\
 org.eclipse.core.commands.common,\
 org.eclipse.jface.window,\
 org.eclipse.jface.dialogs,\
-org.argeo.eclipse.ui.dialogs,\
 *
 *
index 5f251d53bf74383400325ac6cf29b33d7c24d789..b4ba8d270f12e70c751a49db3230957454e0597d 100644 (file)
@@ -6,6 +6,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
@@ -22,6 +23,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.api.NodeUtils;
 import org.argeo.cms.CmsUserManager;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.api.NodeUtils;
 import org.argeo.cms.CmsUserManager;
+import org.argeo.cms.LocaleUtils;
 import org.argeo.cms.auth.CmsSession;
 import org.argeo.cms.ui.AbstractCmsApp;
 import org.argeo.cms.ui.CmsTheme;
 import org.argeo.cms.auth.CmsSession;
 import org.argeo.cms.ui.AbstractCmsApp;
 import org.argeo.cms.ui.CmsTheme;
@@ -30,6 +32,7 @@ import org.argeo.cms.ui.CmsView;
 import org.argeo.cms.ui.dialogs.CmsFeedback;
 import org.argeo.cms.ui.util.CmsEvent;
 import org.argeo.cms.ui.util.CmsUiUtils;
 import org.argeo.cms.ui.dialogs.CmsFeedback;
 import org.argeo.cms.ui.util.CmsEvent;
 import org.argeo.cms.ui.util.CmsUiUtils;
+import org.argeo.eclipse.ui.specific.UiContext;
 import org.argeo.entity.EntityConstants;
 import org.argeo.entity.EntityNames;
 import org.argeo.entity.EntityType;
 import org.argeo.entity.EntityConstants;
 import org.argeo.entity.EntityNames;
 import org.argeo.entity.EntityType;
@@ -131,8 +134,8 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler {
                                refreshPart(findUiProvider(LOGIN_SCREEN_PID), ui.getBelowHeader(), context);
                                ui.layout(true, true);
                        } else {
                                refreshPart(findUiProvider(LOGIN_SCREEN_PID), ui.getBelowHeader(), context);
                                ui.layout(true, true);
                        } else {
+                               CmsSession cmsSession = cmsView.getCmsSession();
                                if (ui.getUserDir() == null) {
                                if (ui.getUserDir() == null) {
-                                       CmsSession cmsSession = cmsView.getCmsSession();
                                        Session adminSession = null;
                                        try {
                                                adminSession = NodeUtils.openDataAdminSession(getRepository(), null);
                                        Session adminSession = null;
                                        try {
                                                adminSession = NodeUtils.openDataAdminSession(getRepository(), null);
@@ -142,6 +145,7 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler {
                                                Jcr.logout(adminSession);
                                        }
                                }
                                                Jcr.logout(adminSession);
                                        }
                                }
+                               initLocale(cmsSession);
                                context = stateToNode(ui, state);
                                if (context == null)
                                        context = ui.getUserDir();
                                context = stateToNode(ui, state);
                                if (context == null)
                                        context = ui.getUserDir();
@@ -160,6 +164,13 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler {
                }
        }
 
                }
        }
 
+       private void initLocale(CmsSession cmsSession) {
+               Locale locale = cmsSession.getLocale();
+               UiContext.setLocale(locale);
+               LocaleUtils.setThreadLocale(locale);
+
+       }
+
        private void refreshPart(CmsUiProvider uiProvider, Composite part, Node context) {
                CmsUiUtils.clear(part);
                uiProvider.createUiPart(part, context);
        private void refreshPart(CmsUiProvider uiProvider, Composite part, Node context) {
                CmsUiUtils.clear(part);
                uiProvider.createUiPart(part, context);