diff options
author | hop311 <hop3114@gmail.com> | 2023-11-08 23:24:21 +0100 |
---|---|---|
committer | hop311 <hop3114@gmail.com> | 2023-11-16 00:24:28 +0100 |
commit | bc0b3c61ae0b742da304cada451fba1df72bb0ad (patch) | |
tree | 047968e7ea8189ad8391dcabbd09fee1d8cdc30c /extension/src/openvic-extension/singletons/LoadLocalisation.hpp | |
parent | 72d893d55d26ae9dc6739a853d1773b3cb286123 (diff) |
GUI elements -> Godot UI nodes generator
Diffstat (limited to 'extension/src/openvic-extension/singletons/LoadLocalisation.hpp')
-rw-r--r-- | extension/src/openvic-extension/singletons/LoadLocalisation.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/extension/src/openvic-extension/singletons/LoadLocalisation.hpp b/extension/src/openvic-extension/singletons/LoadLocalisation.hpp new file mode 100644 index 0000000..b093fdf --- /dev/null +++ b/extension/src/openvic-extension/singletons/LoadLocalisation.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include <godot_cpp/classes/translation.hpp> + +#include <openvic-simulation/dataloader/Dataloader.hpp> + +namespace OpenVic { + class LoadLocalisation : public godot::Object { + GDCLASS(LoadLocalisation, godot::Object) + + static inline LoadLocalisation* _singleton = nullptr; + + godot::Error _load_file(godot::String const& file_path, godot::Ref<godot::Translation> translation) const; + godot::Ref<godot::Translation> _get_translation(godot::String const& locale) const; + + protected: + static void _bind_methods(); + + public: + static LoadLocalisation* get_singleton(); + + LoadLocalisation(); + ~LoadLocalisation(); + + godot::Error load_file(godot::String const& file_path, godot::String const& locale) const; + godot::Error load_locale_dir(godot::String const& dir_path, godot::String const& locale) const; + godot::Error load_localisation_dir(godot::String const& dir_path) const; + + static bool add_message(std::string_view key, Dataloader::locale_t locale, std::string_view localisation); + }; +} |