56 lines
1.2 KiB
GDScript
56 lines
1.2 KiB
GDScript
extends Tabs
|
|
|
|
var locale
|
|
|
|
signal locale_changed()
|
|
|
|
|
|
func _ready():
|
|
find_node("server_addr").set_text(game_server.get_server_addr())
|
|
find_node("api_addr").set_text(game_server.get_api_addr())
|
|
_init_locales()
|
|
|
|
|
|
func apply():
|
|
config.set_value("system","locale",locale)
|
|
var server_addr = find_node("server_addr").get_text()
|
|
if server_addr.empty():
|
|
server_addr = game_server.SERVER_ADDR
|
|
config.set_value("system","server_addr",server_addr)
|
|
|
|
var api_addr = find_node("api_addr").get_text()
|
|
if api_addr.empty():
|
|
api_addr = game_server.API_ADDR
|
|
config.set_value("system","api_addr",api_addr)
|
|
|
|
|
|
func _on_locales_item_selected(index):
|
|
match index:
|
|
0:
|
|
locale = "en"
|
|
1:
|
|
locale = "de"
|
|
_:
|
|
locale = "en"
|
|
TranslationServer.set_locale(locale)
|
|
emit_signal("locale_changed")
|
|
|
|
|
|
func _init_locales():
|
|
var locales = find_node("locales")
|
|
locales.clear()
|
|
locales.add_item(tr("LOCALE_EN"))
|
|
locales.add_item(tr("LOCALE_DE"))
|
|
locale = config.get_value("system","locale","en")
|
|
match locale:
|
|
"en":
|
|
locales.select(0)
|
|
_on_locales_item_selected(0)
|
|
"de":
|
|
locales.select(1)
|
|
_on_locales_item_selected(1)
|
|
|
|
|
|
func _on_system_settings_menu_tree_exiting():
|
|
config_apply.apply_locale()
|