summaryrefslogtreecommitdiff
path: root/src/i18n/Engine.hpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2025-11-16 14:51:14 +0000
committerGitHub <noreply@github.com>2025-11-16 14:51:14 +0000
commite616e595ae5c1af89a336e4e337a41b9855eaf6e (patch)
tree328dd136e65963d1e47864af3feafcc304fc280d /src/i18n/Engine.hpp
parentcb47eb1d11bbac1ebab8f9cd7a5f96a475eaab28 (diff)
i18n: init localization for ANR, Permissions and Notifications (#12316)
Adds localization support for en, it, pl and jp --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Aaron Blasko <blaskoazzolaaaron@gmail.com>
Diffstat (limited to 'src/i18n/Engine.hpp')
-rw-r--r--src/i18n/Engine.hpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/i18n/Engine.hpp b/src/i18n/Engine.hpp
new file mode 100644
index 00000000..d1182632
--- /dev/null
+++ b/src/i18n/Engine.hpp
@@ -0,0 +1,50 @@
+#pragma once
+
+#include "../helpers/memory/Memory.hpp"
+#include <unordered_map>
+#include <cstdint>
+#include <string>
+
+namespace I18n {
+
+ enum eI18nKeys : uint8_t {
+ TXT_KEY_ANR_TITLE = 0,
+ TXT_KEY_ANR_CONTENT,
+ TXT_KEY_ANR_OPTION_TERMINATE,
+ TXT_KEY_ANR_OPTION_WAIT,
+ TXT_KEY_ANR_PROP_UNKNOWN,
+
+ TXT_KEY_PERMISSION_REQUEST_UNKNOWN,
+ TXT_KEY_PERMISSION_REQUEST_SCREENCOPY,
+ TXT_KEY_PERMISSION_REQUEST_PLUGIN,
+ TXT_KEY_PERMISSION_REQUEST_KEYBOARD,
+ TXT_KEY_PERMISSION_UNKNOWN_NAME,
+ TXT_KEY_PERMISSION_TITLE,
+ TXT_KEY_PERMISSION_PERSISTENCE_HINT,
+ TXT_KEY_PERMISSION_ALLOW,
+ TXT_KEY_PERMISSION_ALLOW_AND_REMEMBER,
+ TXT_KEY_PERMISSION_ALLOW_ONCE,
+ TXT_KEY_PERMISSION_DENY,
+ TXT_KEY_PERMISSION_UNKNOWN_WAYLAND_APP,
+
+ TXT_KEY_NOTIF_EXTERNAL_XDG_DESKTOP,
+ TXT_KEY_NOTIF_NO_GUIUTILS,
+ TXT_KEY_NOTIF_FAILED_ASSETS,
+ TXT_KEY_NOTIF_INVALID_MONITOR_LAYOUT,
+ TXT_KEY_NOTIF_MONITOR_MODE_FAIL,
+ TXT_KEY_NOTIF_MONITOR_AUTO_SCALE,
+ TXT_KEY_NOTIF_FAILED_TO_LOAD_PLUGIN,
+ TXT_KEY_NOTIF_CM_RELOAD_FAILED,
+ TXT_KEY_NOTIF_WIDE_COLOR_NOT_10B,
+ };
+
+ class CI18nEngine {
+ public:
+ CI18nEngine();
+ ~CI18nEngine() = default;
+
+ std::string localize(eI18nKeys key, const std::unordered_map<std::string, std::string>& vars = {});
+ };
+
+ SP<CI18nEngine> i18nEngine();
+}; \ No newline at end of file