translation improvements
This commit is contained in:
+37
-21
@@ -4,18 +4,16 @@ extends Control
|
||||
@onready var players_turning = [$Panel/SubViewportContainer/SubViewport/Players/Player1/MeshInstance3D,
|
||||
$Panel/SubViewportContainer/SubViewport/Players/Player2/MeshInstance3D,
|
||||
$Panel/SubViewportContainer/SubViewport/Players/Player3/MeshInstance3D]
|
||||
var locale = ""
|
||||
@onready var language_button: Button = $language
|
||||
|
||||
const FLAG_DE = preload("res://assets/Images/de.svg")
|
||||
const FLAG_US = preload("res://assets/Images/us.svg")
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
$AnimationPlayer.play("turning")
|
||||
locale = OS.get_locale_language()
|
||||
if locale == "de":
|
||||
TranslationServer.set_locale(locale)
|
||||
else:
|
||||
locale = "en"
|
||||
TranslationServer.set_locale(locale)
|
||||
|
||||
_update_language_button()
|
||||
|
||||
|
||||
func selected_via_click(chosen_player: int) -> void:
|
||||
player_panel_array[Global.PlayerSelection].get_theme_stylebox('panel').border_color = Color('cccccc')
|
||||
@@ -34,14 +32,22 @@ func _on_button_2_pressed() -> void:
|
||||
|
||||
func _on_button_3_pressed() -> void:
|
||||
selected_via_click(2)
|
||||
|
||||
|
||||
func _change_language() -> void:
|
||||
if locale == "de":
|
||||
locale = "en"
|
||||
TranslationServer.set_locale(locale)
|
||||
if Global.locale == "de":
|
||||
Global.apply_locale("en")
|
||||
else:
|
||||
locale = "de"
|
||||
TranslationServer.set_locale(locale)
|
||||
Global.apply_locale("de")
|
||||
_update_language_button()
|
||||
|
||||
|
||||
func _update_language_button() -> void:
|
||||
# Show the flag of the language you can switch TO
|
||||
language_button.text = ""
|
||||
language_button.icon = FLAG_US if Global.locale == "de" else FLAG_DE
|
||||
language_button.expand_icon = true
|
||||
language_button.custom_minimum_size = Vector2(48, 32)
|
||||
|
||||
|
||||
func _on_start_pressed() -> void:
|
||||
var mesh = players_turning[Global.PlayerSelection].mesh.duplicate()
|
||||
@@ -61,19 +67,29 @@ func _on_line_edit_text_changed(new_text: String) -> void:
|
||||
|
||||
func _on_impressum_pressed() -> void:
|
||||
$Panel2.visible = true
|
||||
$Panel2/Label.text = load_text_file('res://Resources/documents/impressum.txt')
|
||||
$Panel2/Label.text = load_localized_document("impressum")
|
||||
|
||||
|
||||
func _on_datenschutz_pressed() -> void:
|
||||
$Panel2.visible = true
|
||||
$Panel2/Label.text = load_text_file('res://Resources/documents/datenschutz.txt')
|
||||
$Panel2/Label.text = load_localized_document("datenschutz")
|
||||
|
||||
|
||||
func _on_button_pressed() -> void:
|
||||
$Panel2.visible = false
|
||||
|
||||
|
||||
func load_text_file(path: String):
|
||||
|
||||
|
||||
func load_localized_document(base_name: String) -> String:
|
||||
var locale := TranslationServer.get_locale().substr(0, 2)
|
||||
var localized_path := "res://Resources/documents/%s_%s.txt" % [base_name, locale]
|
||||
var fallback_path := "res://Resources/documents/%s.txt" % base_name
|
||||
if FileAccess.file_exists(localized_path):
|
||||
return load_text_file(localized_path)
|
||||
return load_text_file(fallback_path)
|
||||
|
||||
|
||||
func load_text_file(path: String) -> String:
|
||||
var file = FileAccess.open(path, FileAccess.READ)
|
||||
var content = file.get_as_text()
|
||||
return content
|
||||
if file == null:
|
||||
return ""
|
||||
return file.get_as_text()
|
||||
|
||||
Reference in New Issue
Block a user