From 45a6a870ffbd65a853c890b12645fb372cfe92d1 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 7 Feb 2021 12:30:45 +0100 Subject: [PATCH] Improve internationalization. --- org.argeo.cms/src/org/argeo/cms/LocaleUtils.java | 2 +- org.argeo.cms/src/org/argeo/cms/Localized.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/LocaleUtils.java b/org.argeo.cms/src/org/argeo/cms/LocaleUtils.java index 8101563d9..ec8c97f79 100644 --- a/org.argeo.cms/src/org/argeo/cms/LocaleUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/LocaleUtils.java @@ -94,7 +94,7 @@ public class LocaleUtils { } public static String lead(Localized localized) { - return lead(localized, getCurrentLocale()); + return lead(localized, localized.getL10nClassLoader()); } public static String lead(Localized localized, Locale locale) { diff --git a/org.argeo.cms/src/org/argeo/cms/Localized.java b/org.argeo.cms/src/org/argeo/cms/Localized.java index 0a3bd18a8..1a8c59715 100644 --- a/org.argeo.cms/src/org/argeo/cms/Localized.java +++ b/org.argeo.cms/src/org/argeo/cms/Localized.java @@ -8,6 +8,10 @@ import java.util.Locale; public interface Localized { String name(); + default ClassLoader getL10nClassLoader() { + return getClass().getClassLoader(); + } + /** Default assumes that this is an {@link Enum} */ default String local(Locale locale) { return LocaleUtils.local(this, locale); @@ -30,7 +34,7 @@ public interface Localized { default String lead(Locale locale) { return LocaleUtils.toLead(local(locale).toString(), locale); } - + static class Untranslated implements Localized { private String msg; -- 2.30.2