X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fi18n%2FLocalized.java;h=535b5f225d04e7cedaa150faf6a286e57ab49f09;hb=ca59ec5bdf16364159d8d826306c90762192e12c;hp=b34cc6ca8e76038f231ed15bc9e127c76ce9726f;hpb=5146af93007c599cf9edb35d8b173753bc45a52f;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/i18n/Localized.java b/org.argeo.cms/src/org/argeo/cms/i18n/Localized.java index b34cc6ca8..535b5f225 100644 --- a/org.argeo.cms/src/org/argeo/cms/i18n/Localized.java +++ b/org.argeo.cms/src/org/argeo/cms/i18n/Localized.java @@ -1,8 +1,27 @@ package org.argeo.cms.i18n; +import java.text.MessageFormat; import java.util.Locale; /** Localized object. */ public interface Localized { - public Object local(Locale locale); + /** Default assumes that this is an {@link Enum} */ + default Object local(Locale locale) { + return LocaleUtils.local((Enum) this, locale); + } + + default String lead() { + return LocaleUtils.lead(this); + } + + default String format(Object[] args) { + Locale locale = LocaleUtils.getCurrentLocale(); + MessageFormat format = new MessageFormat(local(locale).toString(), locale); + return format.format(args); + } + + default String lead(Locale locale) { + return LocaleUtils.lead(local(locale).toString(), locale); + } + }