diff options
author | metamuffin <metamuffin@disroot.org> | 2024-08-14 20:13:12 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-08-14 20:13:12 +0200 |
commit | 67b9f32cef264a3e123bab496dd7f93d71de2775 (patch) | |
tree | 5d4cc80f1ccbfd9a7bc97e322a058da6571c9d21 | |
parent | 6fd67be7ef48983986ef3e1946db48e65e7700f3 (diff) | |
download | hurrycurry-67b9f32cef264a3e123bab496dd7f93d71de2775.tar hurrycurry-67b9f32cef264a3e123bab496dd7f93d71de2775.tar.bz2 hurrycurry-67b9f32cef264a3e123bab496dd7f93d71de2775.tar.zst |
show languages in their native language
-rw-r--r-- | client/global.gd | 29 |
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 |