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 0000000000000000000000000000000000000000..fd79fb98e1775286cea3a3994a171078cb1bd222 --- /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()); + } +}