From: Mathieu Date: Thu, 1 Dec 2022 06:30:22 +0000 (+0100) Subject: Improve localisation X-Git-Tag: v2.3.11~2 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=8ff5ddc4f02cb29cc3c1d5d06958bc495b9f9531 Improve localisation --- diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java index 25a7258..f0de1ca 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java @@ -2,6 +2,7 @@ package org.argeo.app.ui.people; import org.argeo.api.acr.Content; import org.argeo.api.acr.ContentSession; +import org.argeo.api.acr.ldap.LdapAcrUtils; import org.argeo.api.acr.ldap.LdapAttr; import org.argeo.api.acr.ldap.LdapObj; import org.argeo.api.acr.spi.ProvidedContent; @@ -71,13 +72,9 @@ public class GroupUiProvider implements SwtUiProvider { // title // TODO localise at content level - String title; - if (context.hasContentClass(LdapObj.organization)) - title = SuiteMsg.org.lead() + " " + context.attr(LdapAttr.cn) + " (" - + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")"; - else - title = SuiteMsg.group.lead() + " " + context.attr(LdapAttr.cn) + " (" - + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")"; + String title = (context.hasContentClass(LdapObj.organization) ? SuiteMsg.org.lead() : SuiteMsg.group.lead()) + + " " + LdapAcrUtils.getLocalized(context, LdapAttr.cn.qName(), CurrentUser.locale()) + " (" + + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")"; SuiteUiUtils.addFormLabel(area, title); // toolbar diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java index c8c4ae1..9dae8a4 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java @@ -1,10 +1,12 @@ package org.argeo.app.ui.people; import org.argeo.api.acr.Content; +import org.argeo.api.acr.ldap.LdapAcrUtils; import org.argeo.api.acr.ldap.LdapAttr; import org.argeo.api.acr.ldap.LdapObj; import org.argeo.api.cms.ux.CmsIcon; import org.argeo.app.ui.SuiteIcon; +import org.argeo.cms.CurrentUser; import org.argeo.cms.auth.UserAdminUtils; import org.argeo.cms.ux.widgets.Column; import org.osgi.service.useradmin.User; @@ -16,9 +18,11 @@ public class UserColumn implements Column { return UserAdminUtils.getUserDisplayName(role.adapt(User.class)); else if (role.hasContentClass(LdapObj.organization)) return role.attr(LdapAttr.o); - else if (role.hasContentClass(LdapObj.groupOfNames)) - return role.attr(LdapAttr.cn); - else + else if (role.hasContentClass(LdapObj.groupOfNames)) { + // TODO make it more generic at ACR level + Object label = LdapAcrUtils.getLocalized(role, LdapAttr.cn.qName(), CurrentUser.locale()); + return label.toString(); + } else return null; }