From ab6cd79fcc3e70135656b0fb4c7a7b6456692b53 Mon Sep 17 00:00:00 2001 From: Kristyna Fuchsova <492905@fi.muni.cz> Date: Sun, 30 Jan 2022 17:43:13 +0100 Subject: [PATCH] Adds Localization class --- .../muni/fi/pv168/project/ui/i18n/I18N.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/cz/muni/fi/pv168/project/ui/i18n/I18N.java diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/i18n/I18N.java b/src/main/java/cz/muni/fi/pv168/project/ui/i18n/I18N.java new file mode 100644 index 00000000..fd79fb98 --- /dev/null +++ b/src/main/java/cz/muni/fi/pv168/project/ui/i18n/I18N.java @@ -0,0 +1,29 @@ +package cz.muni.fi.pv168.project.ui.i18n; + +import java.text.MessageFormat; +import java.util.ResourceBundle; + +public final class I18N { + + private final ResourceBundle bundle; + private final String prefix; + + public I18N(Class<?> clazz) { + var packagePath = clazz.getPackageName().replace(".", "/") + '/'; + System.out.println(packagePath); + bundle = ResourceBundle.getBundle(packagePath + "i18n"); + prefix = clazz.getSimpleName() + "."; + } + + public String getString(String key) { + return bundle.getString(prefix + key); + } + + public String getFormattedMessage(String key, Object... arguments) { + return MessageFormat.format(getString(key), arguments); + } + + public <E extends Enum<E>> String getString(E key) { + return bundle.getString(key.getClass().getSimpleName() + "." + key.name()); + } +} -- GitLab