From 3384b21177a160f7192a2e4877eea3b29880bf4e Mon Sep 17 00:00:00 2001 From: Hop311 Date: Thu, 30 Mar 2023 14:04:58 +0100 Subject: Added Localisation (#77) * Added Localisation * Removed `.gdignore`s. * Localisation dir path and Locale name cleanup * Incomplete entry warnings + README --- game/src/Autoload/Events.gd | 1 + game/src/Autoload/Events/Localisation.gd | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 game/src/Autoload/Events/Localisation.gd (limited to 'game/src/Autoload') diff --git a/game/src/Autoload/Events.gd b/game/src/Autoload/Events.gd index f0f60b7..25a185f 100644 --- a/game/src/Autoload/Events.gd +++ b/game/src/Autoload/Events.gd @@ -1,3 +1,4 @@ extends Node var Options = preload("Events/Options.gd").new() +var Localisation = preload("Events/Localisation.gd").new() 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) -- cgit v1.2.3-56-ga3b1