import java.text.MessageFormat;
import java.util.Locale;
import java.util.Map;
import java.util.HashMap;
public class FruitMessage {
private static final Map<String, String> PATTERNS = new HashMap<>();
static {
PATTERNS.put("en", "{0,choice,0#There are no fruits.|1#There is one fruit.|1<There are {0,number} fruits.}");
// Spanish (0 = No hay, 1 = Hay una, >1 = Hay X)
PATTERNS.put("es", "{0,choice,0#No hay frutas.|1#Hay una fruta.|1<Hay {0,number} frutas.}");
// German (0 = Es gibt keine, 1 = Es gibt eine, >1 = Es gibt X)
PATTERNS.put("de", "{0,choice,0#Es gibt keine Früchte.|1#Es gibt eine Frucht.|1<Es gibt {0,number} Früchte.}");
// Romanian (0 = Nu există, 1 = Există un, >1 = Există X)
PATTERNS.put("ro", "{0,choice,0#Nu există fructe.|1#Există un fruct.|1<Există {0,number} fructe.}");
}
public static MessageFormat message (final Locale l) {
final var langCode = l.getLanguage();
final var pattern = PATTERNS.getOrDefault (langCode, PATTERNS.get("en"));
final var m = new MessageFormat (pattern, l);
return m;
// (count -> m.format (new Object[]{count}))
}
}