X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fi18n%2FLocaleUtils.java;h=71a31413efb6086330020b1b7d5a92ee63753aa2;hb=9a5f846695f89d50908b8f6d7eb63e73a16d435f;hp=6253e585beeb50b25420f967157fc6d0e92718f9;hpb=972528f4de2d00690362c01d3ce843ca9cd10250;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/i18n/LocaleUtils.java b/org.argeo.cms/src/org/argeo/cms/i18n/LocaleUtils.java index 6253e585b..71a31413e 100644 --- a/org.argeo.cms/src/org/argeo/cms/i18n/LocaleUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/i18n/LocaleUtils.java @@ -1,69 +1,54 @@ package org.argeo.cms.i18n; -import java.util.ArrayList; import java.util.List; import java.util.Locale; -import java.util.ResourceBundle; -import org.argeo.eclipse.ui.specific.UiContext; +import org.argeo.cms.auth.CurrentUser; -/** Utilities simplifying the development of localization enums. */ +/** + * Utilities simplifying the development of localization enums. + * + * @deprecated Use {@link org.argeo.cms.LocaleUtils} + */ +@Deprecated public class LocaleUtils { public static Object local(Enum en) { - return local(en, getCurrentLocale(), "/OSGI-INF/l10n/bundle"); + return org.argeo.cms.LocaleUtils.local(en); } public static Object local(Enum en, Locale locale) { - return local(en, locale, "/OSGI-INF/l10n/bundle"); + return org.argeo.cms.LocaleUtils.local(en, locale); } public static Object local(Enum en, Locale locale, String resource) { - return local(en, locale, resource, en.getClass().getClassLoader()); + return org.argeo.cms.LocaleUtils.local(en, locale, resource); } - public static Object local(Enum en, Locale locale, String resource, - ClassLoader classLoader) { - ResourceBundle rb = ResourceBundle.getBundle(resource, locale, - classLoader); - return rb.getString(en.name()); + public static Object local(Enum en, Locale locale, String resource, ClassLoader classLoader) { + return org.argeo.cms.LocaleUtils.local(en, locale, resource, classLoader); } public static String lead(String raw, Locale locale) { - return raw.substring(0, 1).toUpperCase(locale) + raw.substring(1); + return org.argeo.cms.LocaleUtils.lead(raw, locale); } public static String lead(Localized localized) { - return lead(localized, getCurrentLocale()); + return org.argeo.cms.LocaleUtils.lead(localized); } public static String lead(Localized localized, Locale locale) { - return lead(localized.local(locale).toString(), locale); + return org.argeo.cms.LocaleUtils.lead(localized, locale); } static Locale getCurrentLocale() { - return UiContext.getLocale(); + return CurrentUser.locale(); + // return UiContext.getLocale(); + // FIXME look into Subject or settings + // return Locale.getDefault(); } /** Returns null if argument is null. */ public static List asLocaleList(Object locales) { - if (locales == null) - return null; - ArrayList availableLocales = new ArrayList(); - String[] codes = locales.toString().split(","); - for (int i = 0; i < codes.length; i++) { - String code = codes[i]; - // variant not supported - int indexUnd = code.indexOf("_"); - Locale locale; - if (indexUnd > 0) { - String language = code.substring(0, indexUnd); - String country = code.substring(indexUnd + 1); - locale = new Locale(language, country); - } else { - locale = new Locale(code); - } - availableLocales.add(locale); - } - return availableLocales; + return org.argeo.cms.LocaleUtils.asLocaleList(locales); } }