blob: 946dc507e13b80aa20938a33d36652c829e61842 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
class_name Localisation
extends RefCounted
# REQUIREMENTS
# * SS-59, SS-60, SS-61
static 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")
static func load_localisation(dir_path : String) -> void:
if LoadLocalisation.load_localisation_dir(dir_path) != OK:
push_error("Error loading localisation directory: ", dir_path)
var loaded_locales : PackedStringArray = TranslationServer.get_loaded_locales()
print("Loaded ", loaded_locales.size(), " locales: ", loaded_locales)
# REQUIREMENTS
# * SS-57
# * FS-17
static func initialize():
var localisation_dir_path : String = ProjectSettings.get_setting("internationalization/locale/localisation_path", "")
if localisation_dir_path.is_empty():
push_error("internationalization/locale/localisation_path setting is empty!")
else:
Localisation.load_localisation(localisation_dir_path)
static func tr_number(num) -> String:
return TextServerManager.get_primary_interface().format_number(str(num))
|