add support for different spoken text and audio

This commit is contained in:
betalars 2025-03-28 13:41:18 +01:00
parent d2137e0547
commit 067a70ae4f
3 changed files with 13 additions and 6 deletions

View File

@ -50,6 +50,9 @@ func _ready() -> void:
speech_slider.value_changed.connect(func(value): State.speech_volume = value)
sum_slider.value_changed.connect(func(value): State.main_volume = value)
text_lang_selector.item_selected.connect(func(value): State.text_language = value)
speech_lang_selector.item_selected.connect(func(value): State.speech_language = value)
changed.connect(func():has_changed = true)
%ResetButton.pressed.connect(_on_reset_button_pressed)

View File

@ -119,7 +119,7 @@ bus = &"music"
unique_name_in_owner = true
root_node = NodePath("../../SumSlider")
libraries = {
"": SubResource("AnimationLibrary_sfx55")
&"": SubResource("AnimationLibrary_sfx55")
}
[node name="Label3" type="Label" parent="VBoxContainer/GridContainer"]
@ -180,6 +180,7 @@ layout_mode = 2
selected = 0
item_count = 3
popup/item_0/text = "use system language"
popup/item_0/id = 0
popup/item_1/text = "English"
popup/item_1/id = 1
popup/item_2/text = "German"
@ -195,6 +196,7 @@ layout_mode = 2
selected = 0
item_count = 3
popup/item_0/text = "use system language"
popup/item_0/id = 0
popup/item_1/text = "English"
popup/item_1/id = 1
popup/item_2/text = "German"

View File

@ -103,8 +103,8 @@ var current_main_theme:Theme = preload("res://logic-scenes/themes/handwriting.th
set(value):
text_language = value
match text_language:
0: TranslationServer.set_locale("en")
1: TranslationServer.set_locale("de")
1: TranslationServer.set_locale("en")
2: TranslationServer.set_locale("de")
_: TranslationServer.set_locale(OS.get_locale())
@export_enum("system_locale", "english", "german") var speech_language: int = -1:
set(value):
@ -140,8 +140,8 @@ func load_user_settings():
file.close()
var parsed: Dictionary = JSON.parse_string(raw_json)
for kategory in parsed.keys():
for key in parsed[kategory].keys():
for kategory in parsed.values():
for key in kategory.keys():
set(key, parsed[key])
else:
@ -172,7 +172,9 @@ func save_settings():
"sfx_volume": sfx_volume,
"music_muted": music_muted,
"music_volume": music_volume,
"speech_volume": speech_volume
"speech_volume": speech_volume,
"speech_language": speech_language,
"text_language": text_language
},
"gameplay": {
"input_sensitivity": input_sensitivity,