summaryrefslogtreecommitdiff
path: root/client/global.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-08-14 20:13:12 +0200
committermetamuffin <metamuffin@disroot.org>2024-08-14 20:13:12 +0200
commit67b9f32cef264a3e123bab496dd7f93d71de2775 (patch)
tree5d4cc80f1ccbfd9a7bc97e322a058da6571c9d21 /client/global.gd
parent6fd67be7ef48983986ef3e1946db48e65e7700f3 (diff)
downloadhurrycurry-67b9f32cef264a3e123bab496dd7f93d71de2775.tar
hurrycurry-67b9f32cef264a3e123bab496dd7f93d71de2775.tar.bz2
hurrycurry-67b9f32cef264a3e123bab496dd7f93d71de2775.tar.zst
show languages in their native language
Diffstat (limited to 'client/global.gd')
-rw-r--r--client/global.gd29
1 files changed, 19 insertions, 10 deletions
diff --git a/client/global.gd b/client/global.gd
index c7c9d906..d6d9973f 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -42,7 +42,7 @@ var using_joypad := false
var using_touch := false
var default_settings := {
- "language": DropdownSetting.new(tr("Language"), 0, languages),
+ "language": DropdownSetting.new(tr("Language"), 0, languages.map(func (e): return e[1])),
"master_volume": RangeSetting.new(tr("Master Volume"), 0, -30, 0),
"music_volume": RangeSetting.new(tr("Music Volume"), 0, -30, 0),
"sfx_volume": RangeSetting.new(tr("SFX Volume"), 0, -30, 0),
@@ -195,13 +195,9 @@ func apply_settings():
emit_signal("settings_changed")
func update_language():
- var lang_idx: int = get_setting("language")
- var lang = languages[lang_idx]
-
- if lang_idx != 0: # 0 is system language
- TranslationServer.set_locale(lang)
- else:
- TranslationServer.set_locale(OS.get_locale_language())
+ var language = languages[get_setting("language")][0]
+ if language == "system": language = OS.get_locale_language()
+ TranslationServer.set_locale(language)
func update_fullscreen():
match get_setting("fullscreen"):
@@ -340,7 +336,20 @@ func find_menu(node: Node) -> Menu:
if node is Menu: return node
else: return find_menu(node.get_parent())
+const NATIVE_LANGUAGE_NAMES = {
+ "en": "English",
+ "de": "Deutsch",
+ "fr": "Français",
+ "es": "Español",
+ "ja": "日本語",
+ "he": "עִברִית",
+ "tr": "Türkçe",
+ "fi": "suomen",
+}
+
+func language_display(l: String): return "%s (%s)" % [NATIVE_LANGUAGE_NAMES[l], l]
func language_array() -> Array:
- var lang: Array = [tr("System default"), "en"]
- lang.append_array(TranslationServer.get_loaded_locales())
+ var lang: Array = [["system", tr("System default")], ["en", language_display("en")]]
+ for l in TranslationServer.get_loaded_locales():
+ lang.append([l, language_display(l)])
return lang