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