diff options
author | Hop311 <Hop3114@gmail.com> | 2023-03-30 15:04:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-30 15:04:58 +0200 |
commit | 3384b21177a160f7192a2e4877eea3b29880bf4e (patch) | |
tree | db9c9a37a187e15ef494a700f8afe5d65c3a8b78 /game/src/Autoload/Events | |
parent | 8f213935bdea2400b6809f9d5db45dde3416dedc (diff) |
Added Localisation (#77)
* Added Localisation
* Removed `.gdignore`s.
* Localisation dir path and Locale name cleanup
* Incomplete entry warnings + README
Diffstat (limited to 'game/src/Autoload/Events')
-rw-r--r-- | game/src/Autoload/Events/Localisation.gd | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/game/src/Autoload/Events/Localisation.gd b/game/src/Autoload/Events/Localisation.gd new file mode 100644 index 0000000..eda7e51 --- /dev/null +++ b/game/src/Autoload/Events/Localisation.gd @@ -0,0 +1,30 @@ +extends RefCounted + +# REQUIREMENTS +# * SS-59, SS-60, SS-61 +func get_default_locale() -> String: + var locales := TranslationServer.get_loaded_locales() + var default_locale := OS.get_locale() + if default_locale in locales: + return default_locale + var default_language := OS.get_locale_language() + for locale in locales: + if locale.begins_with(default_language): + return default_language + return ProjectSettings.get_setting("internationalization/locale/fallback", "en_GB") + +func load_localisation(dir_path : String) -> void: + if LoadLocalisation.load_localisation_dir(dir_path) == OK: + print("loaded locales: ", TranslationServer.get_loaded_locales()) + else: + push_error("Failed to load localisation directory: ", dir_path) + +# REQUIREMENTS +# * SS-57 +# * FS-17 +func _init(): + var localisation_dir_path : String = ProjectSettings.get_setting("internationalization/locale/localisation_path", "") + if localisation_dir_path.is_empty(): + push_error("Missing localisation_path setting!") + else: + load_localisation(localisation_dir_path) |